Hallo @hschottm und ggf. Mitentwickler,
nachdem die Kombination ContaoManager <-> PHP 7.4 bei meinem Hoster nicht ordentlich funktioniert (7.3 geht), "musste" ich auf PHP 8 wechseln.
Dabei ist aufgefallen, dass die Erweiterung - ich verwende sie gefühlt "schon immer" (seit Typolight, jetzt mit Contao 4.9) - nicht zu PHP 8 kompatibel ist. Es ist aber dem Anschein nach leicht, sie anzupassen:
undCode:$ 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);Mehr Stellen gibt es wohl nicht.Code:$ 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));
(Ich habe, damit das diff "hübscher" ist, noch einen Umbruch in Zeile 39 entfernt.)
Die Funktion join() ist ein Alias auf implode(). Ich deute das so: 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
Viele Grüße
purzel

Zitieren

- Hoffentlich richtig gemacht.
