Ergebnis 1 bis 28 von 28

Thema: [gelöst] Erweiterung funktioniert nicht mehr mit PHP ^8.0

  1. #1
    Contao-Nutzer
    Registriert seit
    10.08.2009.
    Beiträge
    68

    Standard [gelöst] Erweiterung funktioniert nicht mehr mit PHP ^8.0

    Nach einem Upgrade von 4.9.x auf 4.13.15 funktioniert der Code nicht mehr bei PHP 8.0 oder höher.
    Nach Entfernen der Calender Extended läuft Contao wieder normal.

    Hat sich schon jemand gefunden diese Erweiterung weiter zu pflegen? Oder kann mir bei diesem Fehler weiterhelfen?

    Folgender Fehler wird protokolliert:
    [2023-02-02T08:29:43.929879+01:00] request.CRITICAL: Uncaught PHP Exception TypeError: "date(): Argument #2 ($timestamp) must be of type ?int, string given" at /homepages/32/d650190606/htdocs/echt/vendor/kmielke/calendar-extended-bundle/src/Resources/contao/classes/EventsExt.php line 421 {"exception":"[object] (TypeError(code: 0): date(): Argument #2 ($timestamp) must be of type ?int, string given at /homepages/32/d650190606/htdocs/echt/vendor/kmielke/calendar-extended-bundle/src/Resources/contao/classes/EventsExt.php:421)
    Geändert von hpt (03.02.2023 um 15:09 Uhr)

  2. #2
    Contao-Fan Avatar von dtptiger
    Registriert seit
    20.06.2009.
    Ort
    Nürnberg
    Beiträge
    830

    Standard

    "cgoit/calendar-extended-bundle" ist als 8.0 definiert und installiert auch.
    In ca. 2-3 Stunden weiß ich ob die alten "kmielke/calendar-extended-bundle" Tabellen freundlich mit denen neuen "cgoit" sprechen. Ich hoffe ja sehr

  3. #3
    Contao-Fan Avatar von dtptiger
    Registriert seit
    20.06.2009.
    Ort
    Nürnberg
    Beiträge
    830

    Standard Funktioniert mit Mariadb und PHP 8.2

    @Kester: vielen Dank für die galante Extension die unseren Tangokalender lange Jahre begleitet hat
    @cgolt: vielen Dank für die Übername der Wartung der Extension von Kester
    Geändert von dtptiger (02.02.2023 um 20:01 Uhr)

  4. #4
    Contao-Nutzer
    Registriert seit
    10.08.2009.
    Beiträge
    68

    Standard

    Vielen Dank für die Info ....

    bei https://www.muetterzentrum-march-reute.de/ funktioniert es auch mit PHP 8.1. Ist aber eine komplette Neuinstallation. Kann es daran liegen?

    Problem ist bei https://www.hscf.de/ . Beide bei 1&1 Ionos.
    Wer hat noch eine Idee?

  5. #5
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    35.517
    Partner-ID
    10107

    Standard

    Du musst cgoit/calendar-extended-bundle installieren.
    » sponsor me via GitHub or PayPal or Revolut

  6. #6
    Contao-Nutzer
    Registriert seit
    10.08.2009.
    Beiträge
    68

    Standard

    Habe cgoit/calendar-extended-bundle installiert.

    Es kommt der gleiche Fehler wie bei kmielke.

    [2023-02-03T09:21:43.941817+01:00] request.INFO: Matched route "tl_page.131.root". {"route":"tl_page.131.root","route_parameters":{"_ token_check":true,"_controller":"Contao\\FrontendI ndex::renderPage","_scope":"frontend","_locale":"d e","_format":"html","_canonical_route":"tl_page.13 1","parameters":"","pageModel":{"Contao\\PageModel ":[]},"_route":"tl_page.131.root","_route_object":{"Sy mfony\\Component\\Routing\\Route":[]}},"request_uri":"https://test1.hscf.de/","method":"GET"} []
    [2023-02-03T09:21:43.959667+01:00] security.INFO: Populated the TokenStorage with an anonymous Token. [] []
    [2023-02-03T09:21:44.203759+01:00] request.CRITICAL: Uncaught PHP Exception TypeError: "date(): Argument #2 ($timestamp) must be of type ?int, string given" at /homepages/32/d650190606/htdocs/test1/vendor/cgoit/calendar-extended-bundle/src/Resources/contao/classes/EventsExt.php line 428 {"exception":"[object] (TypeError(code: 0): date(): Argument #2 ($timestamp) must be of type ?int, string given at /homepages/32/d650190606/htdocs/test1/vendor/cgoit/calendar-extended-bundle/src/Resources/contao/classes/EventsExt.php:428)"} []

    Mit einer leeren Installationsdatenbank funkioniert die Erweiterung und das System, erst nach Importieren meiner EchtDB von Version 4.9.38 läuft das System nicht mehr.
    Wenn ich die Erweiterung wieder deinstalliere ohne DB Anpassung, läuft das System wie gewohnt.
    Irgendwie passt EventsExt.php nicht zu meinen DB Einträgen?!
    Geändert von hpt (03.02.2023 um 15:08 Uhr)

  7. #7
    Contao-Nutzer
    Registriert seit
    10.08.2009.
    Beiträge
    68

    Standard

    Hallo ...,

    es muss an meinen eigenen Events in der Datenbank liegen. Wenn ich bei Events diesen Bereich komplett lösche, funktioniert alles wie gewünscht!
    Jetzt gilt es nur noch den korrupten Datensatz zu finden. Hat da jemand eine gute Idee?

  8. #8
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    35.517
    Partner-ID
    10107

    Standard

    Das muss in der Extension angepasst werden. Die Extension muss sicherstellen, dass die date Funktion einen integer bekommt - auch wenn aus der Datenbank bspw. ein String returned wird.
    » sponsor me via GitHub or PayPal or Revolut

  9. #9
    Contao-Nutzer
    Registriert seit
    10.08.2009.
    Beiträge
    68

    Standard

    Habe den Fehler bei einem Event gefunden. Es konnte ohne Datum gespeichert werden. Warum auch immer. Das war das Problem!

    Contao_Event.png
    Geändert von hpt (03.02.2023 um 15:10 Uhr)

  10. #10
    Contao-Nutzer
    Registriert seit
    20.01.2022.
    Beiträge
    205

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Das muss in der Extension angepasst werden. Die Extension muss sicherstellen, dass die date Funktion einen integer bekommt - auch wenn aus der Datenbank bspw. ein String returned wird.
    Habe nun auch einmal die cgoit/calendar-extended-bundle installiert.
    Mit eben dem selben Fehler wie oben schon einmal von jemanden beschrieben:

    PHP-Code:
    2023-09-21T15:35:16.590737+02:00request.CRITICALUncaught PHP Exception TypeError"date(): Argument #2 ($timestamp) must be of type ?int, string given" at /var/www/vhosts/vendor/cgoit/calendar-extended-bundle/src/Resources/contao/classes/EventsExt.php line 428 {"exception":"[object] (TypeError(code: 0): date(): Argument #2 ($timestamp) must be of type ?int, string given at /var/www/vhosts/vendor/cgoit/calendar-extended-bundle/src/Resources/contao/classes/EventsExt.php:428)"} [] 
    dieser Fehler tritt ja auch bei calendar_extended auch

    Gibt es dafür noch keinen Fix, den man verwenden kann?
    Als entweder für die cgoit-Variante oder die calendar_extended_bundle.

    Und löst man das direkt in der Extension? Dann sind alle Änderungen nach einem Update wieder weg?

    Schwierig. Die calendar_extended wird ja offenbar auch oft verwendet.

    Danke für Tipps


    Thomas

  11. #11
    Community-Moderatorin & Contao-Urgestein Avatar von mlweb
    Registriert seit
    10.07.2011.
    Beiträge
    7.080
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Zumindestens für das Original kmielke /calendar-extended-bundle wurde ja ein neuer Maintainer gesucht https://community.contao.org/de/show...uer-Maintainer . Da wird wohl nicht mehr allzuviel passieren. Vielleicht ein PR zum Thema machen.
    Ich habe Dir mit meinen Hinweisen geholfen und Du möchtest Dich bedanken?
    Unterstütze bitte das Contao-Projekt (Button Links)
    Weitere Spendenmöglichkeiten
    ------------------------------------------------------------------------------------------------------
    Contao-Dokumentation: Contao-Handbuch und Contao-Entwickler-Doku
    Contao-Online-Video-Kurse: Contao Academy
    Funktionalität erweitern: Contao-Erweiterungen

    Für Dinge die man mit html5 und css3 lösen kann, braucht man kein javascript.




  12. #12
    Contao-Nutzer
    Registriert seit
    20.01.2022.
    Beiträge
    205

    Standard

    Ja, ich meine auch eher, dass Leute, die die Erweiterung im Einsatz haben, dass die Ihre Änderungen evtl. zur Verfügung stellen könnten.

    Die calendar_extended_bundle hatte ich soweit schonmal im Test, dass ich mir die EventsExt.php auch schonmal angepasst hatte, allerdings hatte ich den Eindruck, dass die Erweiterung zum einen auch im Backend manchmal "zickte" - da gingen einzelne Bereiche für die Wiederholungen nicht sofort auf, wenn man auf die Checkbox klckte.

    Zum anderen hatte ich nach der Übernahme aus einem Contao 3 Projekt bei einigen EventListen das Problem, dass plötzlich gar keine Events mehr aufgelistet worden sind, trotz der gleichen Modul-Einstellungen.
    Das geht dann schon sehr tief in die Analyse und da muss man dann evtl. auch die SQL Statements anschauen, ob die richtig erstellt werden oder ob da was fehlt ...

    Die Erweiterung ist halt schon ziemlich gut und auch komplex und momentan geht aber weder diese noch die von cgoit, leider

    --------------------

    ich ändere mir die EventsExt.php bei der cgoit Variante mal ab und schau mal, ob das bei mir Veränderungen im FE bei den betreffenden Listen zeigt.
    Ansonsten weiss ich da gerade nicht weiter, eim komplettes Fixen erscheint bei mir gerade zeitlich nicht möglich.

    Aber falls jemand eine von beiden Erweiterungen ohne viel EigenCode funktionsfähig im Einsatz hat, würde ich das gerne einmal mit so einer angepassten Erweiterung testen.

    Vielen Dank


    Thomas

  13. #13
    Contao-Nutzer
    Registriert seit
    20.01.2022.
    Beiträge
    205

    Standard

    Die Anzeige von Terminen krieg ich gelöst, aber wie in einem anderen Thread schon kurz angerissen, die Option im Module:

    Verkürzte Darstellung (Wiederholungen)
    Events nur einmal anzeigen, auch wenn wiederholt werden.

    wird m.E. im calender_extended_bundle in kmielke und im cgoit falsch interpretiert.
    Wenn die Option ausgewählt ist, wird gar kein Event in der Eventliste angezeigt.

    Wenn die Option nicht ausgewählt ist, dann kommen die Events, aber dann halt auch doppelt und dreifach, wegen der Wiederholungen.

    Und ich weiss z.B. nicht, wo die Option aus dem FE Module im "Holen" der Events angewandt wird, dann könnte ich das evtl. sogar anpassen.
    Obwohl eine "leere" Liste bei ausgewählter Option sicher auch noch auf einen anderen Bug hinweist.

  14. #14
    Contao-Nutzer
    Registriert seit
    20.01.2022.
    Beiträge
    205

    Standard

    Gibt es niemanden, der die calendar_extended selbst gefixt im Einsatz hat (und zur Verfügung stellen kann)

    Bzw. kann mir jemand sagen, ob ich hier mit meiner Vermutung richtig liege?



    Verkürzte Darstellung (Wiederholungen)
    Events nur einmal anzeigen, auch wenn wiederholt werden.

    wird m.E. im calender_extended_bundle in kmielke und im cgoit falsch interpretiert.
    Wenn die Option ausgewählt ist, wird gar kein Event in der Eventliste angezeigt.

  15. #15
    Contao-Nutzer Avatar von mschindler
    Registriert seit
    25.08.2011.
    Ort
    Bad Feilnbach
    Beiträge
    193
    Partner-ID
    7698

    Standard

    Ich habe cgoit/calendar-extended-bundle bei Webgo mit PHP 8.1 am laufen. Vorher war auch kmielke/calendar-extended-bundle im Einsatz.

    Bei mir in dem Projekt war das Problem das Datensätze im Bereich "Unregelmäßige Wiederholungen" neu gespeichert werden mussten.

    Teste das doch mal mit einen neuen Archiv und 1-3 frisch angelegten Events.
    Contao Partner aus Rosenheim und München
    codesache.de
    ---
    Mitglied der Contao Community Bayern
    Aktuelle Termine zur Contao Community Bayern: contao-bayern.de

  16. #16
    Contao-Nutzer
    Registriert seit
    20.01.2022.
    Beiträge
    205

    Standard

    Klappt bei mir leider nicht, ich bin wieder auf kmielke umgestiegen.

    Was mir aber aufgefallen ist:

    eine Event-Liste aus "allen zukünfigen Events" + der Option "Verkürzte Darstellung (Wiederholungen)" klappt nach wie vor nicht.

    1. Die Gruppierung für "verkürzte Darstellung" ist nicht drin
    2. werden bei vielen Events mit auch sehr vielen Events offenbar in der DB Abfrage so viele Events geladen, dass es absolut ewig dauert.

    Eine einschränkung auf "zukünftige Events + 2 Jahre" bringt schon etwas, aber die Funktionalität der Event-Liste ist m.E. nicht korrekt.

  17. #17
    Contao-Fan Avatar von Grossvater
    Registriert seit
    20.02.2013.
    Beiträge
    509

    Standard

    Ich konnte sämtliche Probleme mit "Undefined array key" mit ?? null in der Extension lösen.

    Soll ich dafür einen Pull-Request machen machen?
    Geändert von Grossvater (16.12.2023 um 10:02 Uhr)

  18. #18
    Alter Contao-Hase Avatar von kmielke
    Registriert seit
    21.06.2009.
    Beiträge
    1.173

    Standard

    Moin zusammen,

    ich habe mal eine neue Version mit zwei PRs veröffentlicht. Ich hoffe, es hilt dem Einen oder Anderem.
    Gruß Kester

    Kein Support via PN ohne vorherige Absprache.

  19. #19
    Contao-Nutzer
    Registriert seit
    06.02.2014.
    Beiträge
    61

    Standard

    Vielen Dank für die Änderungen! Damit läuft die Erweiterung bei mir auch unter PHP 8.1


    Bei der Version 1.0.24 gibt es wie in der alten 1.0.22 noch einen Bug: Erstellt man ein Event und richtet Unregelmäßige Wiederholungen ein (z.B. für morgen als Ausgangsevent oben und dann vier aufeinander folgende Tage bei den Unregelmäßigen Wiederholungen weiter unten) und löscht dann das erste Element der Wiederholungen, dann verschwindet im Frontend auch das letzte Element der Wiederholungen, obwohl es im Backend noch steht. Ähnliches passiert, wenn man andere Elemente aus der Liste löscht.

    @Kester: Vielen Dank für die Entwicklung der Kalender-Erweiterung! Hat uns viele Jahre gute Dienste geleistet.

    Mein erster Versuch mit cgoit/calendar-extended-bundle hat nicht funktioniert. Da muss ich noch mal ran.
    Geändert von JvH (05.01.2024 um 01:07 Uhr)

  20. #20
    Contao-Nutzer
    Registriert seit
    06.02.2014.
    Beiträge
    61

    Standard

    So, ich habe jetzt die cgoit/calendar-extended-bundle installiert und gleichzeitig kmielke/calendar-extended-bundle deinstalliert. Installation hat ohne Probleme funktioniert, die bestehenden Kalender werden (soweit ich das sehe) korrekt angezeigt.

    Um den Bug, den ich im vorherigen Beitrag beschrieben habe, mit cgoit zu überprüfen, habe ich das bestehende Test-Event (ein Grund-Event + 4 unregelmäßige Wiederholungen) geöffnet und die erste der Wiederholungen gelöscht. Beim Speichern kommt eine Fehlerseite "Internal Server Error" und
    date(): Argument #2 ($timestamp) must be of type ?int, string given.

    Um auszuschließen, dass es am bestehenden Event liegt, habe ich ein neues Event mit der gleichen Struktur angelegt. Auch da gibt das Löschen der ersten Wiederholung und Abspeichern diese Fehlermeldung.

    Löschen der letzten Wiederholung und Abspeichern funktioniert. Löschen der zweiten und abspeichern funktioniert nicht - ich vermute, es geht nur bei der letzten.

  21. #21
    Contao-Fan Avatar von Grossvater
    Registriert seit
    20.02.2013.
    Beiträge
    509

    Standard

    Wieso installierst du zwei Extensions die das gleiche tuen?

    Ich weiß nicht wo im Einzelnen die Unterschiede der beiden Extensions sind... die haben aber teilweise den gleichen Unterbau

  22. #22
    Community-Moderatorin & Contao-Urgestein Avatar von mlweb
    Registriert seit
    10.07.2011.
    Beiträge
    7.080
    Contao-Projekt unterstützen

    Support Contao

    Standard

    @Grossvater
    Zitat Zitat von JvH Beitrag anzeigen
    So, ich habe jetzt die cgoit/calendar-extended-bundle installiert und gleichzeitig kmielke/calendar-extended-bundle deinstalliert.
    Ich habe Dir mit meinen Hinweisen geholfen und Du möchtest Dich bedanken?
    Unterstütze bitte das Contao-Projekt (Button Links)
    Weitere Spendenmöglichkeiten
    ------------------------------------------------------------------------------------------------------
    Contao-Dokumentation: Contao-Handbuch und Contao-Entwickler-Doku
    Contao-Online-Video-Kurse: Contao Academy
    Funktionalität erweitern: Contao-Erweiterungen

    Für Dinge die man mit html5 und css3 lösen kann, braucht man kein javascript.




  23. #23
    Contao-Nutzer
    Registriert seit
    28.02.2012.
    Ort
    Kleinostheim
    Beiträge
    199

    Standard

    Hi @JvH,

    Zitat Zitat von JvH Beitrag anzeigen
    So, ich habe jetzt die cgoit/calendar-extended-bundle installiert und gleichzeitig kmielke/calendar-extended-bundle deinstalliert. Installation hat ohne Probleme funktioniert, die bestehenden Kalender werden (soweit ich das sehe) korrekt angezeigt.

    Um den Bug, den ich im vorherigen Beitrag beschrieben habe, mit cgoit zu überprüfen, habe ich das bestehende Test-Event (ein Grund-Event + 4 unregelmäßige Wiederholungen) geöffnet und die erste der Wiederholungen gelöscht. Beim Speichern kommt eine Fehlerseite "Internal Server Error" und
    date(): Argument #2 ($timestamp) must be of type ?int, string given.

    Um auszuschließen, dass es am bestehenden Event liegt, habe ich ein neues Event mit der gleichen Struktur angelegt. Auch da gibt das Löschen der ersten Wiederholung und Abspeichern diese Fehlermeldung.

    Löschen der letzten Wiederholung und Abspeichern funktioniert. Löschen der zweiten und abspeichern funktioniert nicht - ich vermute, es geht nur bei der letzten.
    ich weiß, dass es schon lange her ist, als du das geschrieben hast. Ich habe, nach Rücksprache mit @kmielke, angefangen die Erweiterung etwas auf links zu drehen und in dem Zuge auch für Contao 5 fit zu machen. Das wird noch etwas dauern, aber ich werde mir dabei auch mal genau den von dir beschriebenen Fall anschauen.

    lg
    oetzi

  24. #24
    Contao-Nutzer
    Registriert seit
    28.02.2012.
    Ort
    Kleinostheim
    Beiträge
    199

    Standard Version 2.0.0 - Tester gesucht

    Hi @all,

    ich habe mich nun - wie angekündigt - einmal der Erweiterung angenommen und sie dabei ziemlich refactored. Daher und weil auch einige Funktionen nun nicht mehr unterstützt werden, ist es eine Version 2.0.0 geworden. Diese sollte sich unter Contao 4 und 5 nutzen lassen. Da sich im Hintergrund der Ansatz, wie mit den erweiterten Einstellungen zu Wiederholungen umgegangen werden soll, komplett geändert hat, empfehle ich einen Test der neuen Version in einer Testumgebung. Details zu den Änderungen finden sich auf Github in der README.md.

    Bei Fragen, Anmerkungen oder Fehlern am Besten direkt ein Issue auf GitHub aufmachen. Da bekomme ich es am ehesten mit.

    lg
    oetzi

  25. #25
    Contao-Fan
    Registriert seit
    20.10.2014.
    Beiträge
    497

    Standard

    Erstmal vielen Dank, dass du dich der tollen Erweiterung angenommen hast.
    Bin gerade am testen und habe festgestellt das endDate wenn leer immer als startDate gespeichert wird. Ist das so gewollt?

  26. #26
    Contao-Nutzer
    Registriert seit
    28.02.2012.
    Ort
    Kleinostheim
    Beiträge
    199

    Standard

    Hi,

    Zitat Zitat von marcohe Beitrag anzeigen
    Erstmal vielen Dank, dass du dich der tollen Erweiterung angenommen hast.
    Bin gerade am testen und habe festgestellt das endDate wenn leer immer als startDate gespeichert wird. Ist das so gewollt?
    ich vermute mal, du meinst damit, dass für das endDate immer der Wert aus dem Feld startDate gesetzt wird, oder? Wenn ja... es war zumindest in der alten Implementierung auch so. Man kann das sicherlich auch rausnehmen, aber dann müsste ich mal schauen, wo man im Code entsprechende Prüfungen einbauen muss. Das wird durchaus häufig verwendet.

  27. #27
    Contao-Fan
    Registriert seit
    20.10.2014.
    Beiträge
    497

    Standard

    Zitat Zitat von oetzi Beitrag anzeigen
    ich vermute mal, du meinst damit, dass für das endDate immer der Wert aus dem Feld startDate gesetzt wird, oder?
    Genau
    Zitat Zitat von oetzi Beitrag anzeigen
    Wenn ja... es war zumindest in der alten Implementierung auch so
    Nein zumindest nicht in der Version die ich verwendet habe.

    Aber im Prinzip schadet es auch nicht wenn endDate = startDate automatisch gesetzt wird

  28. #28
    Contao-Fan
    Registriert seit
    12.04.2011.
    Ort
    Hamburg
    Beiträge
    540

    Standard

    Huhu,

    habe die Erweiterung cgoit/calendar-extended-bundle gerade in Contao 5.3.8 installiert. Die unregelmäßigen Wiederholungstermine werden leider nicht gespeichert. D.h. ich gebe ein Datum ein (egal ob manuell oder das Kalendertool), klicke auf speichern, und dann ist der Eintrag verschwunden/ das Feld wieder leer.
    Ich habe nach der Installation die Datenbank aktualisiert und den Cache erneuert... kann ich sonst noch irgendwas tun, um das zu beheben?

    Herzlichen Dank...

    Edit 20240628: AHH! Hab gesehen, dass es Updates gab! Herrlich, jetzt funktioniert alles! :-)
    Ganz tolle Arbeit, herzlichen Dank!
    Geändert von pipkin (28.06.2024 um 20:03 Uhr)

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •