$ diff CalendarImport.php.orig CalendarImport.php
39c39
< $arrCalendars = $this->Database->prepare("SELECT id FROM tl_calendar WHERE id IN (" . join($arrCalendars, ',') . ") AND ical_source = ?")
---
> $arrCalendars = $this->Database->prepare("SELECT id FROM tl_calendar WHERE id IN (" . join(',', $arrCalendars) . ") AND ical_source = ?")
839c839
< $arrFields['cep_participants'] = join($attendees, ',');
---
> $arrFields['cep_participants'] = join(',', $attendees);
854c854
< $arrFields['cep_contact'] = join($contacts, ',');
---
> $arrFields['cep_contact'] = join(',', $contacts);
$ diff ContentICal.php.orig ContentICal.php
94c94
< $this->Template->href = $this->addToUrl("ical=" . join($arrCalendars, ',') . "&title=" . urlencode($this->strTitle));
---
> $this->Template->href = $this->addToUrl("ical=" . join(',', $arrCalendars) . "&title=" . urlencode($this->strTitle));
Es dürfte aber leicht zu korrigieren sein.
Die Funktion join() ist ein Alias auf implode(). Die Parameter dürfen bereits seit PHP4 vertauscht sein und müssen es seit PHP8; siehe https://www.php.net/manual/de/function.implode.php
und
Siehe auch https://community.contao.org/de/showthread.php?82244-die-Erweiterung-und-PHP-8