1 / 8
Dec 2023

Beim Anlegen eines neuen Kontaktes via CardDav kommt es zu dieser Fehlermeldung im EGW-Log (Docker):

PHP Fatal error: Declaration of EGroupware\Api\Contacts\JsContact::UTCDateTime($date) must be compatible with EGroupware\Api\CalDAV\JsBase::UTCDateTime($date, bool $user = false) in /usr/share/egroupware/api/src/Contacts/JsContact.php on line 1077" while reading response header from upstream, client:

M.E. spricht der Fehler für sich, so dass ihr wohl keine weiteren Daten braucht.
Ein “Quick Fix”, aber ja sicher nicht nachhaltig:
In JsContact.php die Dekaklaration und Aufruf umbenennen in (z.B.) UTCDateTimes

Also ziemlich sicher ein leicht zu behebender Fehler im Code.

Danke!

  • created

    Dec '23
  • last reply

    Dec '23
  • 7

    replies

  • 813

    views

  • 4

    users

  • 5

    links

Hi mako.

Naja… Wenigstens deinen Client(+Version)?

Stefan

Das Verhalten war identisch mit Thunderbird 115.6.0 unter Win10Pro und ContactSyncPro unter Android.
Ich bin was PHP angeht nur Laie, aber irgendwie sieht das ja IMHO eher so aus, als sei das Problem unabhängig vom Client, sondern eher die Folge einer strikteren Handhabung durch PHP bei inkompatiblen Signaturen in Methoden von “extended” Klassen.

Ja, Ihr braucht den oben angegebenen Patch. Da hatte sich leider mit den Arbeiten an der Stundenzettel REST API ein Fehler eingeschlichen …

Ralf

Danke! Gibt es einen Weg, den Patch in einer EGW-Docker-Installation einlaufen zu lassen oder müsste ich das manuell in der betroffenen PHP-Datei umsetzen?
VG / mako

Gibt eine (ausführliche) Anleitung hier im Forum.

Generell ist es ganz einfach, für ein nicht-JavaScript File:

curl https://github.com/EGroupware/egroupware/commit/1b85a9dd5ba527b0221a95aef21a30be48e469be.patch | docker exec -i egroupware patch -p1 -d /usr/share/egroupware
docker exec -it egroupware kill -s usr2 1

Wenn es dann für Dich tut, musst Du den Patch noch restart-fest machen:

curl https://github.com/EGroupware/egroupware/commit/1b85a9dd5ba527b0221a95aef21a30be48e469be.patch | docker exec -i egroupware patch -p1 -d /usr/share/egroupware-sources

Ralf