Fehlerhafte Client- & Sys-Settings
Fehlerhafte Client- & Sys-Settings
Ich habe gerade mal versucht folgende Tiny-Settings in den Mandanten einzusetzen:
Client-Settings:
Typ: tinymce
Name: template_templates
Wert: [ { title : "Editor Details", src : "editor_details.htm", description : "Adds Editor Name and Staff ID" }, { title : "Timestamp", src : "time.htm", description : "Adds an editing timestamp." } ]
Dabei ist mir aufgefallen das " ' \ zuganz harten Fehlern führen.
Aus \ wird \\\\ usw.
In den System-Settings fliege ich vollständig aus dem System wenn ich diese Einträge später noch mal ändern will (beim laden).
Hab jetzt bei mehreren Dingen schon ansätze doch die Vergangenheit hat gezeigt das an meinen Lösungen noch Verbesserungen gibt.
--------------------------------------------------------------------------
Basic:
$systype $sysname müssen am Anfang mit stripslashes() bearbeitet werden.
Datensätze:
$key, $type, $value['value'] müssen nach dem laden mit stripslashes() bearbeitet werden
Editbuttons:
$type & $key bei $oLinkEdit->setCustom() mussen mit urlencode() übergeben werden.
Editiern - Input-Felder:
Die Werte müssen dann mit htmlspecialchars($var) bearbeitet werden
(thx emergence / s.u.)
Ausgabe der Liste:
htmlentities sollte auch ausgeführt werden wenn die Zeichenkette kürzer als 35 Zeichen ist.
Speziell bei den Client-Settings gibt es ein kleines Darstellungs-Problem.
Wenn ein Feld leer ist wird der Border der Celle nicht angezeigt.
also müste hier sowas wie
if( !strlen(trim($var)) ) $var = " ";
( oder die Routine von Sys.-Setting übernommen werden )
Ich poste das weil ich aufgarkeinen Fall in den Systemsettings rum machen werde.
mfg OliverL
Client-Settings:
Typ: tinymce
Name: template_templates
Wert: [ { title : "Editor Details", src : "editor_details.htm", description : "Adds Editor Name and Staff ID" }, { title : "Timestamp", src : "time.htm", description : "Adds an editing timestamp." } ]
Dabei ist mir aufgefallen das " ' \ zuganz harten Fehlern führen.
Aus \ wird \\\\ usw.
In den System-Settings fliege ich vollständig aus dem System wenn ich diese Einträge später noch mal ändern will (beim laden).
Hab jetzt bei mehreren Dingen schon ansätze doch die Vergangenheit hat gezeigt das an meinen Lösungen noch Verbesserungen gibt.
--------------------------------------------------------------------------
Basic:
$systype $sysname müssen am Anfang mit stripslashes() bearbeitet werden.
Datensätze:
$key, $type, $value['value'] müssen nach dem laden mit stripslashes() bearbeitet werden
Editbuttons:
$type & $key bei $oLinkEdit->setCustom() mussen mit urlencode() übergeben werden.
Editiern - Input-Felder:
Die Werte müssen dann mit htmlspecialchars($var) bearbeitet werden
(thx emergence / s.u.)
Ausgabe der Liste:
htmlentities sollte auch ausgeführt werden wenn die Zeichenkette kürzer als 35 Zeichen ist.
Speziell bei den Client-Settings gibt es ein kleines Darstellungs-Problem.
Wenn ein Feld leer ist wird der Border der Celle nicht angezeigt.
also müste hier sowas wie
if( !strlen(trim($var)) ) $var = " ";
( oder die Routine von Sys.-Setting übernommen werden )
Ich poste das weil ich aufgarkeinen Fall in den Systemsettings rum machen werde.
mfg OliverL
Zuletzt geändert von OliverL am Do 13. Nov 2008, 12:00, insgesamt 3-mal geändert.
sollte das nicht nach bugs verschoben werden.. ?
anm.
htmlentities einzusetzen ist an sich nie ne gute idee...
problematisch wird es zb bei utf-8 kodierung..
anm.
htmlentities einzusetzen ist an sich nie ne gute idee...
problematisch wird es zb bei utf-8 kodierung..
*** make your own tools (wishlist :: thx)
-> htmlspecialcharsOliverL hat geschrieben:Wie konvertiert man den einen Text für UTF-8 innerhalb von input-text-feldern?
*** make your own tools (wishlist :: thx)
-
- Beiträge: 472
- Registriert: Di 15. Apr 2008, 15:57
- Wohnort: Michelstadt
- Kontaktdaten:
Yes, es funktioniert bei mir.
Kann man diesen block auch ergänzen?
Kann man diesen block auch ergänzen?
mfg OliverLOliverL hat geschrieben:Speziell bei den Client-Settings gibt es ein kleines Darstellungs-Problem.
Wenn ein Feld leer ist wird der Border der Celle nicht angezeigt.
also müste hier sowas wie
if( !strlen(trim($var)) ) $var = " ";
-
- Beiträge: 472
- Registriert: Di 15. Apr 2008, 15:57
- Wohnort: Michelstadt
- Kontaktdaten:
Ups!
die JS-Funktion: Tip() bekommt noch falsche werte.
Ich hab das mal so versucht:
( jedoch will der das ' nicht in & #039 ; konvertieren )
$aValue['type'] = sprintf($sMouseoverTemplate, htmlspecialchars($aValue['type'], ENT_QUOTES), $sShort);
Das editieren und anzeigen funktioniert bei mir.
mfg OliverL
TEST-String:
' " / \ 123123 ' " 123123123123123123123123123
die JS-Funktion: Tip() bekommt noch falsche werte.
Ich hab das mal so versucht:
( jedoch will der das ' nicht in & #039 ; konvertieren )
$aValue['type'] = sprintf($sMouseoverTemplate, htmlspecialchars($aValue['type'], ENT_QUOTES), $sShort);
Das editieren und anzeigen funktioniert bei mir.
mfg OliverL
TEST-String:
' " / \ 123123 ' " 123123123123123123123123123
-
- Beiträge: 472
- Registriert: Di 15. Apr 2008, 15:57
- Wohnort: Michelstadt
- Kontaktdaten:
-
- Beiträge: 472
- Registriert: Di 15. Apr 2008, 15:57
- Wohnort: Michelstadt
- Kontaktdaten:
Ich mach den Thread mal wieder auf und bitte mal den timo zusagen was wo gemacht wurde da seit dem Update der Cache nicht mehr funktioniert.
nach den Änderungen musste ich in der front_content.php in Zeile 684 & 719das stripslashes() entfernen.
von
$code = stripslashes($db->f("code"));
in
$code = $db->f("code");
ändern
zusätzlich musste ich die con_code leeren.
ich denke das hängt damit zusammen.
Es tritt nur nach dem bearbeiten des Artikels auf.
und wenn ein Modul das folgende enthält:
in $code ist son nicht das o'.'\'); sondern o'.'');
mfg OliverL
nach den Änderungen musste ich in der front_content.php in Zeile 684 & 719das stripslashes() entfernen.
von
$code = stripslashes($db->f("code"));
in
$code = $db->f("code");
ändern
zusätzlich musste ich die con_code leeren.
ich denke das hängt damit zusammen.
Es tritt nur nach dem bearbeiten des Artikels auf.
und wenn ein Modul das folgende enthält:
Code: Alles auswählen
echo '<script language="javascript">alert(\''.'Hallo'.'\');
</script>';
mfg OliverL
-
- Beiträge: 472
- Registriert: Di 15. Apr 2008, 15:57
- Wohnort: Michelstadt
- Kontaktdaten:
Hallo Oliver,
nach einem Bugfix in der Security Klasse wurde der Code in ConGenerateCode() nun falsch escaped. Ich habe am Freitag Abend noch einen fix dafür eingecheckt. Hast du diesen Fix in der functions.con2.php auch eingespielt? Bei mir läuft der Code den du gepostet hast porblemlos ohne dass ich Änderungen and der Version im SVN machen muss. Sollte das Problem noch auftreten schaue ich es mir natürlich an.
Gruß Timo
nach einem Bugfix in der Security Klasse wurde der Code in ConGenerateCode() nun falsch escaped. Ich habe am Freitag Abend noch einen fix dafür eingecheckt. Hast du diesen Fix in der functions.con2.php auch eingespielt? Bei mir läuft der Code den du gepostet hast porblemlos ohne dass ich Änderungen and der Version im SVN machen muss. Sollte das Problem noch auftreten schaue ich es mir natürlich an.
Gruß Timo