echo _("The directive doesn't exist"); } echo "</span></center>"; exit; } if ($directive_xml != "") { $_SESSION['XML_FILE'] = $XML_FILE; } if ($category_mini != "") { $_SESSION['mini'] = $category_mini; } if (!empty($directive_id)) { if (is_free($directive_id, $XML_FILE) == "true") { $direct = unserialize($_SESSION['directive']); } else { $direct = getDirectiveFromXML($dom, $directive_id); $tab_rules = $direct->rules; } if ($direct->id != $directive_id) { echo "<center><span style='color:red'>" . _("The directive {$directive_id} doesn't exist in {$XML_FILE}") . "</span></center>"; exit; } $_SESSION['directive'] = serialize($direct); if ($XML_FILE != '/etc/ossim/server/directives.xml') { release_file($XML_FILE); } if (!empty($directive_id)) { $direct->printDirective($level, $directive_xml); } ?> </table>
function insert($id) { $XML_FILE = $_SESSION['XML_FILE']; $rule = unserialize($_SESSION['rule']); $directive = unserialize($_SESSION['directive']); $tab_rules = $directive->rules; unset($_SESSION['rule']); list($id_dir, $id_rule, $id_father) = explode("-", $id); init_file($XML_FILE); if (!($dom = domxml_open_file($XML_FILE, DOMXML_LOAD_SUBSTITUTE_ENTITIES))) { echo "Error while parsing the document\n"; exit; } $directive = getDirectiveFromXML($dom, $id_dir); if ($id_father != 0) { $tab_rules[$id_father]->nb_child = $tab_rules[$id_father]->nb_child + 1; } if ($id == $tab_rules[$id_rule]->id || $id_rule > count($tab_rules)) { $tab_rules[$id_rule] = $rule; } else { for ($i = count($tab_rules); $i >= $id_rule; $i--) { list($id_dir, $id_rule2, $id_father2) = explode("-", $tab_rules[$i]->id); $new_id_rule = $i + 1; if ($id_father2 >= $id_rule) { $new_id_father = $id_father2 + 1; } else { $new_id_father = $idfather2; } $newid = $id_dir . "-" . $new_id_rule . "-" . $new_id_father; $tab_rules[$i]->id = $newid; $tab_rules[$i + 1] = $tab_rules[$i]; } $tab_rules[$id_rule] = $rule; } $direct = $directive->directive; $rules = $direct->child_nodes(); foreach ($rules as $rule) { $direct->remove_child($rule); } do_directive($directive, &$tab_rules, $dom); $dom->dump_file($XML_FILE); release_file($XML_FILE); $newlevel = $tab_rules[$id_rule]->level; echo "<html><body onload=\"window.open('../viewer/index.php?directive=" . $directive->id . "&level={$newlevel}','right')\"></body></html>"; }
$directive = new Directive($id, "New directive", "0", $null, $node); $_SESSION['directive'] = serialize($directive); release_file($XML_FILE); echo "<html><body onload=\"window.open('../right.php?add=1&directive=" . $id . "&level=1&action=edit_dir&id=" . $id . "&onlydir={$onlydir}&xml_file=" . $category->xml_file . "','right')\"></body></html>"; } elseif ($query == "copy_directive") { $dir_id = $_GET['id']; if ($_GET['directive_xml'] != "") { $file = "/etc/ossim/server/" . $_GET['directive_xml']; } elseif ($_SESSION['XML_FILE'] != "") { $file = $_SESSION['XML_FILE']; } else { $file = get_directive_file($dir_id); } $id_category = get_category_id_by_directive_id($dir_id); $dom = open_file($file); $directive = getDirectiveFromXML($dom, $dir_id); if ($directive->directive == "") { header("Location: ../viewer/index.php?directive={$dir_id}"); } $mini = $_GET['mini']; $new_id = new_directive_id_by_directive_file($file, $mini); //$new_id = new_directive_id($id_category); $new_directive = $dom->create_element('directive'); $new_directive->set_attribute('id', $new_id); $new_directive->set_attribute('name', "Copy of " . $directive->name); $new_directive->set_attribute('priority', $directive->priority); $tab_rules = $directive->rules; for ($ind = 1; $ind <= count($tab_rules); $ind++) { $rule = $tab_rules[$ind]; list($id_dir, $id_rule, $id_father) = explode("-", $rule->id); if ($id_father == 0) {