diff --git a/inc/class.schedule.php b/inc/class.schedule.php --- a/inc/class.schedule.php +++ b/inc/class.schedule.php @@ -389,18 +389,19 @@ class Schedule } /* very late / very early classes */ - while ($meeting->getEndTime() > $max_time) + while ((int)ltrim($meeting->getEndTime(), '0') > $max_time) { - $max_time = sprintf("%04d", $max_time + 30); - while (substr($max_time, -2) >= 60) - $max_time = sprintf("%02d%02d", substr($max_time, 0, 2) + 1, substr($max_time, -2) - 60); + $max_time += $max_time + 30; + while ($max_time % 100 >= 60) + $max_time += 40; /* + 100 - 60 */ $time[] = $max_time; } - while ($meeting->getStartTime() < $min_time) + while ((int)ltrim($meeting->getStartTime(), '0') < $min_time) { - if (substr($min_time, -2) < 30) - $min_time = sprintf("%02d%02d", substr($min_time, 0, 2) - 1, substr($min_time, -2) + 60); - $min_time = sprintf("%04d", $min_time - 30); + $max_time += 30; + while ($min_time % 100 < 30) + $min_time -= 40; /* + 60 - 100 */ + $min_time -= 30; $time[] = $min_time; $sort_time = TRUE; }