WebsiteBaker Community Forum

WebsiteBaker Support (2.13.x) => General Help & Support => Hilfe & Support (deutsch) => Topic started by: sabo-! on February 15, 2023, 03:10:04 PM

Title: Fehler bei Update database::escapeString(): Argument #1 ($unescaped_string)
Post by: sabo-! on February 15, 2023, 03:10:04 PM
Hallo,

bei einem Update von 2.13.0+RC1 (r27) auf  2.13.3 (r166) kommt folgende Fehlermeldung:

Step 15 : Reload all addons database entry (no upgrade)
TRUNCATE addons table
Languages reloaded
Modules reloaded
There was an uncatched exception
database::escapeString(): Argument #1 ($unescaped_string) must be of type string, null given, called in /is/htdocs/wp12557350_YG8VF5W0ZN/www/framework/functions.php on line 1143
in line (257) of (/framework/class.database.php):

Für Hilfe wäre ich dankbar.

Viele Grüße
Sabo
Title: Re: Fehler bei Update database::escapeString(): Argument #1 ($unescaped_string)
Post by: sternchen8875 on February 15, 2023, 03:25:41 PM
Ist ein Fehlen des Wertes $template_function in den info.php deiner installierten Frontend-Templates. (ggf ein Template von Chio dabei?)

bitte mal in diese info.php reinschauen und wenn diese nachfolgende Definition nicht dabei ist, dann bitte nachtragen. Die Position dieses Eintrages dort spielt keine Rolle

Code: [Select]
$template_function = 'template';
(https://i.gyazo.com/6813b663df93d4c43a24b6fcb2016f31.png)

Empfehlung hinterher: das Upgradescript noch einmal starten. Wenn die Seite mit der Ausgabe noch offen ist, dann mit einem Reload oder F5 oder STRG + F5
Ist man schon im Backend, dann über das Info-Fenster (i-Button)
Title: Re: Fehler bei Update database::escapeString(): Argument #1 ($unescaped_string)
Post by: sabo-! on February 15, 2023, 04:58:35 PM
Hallo,
vielen Dank für den Hinweis.
Die fehlende Zeile habe ich eingefügt, die Fehlermeldung erscheint dann leider immer noch.
Title: Re: Fehler bei Update database::escapeString(): Argument #1 ($unescaped_string)
Post by: Luisehahne on February 15, 2023, 05:10:09 PM
Laut der Fehlerzeile scheint beim besagtem modul  in der info.php auch die Variable $template_version  ebefalls zu fehlen

Bitte überprüfen,

Werde auch mal schauen, ob ich detailierte Fehlermeldung mit mehr Infos erzeugen kann.

Dietmar
Title: Re: Fehler bei Update database::escapeString(): Argument #1 ($unescaped_string)
Post by: sabo-! on February 15, 2023, 09:26:16 PM
Die Datei sieht so aus:

https://gyazo.com/08c8ad9805d1cf7e3c399d6819d9d0de (https://gyazo.com/08c8ad9805d1cf7e3c399d6819d9d0de)

Mit fällt auf, dass jetzt nach dem abgebrochenen Update im Backend unter Optionen gar kein Template mehr wählbar ist.

https://gyazo.com/54276589e4e0e0159124fe1a36010d07 (https://gyazo.com/54276589e4e0e0159124fe1a36010d07)

Wenn ich auf den kleinen Pfeil in der Zeile klicke, ist nichts da, was ausgewählt werden könnte. Aber die Dateien befinden sich auf dem Server.
Title: Re: Fehler bei Update database::escapeString(): Argument #1 ($unescaped_string)
Post by: sternchen8875 on February 16, 2023, 01:28:18 AM
Zum Abschluß liest das "große" Upgradescript die Addons ein und aktualisiert deren Einträge in der Datenbank. Zuerst die Sprachen, dann die Module und abschließend die Templates. Sprachen und Module waren schon fertig sagt dein Text im Eingangs-Post.

Es geht also um die Templates. Das UpgradeScript ändert dabei nichts, löscht auch nichts, es liest "nur" die Daten aus der info.php der einzelnen, alphabethisch aufgereihten template-Ordner und das eben Ordner für Ordner. Ich glaube, das das Script mit Auftreten der Fehlermeldung abgebrochen ist und für dieses erste Template keine Daten geschrieben hat. Da es ein WB-Upgrade war, kann man annehmen, das diese vorhandenen Templates  bereits in der addons-Tabelle registriert waren. Dann würde auch im Falle eine Abbruchs eigentlich nichts passieren, weil ja nur vorhandene Werte aktualisiert werden.


Pro Template sind max 9 Einträge möglich. Einer davon ('type') wird von WB ausgefüllt. $template_license und $template_function werden, wenn nicht aus der info.php kommend, mit Standardwerten belegt, bleiben noch 6 Pflichtangaben, die jedes Template mitbringen muß plus $template_license und $template_function
Pflichtangaben zu:
$template_name
$template_version
$template_directory

$template_platform oder (alt) $template_designed_for
$template_description
$template_author


beim im Bild gezeigten Template fehlt noch $template_platform. Der Wert kennzeichnet die WB-Version, ab der dieses Template lauffähig ist, z.B. der Eintrag '2.13.0'.

Bitte korrigieren und dann erneut einlesen, entweder durch erneuten Start des UpgradeScriptes (i-Button) oder über Erweiterungen -> Erweitert -> Haken bei Designvorlagen -> Neu Laden

Ich hoffe, das Bild 2 korrigiert sich mit einem erfolgreichen Datenabgleich von allein

Title: Re: Fehler bei Update database::escapeString(): Argument #1 ($unescaped_string)
Post by: ruebenwurzel on February 16, 2023, 06:54:59 AM
Hallo,

bitte bei allen deinen Templates im Templateordner prüfen ob in der info.php der einzelnen Templates alle relevanten Zeilen vorhanden sind. Wie sternchen8875 geschrieben hat geht der script durch den gesamten Ordner. Wenn bei allen Templates alle erforderlichen Infos hinterlegt sind, sollte das upgrade fehlerfrei durchlaufen.

Matthias
Title: Re: Fehler bei Update database::escapeString(): Argument #1 ($unescaped_string)
Post by: sabo-! on February 16, 2023, 12:18:51 PM
Hallo,

das Einfügen der Zeile $template_platform in der info.php im Template hat das Problem gelöst und der erneute Start des Updates verlief ohne Fehlermeldung.

Vielen Dank!
Sabo
Title: Re: Fehler bei Update database::escapeString(): Argument #1 ($unescaped_string)
Post by: sternchen8875 on February 16, 2023, 12:23:11 PM
eine Frage noch
im Screenshot schaut es so aus als sei diese info.php nicht etwa uralt und die verwendeten Einträge lassen vermuten, das es bereits überarbeitet ist. Stammt dieses Template eventuell von der WB-Template-Seite. Falls JA, bitte mal den Namen angeben, das man dies korrigieren kann
Title: Re: Fehler bei Update database::escapeString(): Argument #1 ($unescaped_string)
Post by: hgs on February 16, 2023, 01:13:05 PM
Guter Hinweis (Y)
Das Template  fruesteg habe ich auf der Seite schon erneuert
Title: Re: Fehler bei Update database::escapeString(): Argument #1 ($unescaped_string)
Post by: sabo-! on February 17, 2023, 04:18:29 PM
Das Template wurde 2016 erstellt. Es stammt aber nicht von der WB-Template-Seite.
Nochmal danke für Eure schnelle Hilfe!
Title: Re: Fehler bei Update database::escapeString(): Argument #1 ($unescaped_string)
Post by: sternchen8875 on February 17, 2023, 04:27:05 PM
Danke für die Rückantwort  (Y)
Title: Re: Fehler bei Update database::escapeString(): Argument #1 ($unescaped_string)
Post by: hgs on February 18, 2023, 10:24:29 AM
Willst du es der Allgemeinhaeit über die Template-Seite (https://template.WebsiteBaker.org) zur Verfügung stellen?