Ich denke, ich habe die Ursache für das unterschiedliche Verhalten gefunden: Bei der Template-Konfiguration werden die Daten "einfach" so evaluiert, im Editor, Vorschau und Webseite werden sie mit stripslashes behandelt.
Außerdem ist der Modul-Code zu beachten (das hatte ich beim Beispiel übersehen). Wenn beispielsweise ein Modul die Eingabezeile so erzeugt:
Code: Alles auswählen
echo '
<tr><td class="text_medium" style="padding:5px;">'.mi18n("Überschrift").': </td></tr>
<tr><td style="padding:5px;"><input type="text" name="CMS_VAR[4]" value="CMS_VALUE[4]"></td></tr>';
Bei Eingabe von "Test" wird in der DB \"Test\" gespeichert und man bekommt im Konfigurationsfenster dabei das oben erwähnte Input-Feld (nur ein \ im Feld). Gleichzeitig führt dies zu einem Parse-Error im Editor und in der Vorschau, da vor der eigentlichen Modul-Code-Ausführung intern Variablen deklariert werden:Parse error: parse error, unexpected T_STRING, expecting ',' or ';' in
Code: Alles auswählen
<?php $C15CMS_VALUE[1]="57"; $C15CMS_VALUE[3]="sortdate"; $C15CMS_VALUE[16]="asc"; $C15CMS_VALUE[4]=""Test""; $C15CMS_VALUE[14]=""; $C15CMS_VALUE[13]="true"; $C15CMS_VALUE[15]="10"; $C15CMS_VALUE[17]="yes"; ?>
Vermutlich die Template-Klasse sorgt dann wieder dafür, dass \"Test\" zu "Test" auf der Webseite wird.
Langer Rede kurzer Sinn: Das addslashes ist nicht so aufregend, da es nur die Ausgabe betrifft und nur etwas nochmal mit Slashes versieht, was ohnehin schon über Slashes verfügt. Aber eigentlich müsste man sich im Detail nochmal ansehen, was auf beiden Seiten (Konfiguration/Ausgabe) passiert.
Für einen Augenblick zurückgestellt...
Gruß
HerrB