ich habe ein Template mit nur einem Modul.
Dieses Modul hat für die Einstellungen nur Checkboxen.
Wenn ich nun alle checkboxen unchecked mache, also, dass alle Optionen deaktiviert sind, so werden die Änderungen nicht gespeichert.
Sobald aber mindestens eine Option aktiviert ist, werden die Einstellungen gespeichert..
In der Datei include.tplcfg_edit.php steht folgendes:
Code: Alles auswählen
$sql = "SELECT number FROM ".$cfg["tab"]["container"]." WHERE idtpl = '".$idtpl."'";
$db->query($sql);
while ($db->next_record()) {
$i = $db->f("number");
$CiCMS_VAR = "C".$i."CMS_VAR";
if (isset($HTTP_POST_VARS[$CiCMS_VAR])) {
$tmp = $HTTP_POST_VARS[$CiCMS_VAR];
} else {
unset($tmp);
}
if (isset($tmp)) {
foreach ($tmp as $key=>$value) {
$value = urlencode($value);
if (!isset($varstring[$i])) $varstring[$i]="";
$varstring[$i] = $varstring[$i].$key."=".$value."&";
}
}
}
// update/insert in container_conf
if (isset($varstring) && is_array($varstring)) {
// Werte speichern...
........
Das Problem dürfte auftreten, da die POST-Variable $HTTP_POST_VARS[$CiCMS_VAR] bei den Modulen, welche deaktiviert waren unset sind, und somit kein Eintrag in die Variable $varstring eingetragen wird.
Dadurch bleibt diese Variable leer, wenn alle Module keine Optionen aktiviert haben und die Werte werden in der Datenbank nicht neu erzeugt.
Ich weiss jetzt auf anhieb gerade nicht, wie ich das umgehen, korrigieren kann, und ich möchte ja auch meine DB nicht schrotten.
Also wenn mir da jemand weiterhelfen kann...
Grüße,
Muesli