Skip to content

Commit 818eb66

Browse files
authored
Merge pull request #159 from devinmatte/develop
Adding check to prevent generating 10000 Schedules
2 parents 613893e + 1ae6d8f commit 818eb66

File tree

1 file changed

+13
-0
lines changed

1 file changed

+13
-0
lines changed

api/generate.php

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -391,6 +391,19 @@ function pruneSpecialCourses($schedules, $courseGroups) {
391391
$courseGroupsByCourseId = array();
392392

393393
$courseSet = array();
394+
395+
// Check to make sure schedule wont exceed 10,000 options
396+
$totalSchedules = 1;
397+
for($i = 1; $i <= $_POST['courseCount']; $i++) {
398+
if(!isset($_POST["courses{$i}Opt"])) { continue; }
399+
$totalSchedules *= count($_POST["courses{$i}Opt"]);
400+
}
401+
if ($totalSchedules >= 10000){
402+
echo json_encode(array("error" => "argument", "msg" => "Too many schedule possibilities to generate, try to remove classes from your shopping cart.
403+
Adding classes like YearOne or classes with hundreds of sections can cause this to occur.", "arg" => "action"));
404+
break;
405+
}
406+
394407
for($i = 1; $i <= $_POST['courseCount']; $i++) { // It's 1-indexed... :[
395408
// Iterate over the courses in that course slot
396409
if(!isset($_POST["courses{$i}Opt"])) { continue; }

0 commit comments

Comments
 (0)