diff --git a/api/generate.php b/api/generate.php index a9f5245..f08c0a9 100644 --- a/api/generate.php +++ b/api/generate.php @@ -391,6 +391,19 @@ function pruneSpecialCourses($schedules, $courseGroups) { $courseGroupsByCourseId = array(); $courseSet = array(); + + // Check to make sure schedule wont exceed 10,000 options + $totalSchedules = 1; + for($i = 1; $i <= $_POST['courseCount']; $i++) { + if(!isset($_POST["courses{$i}Opt"])) { continue; } + $totalSchedules *= count($_POST["courses{$i}Opt"]); + } + if ($totalSchedules >= 10000){ + echo json_encode(array("error" => "argument", "msg" => "Too many schedule possibilities to generate, try to remove classes from your shopping cart. + Adding classes like YearOne or classes with hundreds of sections can cause this to occur.", "arg" => "action")); + break; + } + for($i = 1; $i <= $_POST['courseCount']; $i++) { // It's 1-indexed... :[ // Iterate over the courses in that course slot if(!isset($_POST["courses{$i}Opt"])) { continue; } diff --git a/tools/Parser.php b/tools/Parser.php index 65a6fbf..60ba062 100644 --- a/tools/Parser.php +++ b/tools/Parser.php @@ -293,4 +293,4 @@ function procInstrArray(array $lineSplit): array { $lineSplit[4] = str_pad($lineSplit[4], 2, '0', STR_PAD_LEFT); return $lineSplit; } -} \ No newline at end of file +} diff --git a/tools/processDump.php b/tools/processDump.php index dcee835..6e6a63c 100644 --- a/tools/processDump.php +++ b/tools/processDump.php @@ -299,8 +299,8 @@ $row['course_descrlong'] = mysqli_real_escape_string($dbConn, $row['course_descrlong']); // Insert or update the course - $courseId = $parser->insertOrUpdateCourse($row['qtr'], $row['acad_org'], $row['subject'], $row['catalog_nbr'], - $row['units'], $row['descr'], $row['course_descrlong']); + @$courseId = $parser->insertOrUpdateCourse($row['qtr'], $row['acad_org'], $row['subject'], $row['catalog_nbr'], + (int)$row['units'], $row['descr'], $row['course_descrlong']); if (!is_numeric($courseId)) { echo(" *** Error: Failed to update {$row['qtr']} {$row['subject']}-{$row['catalog_nbr']}\n"); echo(" ");