lochmueller / calendarize

📆 Best TYPO3 Calendar ever 📆
http://typo3.org/extensions/repository/view/calendarize
74 stars 84 forks source link

Indexer aborts on events without title / summary #742

Closed albig closed 1 year ago

albig commented 1 year ago

We noticed an edge case, when events in ICS-files have no SUMMARY property, the indexer aborts with an exception.

[ TYPO3\CMS\Core\Error\Exception ]
Warning: mb_stripos(): Empty delimiter in /var/www/html/src/public/typo3conf/ext/calendarize/Classes/Service/IndexerService.php line 226

This seems to be allowed. E.g. on Nextcloud it is possible create such events.

Example:

https://dadu.eu/remote.php/dav/public-calendars/45gobZBpnpEjk4tr/?export

BEGIN:VCALENDAR
VERSION:2.0
CALSCALE:GREGORIAN
PRODID:-//SabreDAV//SabreDAV//EN
X-WR-CALNAME:demo calendar (albig)
X-APPLE-CALENDAR-COLOR:#3C6EBA
REFRESH-INTERVAL;VALUE=DURATION:PT4H
X-PUBLISHED-TTL:PT4H
BEGIN:VEVENT
CREATED:20230331T144450Z
DTSTAMP:20230331T151003Z
LAST-MODIFIED:20230331T151003Z
SEQUENCE:4
UID:7248535b-cc13-46b4-a090-62a1958b0657
DTSTART;VALUE=DATE:20230419
DTEND;VALUE=DATE:20230420
STATUS:CONFIRMED
DESCRIPTION:event without title / summary
END:VEVENT
END:VCALENDAR

On https://icalendar.org/validator.html this ICalendar the validation is successfully.

I will propose a fix later.