Parser for iCalendar Events • PHP 8+, 7 (≥ 7.4), 5 (≥ 5.6)
### PHP Version 8.3 ### PHP date.timezone UTC ### ICS Parser Version 3.4.1 ### Operating System Linux ### Description There seems an issue with Microsoft ICS. The original event and the recurrent event are displayed both the same day. It is hard to explain, so I will copy a comment from WordPress plugin which use your library and had fixed the issue. > Note: This handling addresses an issue with, at least, Outlook/Office 365, where an individual instance that deviates from the recurrence rules appears in the array, *in addition to* the regular (but, in this instance, incorrect) rules. Each recurrence in the array can be identified by the 'uid' key. The individual instances that deviate are identified by 'recurrence_id', which is absent in the event entry that follows the normal rule. Therefore, we look for instances of 'recurrence_id', find the corresponding 'uid', and then look through all other events for the date for an instance that includes 'uid' but *not* 'recurrence_id'. This may also be an issue with the ICS Parser library, in that it does not seem aware of this handling in Office 365. https://plugins.trac.wordpress.org/browser/ics-calendar/tags/11.4.2/class-r34ics.php#L2079 Indeed, their code seems to fix the problem, but it would be better if the correction were made in the library itself. ### Steps to Reproduce use this ics : ``` BEGIN:VCALENDAR METHOD:PUBLISH PRODID:Microsoft Exchange Server 2010 VERSION:2.0 X-WR-CALNAME:Calendrier BEGIN:VTIMEZONE TZID:W. Europe Standard Time BEGIN:STANDARD DTSTART:16010101T030000 TZOFFSETFROM:+0200 TZOFFSETTO:+0100 RRULE:FREQ=YEARLY;INTERVAL=1;BYDAY=-1SU;BYMONTH=10 END:STANDARD BEGIN:DAYLIGHT DTSTART:16010101T020000 TZOFFSETFROM:+0100 TZOFFSETTO:+0200 RRULE:FREQ=YEARLY;INTERVAL=1;BYDAY=-1SU;BYMONTH=3 END:DAYLIGHT END:VTIMEZONE BEGIN:VEVENT DESCRIPTION:\n\n RRULE:FREQ=WEEKLY;UNTIL=20251227T100000Z;INTERVAL=1;BYDAY=SA;WKST=MO EXDATE;TZID=W. Europe Standard Time:20240622T110000,20240629T110000,2024070 6T110000,20240713T110000,20240720T110000,20240727T110000,20240803T110000,2 0240810T110000,20240817T110000,20240824T110000,20240831T110000,20241109T11 0000,20250118T110000,20250607T110000,20250621T110000,20250628T110000,20250 705T110000,20250712T110000,20250719T110000,20250726T110000,20250802T110000 ,20250809T110000,20250816T110000,20250823T110000 SUMMARY:Original event DTSTART;TZID=W. Europe Standard Time:20240106T110000 DTEND;TZID=W. Europe Standard Time:20240106T154500 UID:040000008200E00074C5B7101A82E0080000000070DA31F8B807D301000000000000000 010000000667540225DDB1D4F8518AF19275345F7 CLASS:PUBLIC PRIORITY:5 DTSTAMP:20250102T152009Z TRANSP:OPAQUE STATUS:CONFIRMED SEQUENCE:0 LOCATION: X-MICROSOFT-CDO-APPT-SEQUENCE:0 X-MICROSOFT-CDO-BUSYSTATUS:BUSY X-MICROSOFT-CDO-INTENDEDSTATUS:BUSY X-MICROSOFT-CDO-ALLDAYEVENT:FALSE X-MICROSOFT-CDO-IMPORTANCE:1 X-MICROSOFT-CDO-INSTTYPE:1 X-MICROSOFT-DISALLOW-COUNTER:FALSE END:VEVENT BEGIN:VEVENT DESCRIPTION:\n\n SUMMARY:Recurrent event DTSTART;TZID=W. Europe Standard Time:20250104T110000 DTEND;TZID=W. Europe Standard Time:20250104T154500 UID:040000008200E00074C5B7101A82E0080000000070DA31F8B807D301000000000000000 010000000667540225DDB1D4F8518AF19275345F7 RECURRENCE-ID;TZID=W. Europe Standard Time:20250104T000000 CLASS:PUBLIC PRIORITY:5 DTSTAMP:20250102T152009Z TRANSP:OPAQUE STATUS:CONFIRMED SEQUENCE:0 LOCATION: X-MICROSOFT-CDO-APPT-SEQUENCE:0 X-MICROSOFT-CDO-BUSYSTATUS:BUSY X-MICROSOFT-CDO-INTENDEDSTATUS:BUSY X-MICROSOFT-CDO-ALLDAYEVENT:FALSE X-MICROSOFT-CDO-IMPORTANCE:1 X-MICROSOFT-CDO-INSTTYPE:3 X-MICROSOFT-DISALLOW-COUNTER:FALSE END:VEVENT END:VCALENDAR ```  Result : there are two events instead of one.
This issue appears to be discussing a feature request or bug report related to the repository. Based on the content, it seems to be still under discussion. The issue was opened by ajoah and has received 1 comments.