bug: editor $foo wird als variable interpretiert

Gesperrt
emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

bug: editor $foo wird als variable interpretiert

Beitrag von emergence »

ähm ganz was lustiges...
sagen wir mal ich schreibe einen text mit CMS_HTML oder CMS_HTMLHEAD in dem $foo vorkommt. dann wird dieser teil durch nichts ersetzt, wenn die variable nicht definiert ist.
bei $lang steht die ziffer dort etc...

ähm, das ist jetzt schlecht, sollte der text nicht immer als text dortstehen ?
in der con_code finde ich zb bei diesem typ
<? echo "mein $foo text"; ?>
es sollte eigentlich
<? echo "mein \$foo text"; ?>

dortstehen...

und weil ich schon dabei bin
include.con_editcontent.php findet man am ende der datei...

Code: Alles auswählen

        while ( $db->next_record() ) {

            $tmp = preg_match_all("/(".$db->f("type")."\[+\d+\])/", $code, $match);
            $a_[strtolower($db->f("type"))] = $match[0];
            $success = array_walk($a_[strtolower($db->f("type"))], 'extractNumber');

            foreach ($a_[strtolower($db->f("type"))] as $val) {

                eval ($db->f("code"));
                $code  = str_replace("".$db->f("type")."[$val]", $tmp, $code);

            }

        }
nach der foreach schleife sollte man

Code: Alles auswählen

            unset($tmp);
ergänzen...
*** make your own tools (wishlist :: thx)
emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence »

das betrifft die con_type
CMS_HTML, CMS_HTMLHEAD, CMS_TEXT, CMS_HEAD

ich hab mir momentan folgendes eingebaut.

$tmp = str_replace("\$",'\\\$',$tmp);
*** make your own tools (wishlist :: thx)
timo
Beiträge: 6284
Registriert: Do 15. Mai 2003, 18:32
Wohnort: Da findet ihr mich nie!
Kontaktdaten:

Beitrag von timo »

das unset habe ich eingetragen, wo kommt das str_replace hin?
emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence »

in den con_type

zb bei CMS_HTML

/**
* CMS_HTML
*/
$tmp = $a_content['CMS_HTML'][$val];
$tmp = urldecode($tmp);
$tmp = AddSlashes(AddSlashes($tmp));
$tmp = str_replace("\\\'","'",$tmp);
->$tmp = str_replace("\$",'\\\$',$tmp);

ich habs einfach am ende der $tmp aufbereitung hingestellt...
*** make your own tools (wishlist :: thx)
timo
Beiträge: 6284
Registriert: Do 15. Mai 2003, 18:32
Wohnort: Da findet ihr mich nie!
Kontaktdaten:

Beitrag von timo »

in der 4.4 habe ich die Änderungen gemacht, in der 4.5 waren die Änderungen schon teilweise drin (habe nochmals alles überprüft und Änderungen gemacht).
Gesperrt