u01jmg3 / ics-parser

Parser for iCalendar Events • PHP 8+, 7 (≥ 7.4), 5 (≥ 5.6)
MIT License
453 stars 145 forks source link

Handle case of RRULE:COUNT=1 #294

Closed s0600204 closed 2 years ago

s0600204 commented 2 years ago

MS Outlook, as reported in #293, may in some cases reduce the COUNT stanza of an RRULE to 1.

(Whilst not disallowed in the RFC5545 spec (or any of its errata to date), having a COUNT of 1 has no practical purpose that I can see.)

We currently only check we've reached the count-limit after we've generated the first few recurrences of an event and - more pressingly - after we've appended the first candidate to the array of generated recurrences.


In the solution presented in this PR, PHP_MAX_INT could be replaced with some suitable user-settable default number, akin to the current defaultSpan property used to put an upper limit on UNTIL. But that's perhaps something for another PR.