コード例 #1
0
ファイル: index.php プロジェクト: jhbsz/ossimTest
        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>
コード例 #2
0
ファイル: rule.php プロジェクト: jhbsz/ossimTest
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>";
}
コード例 #3
0
ファイル: utils.php プロジェクト: jhbsz/ossimTest
    $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) {