Neu JTL Shop 5.2.2 includes/src/Router/Controller/Backend/CampainController.php

WACOR GmbH

Aktives Mitglied
4. Januar 2021
72
12
Hi,
Wenn man sich in 5.2.2 seine Kampagnen ansehen will, wirft der CampaignController einen Fehler... PHP 8.1.20

Wie kann es sein, dass sich für Fehler die harte 500er werfen noch keinen Hot-Patch für den Core gibt? Das ist ja nicht der einzige Cast-Fehler im Core.
Wann wird Version 5.2.3 erscheinen? (Wo diese Basics hoffentlich behoben und ein ordentliches Code Review durchgeführt worden ist)


Code:
[Thu Jun 22 11:30:29.498578 2023] [proxy_fcgi:error] [pid 432308:tid 139921132222208] [client 80.153.129.17:0] AH01071: Got error 'PHP message: PHP Fatal error:  Uncaught TypeError: lang_bestellstatus(): Argument #1 ($state) must be of type int, string given, called in /var/www/vhosts/wacor.de/httpdocs/includes/src/Router/Controller/Backend/CampaignController.php on line 833 and defined in /var/www/vhosts/domain.de/httpdocs/includes/sprachfunktionen.php:131\nStack trace:\n#0 /var/www/vhosts/domain.de/httpdocs/includes/src/Router/Controller/Backend/CampaignController.php(833): lang_bestellstatus()\n#1 /var/www/vhosts/domain.de/httpdocs/includes/src/Router/Controller/Backend/CampaignController.php(235): JTL\\Router\\Controller\\Backend\\CampaignController->getDefDetailStats()\n#2 /var/www/vhosts/domain.de/httpdocs/includes/src/Router/Strategy/SmartyStrategy.php(40): JTL\\Router\\Controller\\Backend\\CampaignController->getResponse()\n#3 /var/www/vhosts/domain.de/httpdocs/includes/vendor/league/route/src/Route.php(167): JTL\\Router\\Strategy\\SmartyStrategy->invokeRouteCallable()\n#4 /var/www/vhosts/domain.de/httpdocs/includes/vendor/league/route/src/Dispatch...', referer: https://domain.de/admin/campaign

Ich habe das Problem wie folgt gefixed:

~ Zeile 833:
Code:
if ($item->cStatus !== 'n.v.') {
                        $item->cStatus = \lang_bestellstatus($item->cStatus);
                    }

Code:
if ($item->cStatus !== 'n.v.') {
                        // HIE: Cast-Error gepatched (int)-Cast
                        $item->cStatus = \lang_bestellstatus((int)$item->cStatus);
                    }
 

IceZan

Aktives Mitglied
4. Dezember 2021
9
1
Hallo zusammen,
ich habe ein ähnliches Problem... Folgende Fehler werden beim aufrufen der Kampagnen im Shop Backend ausgegeben. (Seite bleibt weiß)


Code:
AH01071: Got error 'PHP message: PHP Warning: Undefined array key 1 in /home/users/xxx/www/xxx/includes/src/Router/Controller/Backend/CampaignController.php on line 410;
PHP message: PHP Fatal error: Uncaught TypeError: JTL\\Router\\Controller\\Backend\\CampaignController::sortDesc():
Argument #2 ($b) must be of type int, null given in /home/users/xxx/www/xxx/includes/src/Router/Controller/Backend/CampaignController.php:465
Stack trace:
#0 [internal function]: JTL\\Router\\Controller\\Backend\\CampaignController->sortDesc()
#1 /home/users/xxx/www/xxx/includes/src/Router/Controller/Backend/CampaignController.php(415): uasort()
#2 /home/users/xxx/www/xxx/includes/src/Router/Controller/Backend/CampaignController.php(170): JTL\\Router\\Controller\\Backend\\CampaignController->getStats()
#3 /home/users/xxx/www/xxx/includes/src/Router/Controller/Backend/CampaignController.php(145): JTL\\Router\\Controller\\Backend\\CampaignController->stepOverview()
#4 /home/users/xxx/www/xxx/includes/src/Router/Controller/Backend/CampaignController.php(128): JTL\\Router\\Controller\\Backend\\CampaignController->handleStep()
#5 /home/users/xxx/www...', referer: https://xxx/admin/


Das "INT" Problem konnte ich durch bearbeiten der Zeile 413 und 415 von ...

Code:
if ($this->campaignViewConfiguration->cSort === 'ASC') {
            \uasort($sort, $this->sortAsc(...));
        } else {
            \uasort($sort, $this->sortDesc(...));
        }

... auf ...

Code:
if ($this->campaignViewConfiguration->cSort === 'ASC') {
            \uasort(((int)$sort), $this->sortAsc(...));
        } else {
            \uasort(((int)$sort), $this->sortDesc(...));
        }

... beheben

Jetzt blieb dann nur noch dies übrig...

Code:
AH01071: Got error 'PHP message: PHP Warning: Undefined array key 1 in /home/users/xxx/www/xxx/includes/src/Router/Controller/Backend/CampaignController.php on line 410;
PHP message: PHP Fatal error: Uncaught Error: uasort(): Argument #1 ($array) could not be passed by reference in /home/users/xxx/www/xxx/includes/src/Router/Controller/Backend/CampaignController.php:415
Stack trace:
#0 /home/users/xxx/www/xxx/includes/src/Router/Controller/Backend/CampaignController.php(170): JTL\\Router\\Controller\\Backend\\CampaignController->getStats()
#1 /home/users/xxx/www/xxx/includes/src/Router/Controller/Backend/CampaignController.php(145): JTL\\Router\\Controller\\Backend\\CampaignController->stepOverview()
#2 /home/users/xxx/www/xxx/includes/src/Router/Controller/Backend/CampaignController.php(128): JTL\\Router\\Controller\\Backend\\CampaignController->handleStep()
#3 /home/users/xxx/www/xxx/includes/src/Router/Strategy/SmartyStrategy.php(42): JTL\\Router\\Controller\\Backend\\CampaignController->getResponse()
#4 /home/users/xxx/www/xxx/includes/vendor/league/route/src/Route.php(167): JTL\\Router\\Strategy\\SmartyStrategy-...', referer: https://xxx/admin/


Leider ist nicht viel zu diesem Thema zu finden. Daher würde ich mich über ein wenig Unterstützung freuen.

Viele Grüße
Daniel


Shop 5.4.0
 
Zuletzt bearbeitet:

NoOne

Sehr aktives Mitglied
16. März 2024
569
189
Das bleibt nicht übrig, das hast du durch die Änderung selbst verursacht. $sort (das ist Argument #1 für uasort) war nicht das Problem, sondern Argument #2 ($b), das an die Callback-Funktion übergeben wird (in dem Fall sortDesc). Und das Problem hier ist auch nicht ein falscher Datentyp, sondern dass NULL übergeben wird. Höchstwahrscheinlich wird das Array ($sort) leer sein. Das könnte passieren, wenn es in tkampagnevorgang Einträge gibt, deren Wert für kKampagne nicht im gleichnamigen Feld in tkampagne zu finden ist. Sprich: Es sind Daten für eine Kampagne vorhanden, die eigentlich nicht mehr existiert.
 

IceZan

Aktives Mitglied
4. Dezember 2021
9
1
Danke für den Hinweis...
Ich hab die ein oder andere Testkampagne gelöscht und habe jetzt natürlich eine Lücke in der Datenbank. (Sorry bin da auch nicht der Experte)
Nun... jetzt stelle ich mir die total blöde Frage, ob Kampagnen gelöscht werden sollten?!
Für mich sollte dadurch kein Fehler kommen.

Wie komme ich nun an die Kampagnen, bzw wie kann ich dieses "$sort" davon überzeugen nicht leer zu sein.

Grüße
 

NoOne

Sehr aktives Mitglied
16. März 2024
569
189
Normalerweise werden auch alle Vorgänge in tkampagnevorgang gelöscht, wenn eine Kampagne gelöscht wird. Probleme kanns da aber immer geben. Ggf. werden noch Vorgänge der alten Kampagne gespeichert, wenn Nutzer noch mit einer entsprechenden Session unterwegs sind. Dann landet das vermutlich mit kKampagne = 0 in tkampagnevorgang, weil die dazugehörige Kampagne eigentlich nicht mehr existiert. Du könntest also mal in tkampagnevorgang schauen, ob es da Einträge mit kKampagne=0 gibt. Und die im Zweifel alle löschen. Aber nicht ohne Backup!
 
Zuletzt bearbeitet:

IceZan

Aktives Mitglied
4. Dezember 2021
9
1
Es befindet sich ein Eintag in tkampagnenvorgang mit kKampagne = 0

kampagne.jpg

kKampagnenVorgang scheint wohl eine fortlaufende Nummer zu sein.. Gäbe es da Probleme, wenn dort eine Lücke entsteht?

Die Restlichen kKampagnen nummern sind zuordenbar in der tkampagne

Nach dem löschen, bleibt die Seite trotzdem noch weiß, mit dem gleichen Fehler wie oben beschreiben.
 

NoOne

Sehr aktives Mitglied
16. März 2024
569
189
kKampagngenVorgang ist ein AutoIncrement. Lücken dort sind egal. Nach einer Datenbankänderung aber auch immer den Cache leeren.
 

IceZan

Aktives Mitglied
4. Dezember 2021
9
1
Eintrag ist gelöscht, Cache geleert und die Seite bleibt weiterhin weiß. Fehlermeldung wie gehabt.
 

IceZan

Aktives Mitglied
4. Dezember 2021
9
1
Hallo NoOne,

Ich würde mich gerne bei dir bedanken. Irgendwie hat es jetzt doch zu einem Ergebnis geführt.
Ich habe die Zeilen der CampaignController.php wieder in den Originalzustand gebracht:

Code:
if ($this->campaignViewConfiguration->cSort === 'ASC') {
            \uasort($sort, $this->sortAsc(...));
        } else {
            \uasort($sort, $this->sortDesc(...));
        }

Und nach einem erneuten leeren des Caches war die Kampagnen Seite wieder erreichbar.



Ich wünsche dir / euch einen guten Rutsch ins neue Jahr!

Beste Grüße
Daniel
 

John

Sehr aktives Mitglied
3. März 2012
4.028
1.011
Berlin
...ich hatte das Problem auch eben bei einem Kunden.

Einträge in tkampagnevorgang mit einer kKampagne, die in tKampagne nicht mehr definiert war.
Backup der Tabelle, Einträge gelöscht, Cache gelöscht, geht wieder...Danke!
 
Ähnliche Themen
Titel Forum Antworten Datum
JTL Shop 4 Upgrade auf 5.5.0 --> Fehler 500 Upgrade JTL-Shop4 auf JTL-Shop5 3
JTL Shop 4 Upgrade auf 5.5.0 --> Fehler 404 Upgrade JTL-Shop4 auf JTL-Shop5 11
Neu JTL Shop 5 und Klarna Plugins für JTL-Shop 0
Neu JTL Shop 5.7 - Widerrufsbutton im B2B Templates für JTL-Shop 13
Neu Dropdown jtl shop länge einstellen Allgemeine Fragen zu JTL-Shop 2
JTL-Shop 5.7.0 Widerrufsbutton Einrichtung JTL-Shop5 9
Neu JTL Shop Template Snackys Bildgrößen einstellen Templates für JTL-Shop 1
Neu JTL-Shop 5.7 - Aktuell 5.7.1 Releaseforum 1
Neu Gratisgeschenke im JTL Shop nicht wirklich nutzerfreundlich. Allgemeine Fragen zu JTL-Shop 4
Neu Eigene Artikel Felder im JTL Shop anzeigen lassen User helfen Usern - Fragen zu JTL-Wawi 4
Neu Hilfe bei der Entwicklung gesucht: Werde Tester für meine JTL-Shop Plugins Plugins für JTL-Shop 0
Neu JTL-Shop "Plugin-Vorlage" gesucht User helfen Usern 3
Neu JTL - Shop Adressprüfung - Erfahrungen ? Allgemeine Fragen zu JTL-Shop 2
Neu Wo ist JTL-Debug geblieben? Shopvariablen beim Shop-/Templateentwicklung sichtbar machen? Plugins für JTL-Shop 10
Neu Alte Produktbilder erscheinen im JTL-Shop trotz Löschung und neuem Upload immer wieder – JTL-Wawi enthält nur neue Bilder JTL-Wawi - Fehler und Bugs 16
Neu JTL Shop 5 Sync in JTL WAWI 2.0.0 zeigt Verbindungstest Fehlermeldung Onlineshop-Anbindung 4
Neu Rechnung im JTL Shop Kundenkonto Onlineshop-Anbindung 1
Neu Strukturierte Daten vom Typ "Produkt" werden nach Update auf JTL Shop 5.6.1 nur fehlerhaft erkannt JTL-Shop - Fehler und Bugs 3
Neu Wero für den JTL Shop? Plugins für JTL-Shop 21
Neu JTL-Shop Verkauf - Tipps? Business Jungle 5
Neu Kategoriestruktur auf JTL-Wawi in WooCommerce Shop darstellen WooCommerce-Connector 2
Neu DSGVO – Automatisierte Löschung von Kundendaten nach 10 Jahren (JTL-Wawi / JTL-Shop) User helfen Usern - Fragen zu JTL-Wawi 2
Artikel Eigene Felder kommen nur beim ersten Shopabgleich in den JTL-Shop JTL-Wawi 1.11 2
Neu welche Sync Benutzer Daten in Shop und WAWI bei neu-Hosting über JTL Allgemeine Fragen zu JTL-Shop 0
welche Sync Benutzer Daten in Shop und WAWI bei neu-Hosting über JTL JTL-Wawi 1.11 0
Neu OPC friert beim speichern von Änderungen ein nach JTL-Shop Update von Version 5.1.5 auf 5.6.1 JTL-Shop - Fehler und Bugs 6
Neu WaWi - JTL Shop - Kein Abgleich des Artikelnamen möglich Onlineshop-Anbindung 1
Neu Wawi Synchronisation mit JTL Shop nicht möglich! seit 3 Stunden was kann man machen? Onlineshop-Anbindung 1
Neu jtl POS und wawi 1.11.9 Bestände User helfen Usern - Fragen zu JTL-Wawi 3
Neu JTL-Anmerkungen nicht in POS-Comments übertragen Allgemeine Fragen zu JTL-POS 1
Neu JTL-Wawi mit Claude, ChatGPT, Openclaw/Hermes oder CRM System verbinden User helfen Usern 2
Hat schon jemand auf JTL 2.0.2 installieren? JTL-Wawi 2.0 9
Neu Shopware 5 + JTL-Connector: sporadische 500 Fehler / PHP-FPM Limit erreicht – trotz unverändertem Setup User helfen Usern - Fragen zu JTL-Wawi 0
Neu Komplettkündigung durch JTL - Neukunde User helfen Usern 4
Neu ❓JTL Wawi Update von 1.8 auf ??? User helfen Usern - Fragen zu JTL-Wawi 1
JTL Artikel-Maske leer/verschoben (1.11.7) JTL-Wawi 1.11 2
Ebay angebote lassen sich nicht mehr bei JTL bearbeiten JTL-Wawi 2.0 0
Using short screen recordings for JTL-Wawi workflow documentation – anyone doing this? JTL-Wawi 2.0 3
JTL-Wawi 1.11.7 Sporadischer Fehler - Zugriff verweigert. JTL-Wawi 1.11 0
Neu JERA Fehlerhafte Belege / Konfiguration JTL Steuertabelle User helfen Usern - Fragen zu JTL-Wawi 1
Neu JTL Wawi Einloggen geht nicht!! User helfen Usern - Fragen zu JTL-Wawi 4
Sanktionsprüfung mit JTL JTL-Wawi 1.10 0
Neu Gutscheincodes aus Shopware 6 in JTL Wawi als Anmerkung zeigen? Shopware-Connector 0
Neu Database connection timeouts and interface lag in JTL-Wawi with background script managers User helfen Usern 0
Welche JTL Version aktuell am sinnvollsten JTL-Wawi 1.11 14
Neu Versandkostenersparnis mit JTL-Shipping: Vergünstigte Versandlabels ohne individuelle Rahmenverträge mit Versanddienstleistern User helfen Usern - Fragen zu JTL-Wawi 1
Neu product_visibility bei JTL-Wawi und Shopware 6 Shopware-Connector 1
Probleme mit Worker und JTL-App JTL-Wawi 2.0 4
Neu Probleme mit Import Datenbank vom Server auf lokal JTL-Wawi 2.0 User helfen Usern - Fragen zu JTL-Wawi 4
JTL Ameise fehlt im Programm x86 JTL-Wawi 2.0 3

Ähnliche Themen