$a_languages in functions.str.php

Gesperrt
xmurrix
Beiträge: 3215
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Hat sich bedankt: 4 Mal
Danksagung erhalten: 17 Mal
Kontaktdaten:

$a_languages in functions.str.php

Beitrag 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
emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Re: $a_languages in functions.str.php

Beitrag 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...
*** make your own tools (wishlist :: thx)
xmurrix
Beiträge: 3215
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Hat sich bedankt: 4 Mal
Danksagung erhalten: 17 Mal
Kontaktdaten:

Beitrag von xmurrix »

Morgen,

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

Gruß
xmurrix
Gesperrt