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);
}
}
...
}
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