Skip to content

Commit

Permalink
Revert "Bug: 14453 Limit addCoverDates to the $endDate."
Browse files Browse the repository at this point in the history
This reverts commit 7695fc4.

This isn't correct. Setting $endDate to $event->end defeats the purpsose
of this change when polling for alarms but removing that line
will no longer return multi-day events that start before $startDate
when no $endDate is provided.

Not sure what the solution is here since when polling alarms we
don't want an end date - no way of knowing the longest alarm interval
that we have.

Perhaps always limiting to some unrealistic time frame like 10 years
would be sufficient for protecting against memory limits while still
allowing reasonable alarm intervals to be supported?
  • Loading branch information
mrubinsk committed Aug 26, 2016
1 parent 7695fc4 commit 4bd7428
Showing 1 changed file with 6 additions and 8 deletions.
14 changes: 6 additions & 8 deletions kronolith/lib/Kronolith.php
Expand Up @@ -377,7 +377,7 @@ public static function addEvents(&$results, &$event, $startDate, $endDate,
$event->start->month,
$event->start->mday)) {
if ($coverDates) {
self::addCoverDates($results, $event, $event->start, $event->end, $json, null, null, $endDate);
self::addCoverDates($results, $event, $event->start, $event->end, $json);
} else {
$results[$event->start->dateString()][$event->id] = $json ? $event->toJson() : $event;
}
Expand Down Expand Up @@ -419,7 +419,7 @@ public static function addEvents(&$results, &$event, $startDate, $endDate,
$addEvent->start = $addEvent->originalStart = $next;
$addEvent->end = $addEvent->originalEnd = $nextEnd;
if ($coverDates) {
self::addCoverDates($results, $addEvent, $next, $nextEnd, $json, null, null, $endDate);
self::addCoverDates($results, $addEvent, $next, $nextEnd, $json);
} else {
$addEvent->start = $next;
$addEvent->end = $nextEnd;
Expand Down Expand Up @@ -523,8 +523,8 @@ public static function addEvents(&$results, &$event, $startDate, $endDate,
}
}

self::addCoverDates($results, $event, $eventStart,
$eventEnd, $json, $originalStart, $originalEnd, $endDate);
Kronolith::addCoverDates($results, $event, $eventStart,
$eventEnd, $json, $originalStart, $originalEnd);
}
}
ksort($results);
Expand All @@ -547,17 +547,15 @@ public static function addEvents(&$results, &$event, $startDate, $endDate,
* event spanning multiple days.
*/
public static function addCoverDates(&$results, $event, $eventStart,
$eventEnd, $json, $originalStart = null, $originalEnd = null, Horde_Date $endDate = null)
$eventEnd, $json, $originalStart = null, $originalEnd = null)
{
$loopDate = new Horde_Date(array(
'month' => $eventStart->month,
'mday' => $eventStart->mday,
'year' => $eventStart->year)
);
$allDay = $event->isAllDay();
$endDate = empty($endDate) ? $eventEnd : $endDate;
while ($loopDate->compareDateTime($eventEnd) <= 0 &&
$loopDate->compareDateTime($endDate) <= 0) {
while ($loopDate->compareDateTime($eventEnd) <= 0) {
if (!$allDay ||
$loopDate->compareDateTime($eventEnd) != 0) {
$addEvent = clone $event;
Expand Down

0 comments on commit 4bd7428

Please sign in to comment.