[Tickets #4290] NEW: Recuring (not-full-day) events seems to break FreeBusy

bugs@bugs.horde.org bugs at bugs.horde.org
Mon Aug 14 05:38:01 PDT 2006


DO NOT REPLY TO THIS MESSAGE. THIS EMAIL ADDRESS IS NOT MONITORED.

Ticket URL: http://bugs.horde.org/ticket/?id=4290
-----------------------------------------------------------------------
 Ticket             | 4290
 Created By         | horde at addelei.nu
 Summary            | Recuring (not-full-day) events seems to break FreeBusy
 Queue              | Kronolith
 Version            | 2.1.2
 Type               | Bug
 State              | Unconfirmed
 Priority           | 2. Medium
 Owners             | 
+New Attachment     | event.ics
-----------------------------------------------------------------------


horde at addelei.nu (2006-08-14 05:38) wrote:

Adding a recurring event, in this case a one-hour event each day from
August 14:th to August 18:th, seems to break Freebusy by completely
filling the person's calendar.

Looking at the code, it seems that the startdate on recurring events
returned by Kronolith::listEvents (called in lib/Kronolith.php at line
822*) is set to the last day after the recursion end, while enddate is set
to the original end date (as set in the calendar). This makes $duration
(lib/Kronolith.php, line 852) negative - effectively filling the
calendar.

For debugging, I've added the following right after the calculation if
$duration:
<code>
if ($duration < 0) print_r($event);
</code>

With the attached event.ics file, I get five Kronolith_Event_sql objects,
one for each day the event is recurring (the $day variable, line 846, is
correctly set). On each object, the $start property is 2006-08-19 while
the $end property is 2006-08-14. Based on the following code (including
the comment "Make sure that we're using the current date for recurring
events", I would guess that the $start property should have been
2006-08-14 instead.

I've tried to trace the error backwards to Kronolith::listEvents, but I
seem to get lost in the code.

* All line numbers might be slightly off since I've been adding and
removing lines consisting of debug-related print_r()'s!




More information about the bugs mailing list