HerrB hat geschrieben:Würde es für ein Überbleibsel halten, zumal die Array-Dimensionen nicht übereinstimmen.
OK, damit hast du mich auf etwas gebracht. Das ist definitiv ein Bug:
Durch die Zuweisung in der "cfg_language_de.inc.php" sind $a_description["CMS_LINK"], $a_description["CMS_LINKDESCR"] und $a_description["CMS_LINKTARGET"] vom Typ String. Die spätere Zuweisung in der "functions.general.php" z. B. durch:
Code: Alles auswählen
$a_description["CMS_LINK"][100] = i18n($db->f("description"));
macht aus "$a_description["CMS_LINK"]" allerdings kein Array, sondern weißt das erste Zeichen von "i18n($db->f("description"))" dem String an Position 100 zu. Wird die Zahl entsprechend hoch gewählt (z. B. durch Nutzung von "CMS_LINK[100000000]"), kann man den Fehler ganz einfach nachstellen.
Zum schnellen Test reicht so etwas:
Code: Alles auswählen
<?php
$arr["eins"] = "qwertzuiop";
$arr["zwei"] = "qwertzuiop";
$arr["drei"] = "qwertzuiop";
$arr["eins"][10000000000000000] = "asjkgh";
?>
Meines Erachtens ist die Änderung der "cfg_language_de.inc.php" die einzige Möglichkeit das zu beheben, da man in bestehenden Installationen sonst von Hand die Einträge in der "con_content" anpassen muss, wenn man "CMS_LINK[x]" mit zu hohem x genutzt hat. Die Einträge bleiben ja auch nach Änderung des entsprechenden Moduls in der "con_content" bestehen.