Seite 1 von 1

$a_languages in functions.str.php

Verfasst: Di 22. Apr 2008, 16:56
von xmurrix
Hallo zusammen,

arbeite gerade an einer Erweiterung und bin auf folgenden Code in der Datei functions.str.php gestossen:

Code: Alles auswählen

function strNewCategory(...){
...
    //********* enter name of cat in 'cat_lang'-table ******
    $a_languages[] = $lang;

    foreach ($a_languages as $tmp_lang) {
        if ($tmp_lang == $lang) {
            $sql = "INSERT INTO ".$cfg["tab"]["cat_lang"]." (idcatlang, idcat, idlang, name, visible, public, idtplcfg, urlname, author, created, lastmodified) VALUES('".$db->nextid($cfg["tab"]["cat_lang"])."','$tmp_newid','$tmp_lang','".htmlspecialchars($catname, ENT_QUOTES)."','$bVisible','$bPublic','0', '".htmlspecialchars(capiStrCleanURLCharacters($catalias), ENT_QUOTES)."','".$auth->auth['uname']."','".date("Y-m-d H:i:s")."','".date("Y-m-d H:i:s")."')";
            $db->query($sql);
        } else {
            $sql = "INSERT INTO ".$cfg["tab"]["cat_lang"]." (idcatlang, idcat, idlang, name, visible, public, idtplcfg, urlname, author, created, lastmodified) VALUES('".$db->nextid($cfg["tab"]["cat_lang"])."','$tmp_newid','$tmp_lang','".htmlspecialchars($catname, ENT_QUOTES)."','$bVisible','$bPublic','0', '".htmlspecialchars(capiStrCleanURLCharacters($catalias), ENT_QUOTES)."','".$auth->auth['uname']."','".date("Y-m-d H:i:s")."','".date("Y-m-d H:i:s")."')";
            $db->query($sql);
        }
    }
...
}
Da wird der Liste $a_languages die aktuelle Sprache $lang hinzugefügt. Die Variable $a_languages taucht dort aber zum ersten Mal auf, d. h. Sie ist weder aus dem globalen Namensraum noch irgendwie vorher innerhalb der Funktion deklariert.
Daher hat die Liste natürlich nur die aktuelle Sprache, und die Schleife danach scheint keinen Sinn zu ergeben. Der if-Zweig "if ($tmp_lang == $lang) {" wird immer ausgeführt, und der Code im if- sowie im else-Zweig sind identisch.
Das kommmt ein paar mal vor, auch in der functions.con.php

Ist das ein Übrigbleibsel aus früheren Zeiten oder wie ist das zu Verstehen?

Grüße
xmurrix

Re: $a_languages in functions.str.php

Verfasst: Mi 23. Apr 2008, 06:55
von emergence
xmurrix hat geschrieben:Ist das ein Übrigbleibsel aus früheren Zeiten oder wie ist das zu Verstehen?
ist es...
hat man früher mal eine kategorie angelegt wurde sie in allen sprachen angelegt... das wurde glaube ich auch bei den artikeln gemacht...

falls man dies wieder mal benötigen würde könnte man einfach den code reaktivieren...

Verfasst: Mi 23. Apr 2008, 07:48
von xmurrix
Morgen,

danke für die Antwort, nun weiß ich darüber Bescheid.

Gruß
xmurrix