uses('tpl'); $app->tpl->newTemplate("form.tpl.htm"); $app->tpl->setInclude('content_tpl','templates/module_nav_edit.htm'); // TODO: Check module and nav_id for malicius chars, nav_id can be empty or any number, even 0 $module_name = $_REQUEST["module_name"]; $nav_id = $_REQUEST["nav_id"]; if(!preg_match('/^[A-Za-z0-9_]{1,50}$/',$module_name)) die("module_name contains invalid chars."); if(!preg_match('/^[A-Za-z0-9_]{0,50}$/',$nav_id)) die("nav_id contains invalid chars."); if(empty($module_name)) die("module is empty."); if(count($_POST) > 0) { // Bestimme aktion if($nav_id != '') { $action = 'UPDATE'; } else { $action = 'INSERT'; } $error = ''; // TODO: Check variables if($error == '') { $filename = "../".$module_name."/lib/module.conf.php"; if(!@is_file($filename)) die("File not found: $filename"); include_once($filename); if($action == 'UPDATE') { $items = $module["nav"][$nav_id]["items"]; } else { $items = array(); } $tmp = array('title' =>$_POST["nav"]["title"], 'open' => 1, 'items' => $items); if($action == 'UPDATE') { $module["nav"][$nav_id] = $tmp; } else { $module["nav"][] = $tmp; } $m = ""; // writing module.conf if (!$handle = fopen($filename, 'w')) { print "Cannot open file ($filename)"; exit; } if (!fwrite($handle, $m)) { print "Cannot write to file ($filename)"; exit; } fclose($handle); // zu Liste springen header("Location: module_show.php?id=$module_name"); exit; } else { $app->tpl->setVar("error","Fehler:
".$error); $app->tpl->setVar($_POST); } } if($nav_id != '') { // Datensatz besteht bereits // bestehenden Datensatz anzeigen if($error == '') { // es liegt ein Fehler vor include_once("../".$module_name."/lib/module.conf.php"); $record = $module["nav"][$nav_id]; } else { // ein Fehler $record = $_POST; } //$record["readonly"] = 'style="background-color: #EEEEEE;" readonly'; } else { // neuer datensatz if($error == '') { // es liegt kein Fehler vor } else { // ein Fehler $record = $_POST; } //$record["readonly"] = ''; } $record["nav_id"] = $nav_id; $record["module_name"] = $module_name; $app->tpl->setVar($record); include_once("lib/lang/".$_SESSION["s"]["language"]."_module_nav_edit.lng"); $app->tpl->setVar($wb); // Defaultwerte setzen $app->tpl_defaults(); // Template parsen $app->tpl->pparse(); ?>