[dev] Infinite loops in Kronolith with certain recurring events.
Michael Rubinsky
mrubinsk at horde.org
Sat Oct 18 20:42:55 UTC 2008
Quoting Michael Rubinsky <mrubinsk at horde.org>:
> Content-Type: text/plain;
> charset=ISO-8859-1;
> DelSp="Yes";
> format="flowed"
> Content-Disposition: inline
> Content-Transfer-Encoding: quoted-printable
>
>
> Ok. This was a royal PITA. This is what I found regarding the
> issues I was having with kronolith going into an endless loop with
> certain recurring events. It boils down to that fact that
> DateTime->format('W') returns the first week of the year for a date
> like 12/29/2008 so that when calculating the after_week and
> after_week_end values in nextRecurrnece() the after_week value is
> set to the first week of 2007. So the code chokes when calling
> nextRecurrence() with an after date of 12/29/08. Example code
> (basically code that is executed during nextRecurrence() and the
> methods it calls):
>
> <code>
> $after = new Horde_Date(array('year' => 2008, 'month' => 12, 'day' => 29));
> $dt = new DateTime();
> $dt->setDate($after->year, $after->month, $after->mday);
> $dt->setTime($after->hour, $after->min, $after->sec);
>
> //$weekNumber gets set to '01'
> $weekNumber = $dt->format('W');
>
> $after_week = Horde_Date::firstDayOfWeek($weekNumber, $after->year);
>
> echo $after_week;
>
> </code>
>
> outputs 12/31/2007 instead of expected 12/29/08 (since that date IS
> the start of the week).
>
> So, we need to check if the ->format('W') call rolls into the next
> year before we calculate $after_week. I'll keep at it....just glad
> I finally nailed what was going on after way too many hours of
> digging :)
>
This should be fixed by:
http://lists.horde.org/archives/cvs/Week-of-Mon-20081013/084429.html
Would appreciate more sets of eyes looking at this, I tested locally,
but want to make sure this will not cause any other problems that I'm
not seeing.
Thanks,
mike
--
The Horde Project (www.horde.org)
mrubinsk at horde.org
"Time just hates me. That's why it made me an adult." - Josh Joplin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: PGP Digital Signature
URL: <http://lists.horde.org/archives/dev/attachments/20081018/f237319d/attachment.bin>
More information about the dev
mailing list