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
8
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
484
167
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
8
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
484
167
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
8
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
484
167
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
8
1
Eintrag ist gelöscht, Cache geleert und die Seite bleibt weiterhin weiß. Fehlermeldung wie gehabt.
 

IceZan

Aktives Mitglied
4. Dezember 2021
8
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
 
Ähnliche Themen
Titel Forum Antworten Datum
Neu Bestellung aus JTL-Shop wird nicht in die Wawi übernommen Allgemeine Fragen zu JTL-Shop 1
Neu Nach Update auf JTL Shop 5.6.1 - Play/Pause Buttons im Layout!? Installation / Updates von JTL-Shop 4
Neu JTL Shop Mailversand geht nicht mehr - Address blicked Allgemeine Fragen zu JTL-Shop 5
Neu JTL-Shop: Veraltete URLs & Weiterleitungen in der Sitemap – wie lösen? Allgemeine Fragen zu JTL-Shop 0
Neu Coupon-Steuer Plugin: Korrekte Steuerberechnung für JTL-Shop Coupons Plugins für JTL-Shop 1
Neu 20.11.2025 Hosting JTL Shop Tod :+( Allgemeine Fragen zu JTL-Shop 15
Neu How to properly update order status through JTL Shop plugin? Allgemeine Fragen zu JTL-Shop 4
Neu Hohe CPU-last auf Shopserver - JTL Shop Query? Allgemeine Fragen zu JTL-Shop 9
Neu Dokumentation: Kundenverknüpfung JTL-Wawi (Version 1.10.15.0) zu JTL-Shop JTL-Shop 5.2 Onlineshop-Anbindung 0
Neu Preisfehler Anzeige JTL Shop 5 JTL-Shop - Fehler und Bugs 1
Neu 🚀 Pilotkunden gesucht: HS Dynamic Pricing Plugin für JTL-Shop Plugins für JTL-Shop 0
Neu Probleme bei WooCommerce JTL-Connector, keine Aktivierung möglich, Bestands-Shop lahmgelegt Onlineshop-Anbindung 0
Neu 🚀 JTL Shop Performance Check (Free): Kostenloses Plugin Plugins für JTL-Shop 0
Neu Downgrade von 3 JTL-Shop-Lizenzen auf 1 – Frage zur Umstellung der Domains User helfen Usern - Fragen zu JTL-Wawi 1
Neu JTL SHop 5.4 KAtegoriebild Allgemeine Fragen zu JTL-Shop 5
Neu Welcher Hoster ist für JTL-Shop 5 empfehlenswert? User helfen Usern 12
Neu Aktuellen JTL Shop installieren *Fehler* Installation / Updates von JTL-Shop 0
Neu JTL Shop Versand Preisstaffel mit negativen Werten?? Allgemeine Fragen zu JTL-Shop 0
Neu JTL Shop - OSS - Länderauswahl notwendig ?! JTL-Shop - Ideen, Lob und Kritik 1
Neu JTL Shop Brevo Plugin meldet keine Abmeldungen an JTL Shop + Kontakte landen nicht in der Willkommenssequenz Plugins für JTL-Shop 0
Neu Suche Freelancer für Aufsetzen JTL B2B Shop Dienstleistung, Jobs und Ähnliches 3
Neu JTL-Shop Admin Bereich und Shop nur noch 504 Gateway Time-out ( Hosting über JTL ) User helfen Usern - Fragen zu JTL-Wawi 4
Neu JTL-Shop 5.5.2 – Fehlerhafter Canonical-Tag im Blog-Template verhindert Indexierung durch Google JTL-Shop - Fehler und Bugs 2
Neu JTL Shop Update von 5.3.3 auf 5.6 mit der Community Free Edition - WaWi funktion weiter gegeben? User helfen Usern - Fragen zu JTL-Wawi 1
Neu JTL Shop - Rabatt pro Kunde möglich ? Allgemeine Fragen zu JTL-Shop 8
Neu JTL-Shop TECHNIK (SalePix) – Problem mit Render Blocking Requests User helfen Usern - Fragen zu JTL-Wawi 2
Neu Kategorierabatte pro Kunde im JTL-Shop Einrichtung von JTL-Shop4 2
Neu Tailwind als Basis für JTL Shop 6 ? Templates für JTL-Shop 2
Neu Gewinnbasierte Provision & gezielte Kunden-Zuordnung im JTL Shop / Wawi User helfen Usern 0
Neu Wie kommen die Versandarten aus JTL-Wawi in den JTL-Shop? Betrieb / Pflege von JTL-Shop 7
Neu JTL Shop - Umwandlung Domain von Test auf Live Allgemeine Fragen zu JTL-Shop 1
Neu Neues Plugin: JTL Closed Shop – Zugangsbeschränkung, Pre-Sale & Wartungsmodus für deinen JTL-Shop Plugins für JTL-Shop 2
Neu JTL-Shop 5.6 - Aktuell 5.6.1 Releaseforum 1
Neu Download-Artikel mit dem Download-Modul anbieten JTL SHOP Plugins für JTL-Shop 6
Neu Die folgenden Dateien sind nicht identisch mit den Dateien der aktuellen Version von JTL-Shop. Allgemeine Fragen zu JTL-Shop 0
Neu Auswahl im JTL Shop - keine Rechnung beilegen - wie in Wawi einlesen ? User helfen Usern - Fragen zu JTL-Wawi 6
Neu PromoBar-Portlet für JTL-Shop 5 – Aktionsleiste, Gutschein & Countdown Plugins für JTL-Shop 1
Neu JTL-Shop-Template Technik – optimiert für Performance & Conversion Templates für JTL-Shop 11
Neu GA4-Tracking für JTL-Shop 5 – sauberes E-Commerce & Kategoriepfade Plugins für JTL-Shop 1
Neu Artikelseiten 500 HTTP Fehler PayPal Plugin 2.1.0 JTL Shop 5.4.0 Plugins für JTL-Shop 4
Neu Rechnungsnummer an JTL-Shop übertragen Technische Fragen zu Plugins und Templates 0
Neu Kundenübernahme Shopware zu JTL Shop - Länderzuweisung User helfen Usern - Fragen zu JTL-Wawi 1
Angebot auf EBay erhält Netto Preise aus JTL eBay-Anbindung - Fehler und Bugs 2
Neu Update: JTL-Gambio-Connector Gambio-Connector 0
Neu JTL - Cloud-Lösung ? Smalltalk 0
Neu Wie verbanne ich Fremdsprachen-Anfragen aus der JTL-Search? Allgemeine Fragen zu JTL-Shop 0
Neu Export/Import aller Amazon Angebote über die JTL-Ameise JTL-Ameise - Fehler und Bugs 1
Neu 🚨 Hinweis für JTL-Händler, die Taxdoo nutzen News, Events und Umfragen 1
Neu Amazon VCS - JTL Wawi > 1.10 - Lexware: Suche Best Practice Amazon-Anbindung - Ideen, Lob und Kritik 1
JTL-WAWI teilweise extrem lahm JTL-Wawi 1.10 7

Ähnliche Themen