function get_policy_groups($conn, $data) { $ctx = empty($data['ctx']) ? Session::get_default_ctx() : $data['ctx']; $id = $data['id']; ossim_valid($ctx, OSS_HEX, 'illegal:' . _("CTX")); ossim_valid($id, OSS_HEX, OSS_NULLABLE, 'illegal:' . _("CTX")); if (ossim_error()) { $info_error = "Error: " . ossim_get_error(); ossim_clean_error(); $return['error'] = TRUE; $return['msg'] = $info_error; return $return; } $result = ''; if (is_ctx_engine($conn, $ctx)) { $server = Server::get_engine_server($conn, $ctx); $server_name = empty($server[$ctx]['name']) ? _('Unknown Server') : $server[$ctx]['name']; $server_name = _('Policies generated in') . ": <font style=\"font-weight:normal;font-style:italic\">" . $server_name . "</font>"; $result = "<option value='" . $id . "' selected='selected'>" . $server_name . "</option>"; } else { $policy_groups = Policy::get_policy_groups($conn, $ctx); foreach ($policy_groups as $group) { $selected = $group->get_group_id() == $id ? "selected='selected'" : ""; $result .= "<option value='" . $group->get_group_id() . "' {$selected}>" . $group->get_name() . "</option>"; } } $return['error'] = FALSE; $return['data'] = $result; return $return; }
$conn = $db->connect(); $policy_list = Policy::get_list($conn); foreach ($policy_list as $policy) { $id_group = $policy->get_group(); $id = $policy->get_id(); $rs = $conn->Execute("SELECT name FROM policy_group WHERE group_id={$id_group}"); if ($rs->fields["name"] == "") { $conn->Execute("UPDATE policy SET policy.group=0 WHERE id={$id}"); } } // $neworder = 1; $policy_groups = Policy::get_policy_groups($conn); foreach ($policy_groups as $group) { $policy_list = Policy::get_list($conn, "WHERE policy.group=" . $group->get_group_id() . " ORDER BY policy.priority"); foreach ($policy_list as $policy) { $id = $policy->get_id(); $conn->Execute("UPDATE policy SET policy.order={$neworder} WHERE id={$id}"); $neworder++; } } $reorderpolicygrps = Policy::get_policy_groups($conn, "ORDER BY order"); $neworder = 1000; foreach ($reorderpolicygrps as $policy) { if (intval($policy->get_group_id()) != 0) { $conn->Execute("UPDATE policy_group SET policy_group.order={$neworder} WHERE group_id=" . $policy->get_group_id()); $neworder++; } } $db->close($conn); header("Location: /ossim/policy/policy.php?hmenu=Policy&smenu=Policy");
$_SESSION['policy_ctx'] = $ctx; $conf = $GLOBALS["CONF"]; $server_logger_if_priority = is_null($conf->get_conf("server_logger_if_priority", false)) ? 0 : $conf->get_conf("server_logger_if_priority"); $engines = Session::get_engines_by_ctx($conn, $ctx); if ($reorder) { Policy_group::reassing_orders($conn, $ctx); Policy::reassing_orders($conn, $ctx); foreach ($engines as $engine) { Policy::reassing_orders($conn, $engine); } } //Retrieving the policy groups, for ctx and engines $groups_ctx = Policy::get_policy_groups($conn, $ctx); $groups_engine = array(); foreach ($engines as $engine) { $aux_groups = Policy::get_policy_groups($conn, $engine, true); $groups_engine = array_merge($groups_engine, $aux_groups); } $refresh = ""; $default = array("active" => array(_('Status'), 30, 'true', 'center', false), "order" => array(_('Ord'), 30, 'true', 'center', false), "descr" => array(_('Name'), 130, 'true', 'left', false), "source" => array(' <b>' . _('Source') . '</b> <img src="../pixmaps/tables/bullet_prev.png" border=0 align=absmiddle>', 150, 'false', 'left', false), "dest" => array(' <b>' . _('Destination') . '</b> <img src="../pixmaps/tables/bullet_next.png" border=0 align=absmiddle>', 150, 'false', 'left', false), "port_source" => array(_('Source Port'), 75, 'false', 'center', false), "port_dest" => array(_('Dest Port'), 70, 'false', 'center', false), "plugin_group" => array(_('Event Types'), 90, 'false', 'center', false), "sensors" => array(_('Sensors'), 80, 'false', 'center', false), "time_range" => array(_('Time Range'), 150, 'false', 'center', false), "targets" => array(_('Targets'), 70, 'false', 'center', false), "SIM" => array(_('SIEM'), 25, 'false', 'center', false), "priority" => array(_('Set Priority'), 40, 'true', 'center', false), "qualify" => array(_('Risk Assessment'), 30, 'false', 'center', false), "correlate" => array(_('Logical Correlation'), 30, 'false', 'center', false), "cross correlate" => array(_('Cross-correlation'), 30, 'false', 'center', false), "store" => array(_('SQL Storage'), 30, 'false', 'center', false), "SEM" => array(_('Logger'), 25, 'false', 'center', false), "Sign" => array(_('Sign'), 25, 'false', 'center', false), "resend_events" => array(_('R. Events'), 30, 'false', 'center', false)); $def_eng_layout = $default; unset($def_eng_layout['source']); unset($def_eng_layout['dest']); unset($def_eng_layout['port_source']); unset($def_eng_layout['port_dest']); unset($def_eng_layout['sensors']); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title> <?php
include "../hmenu.php"; ?> <div id="headerh1" style="width:100%;height:1px"> </div> <table class="noborder"> <?php require_once 'ossim_conf.inc'; $conf = $GLOBALS["CONF"]; $server_logger_if_priority = $conf->get_conf("server_logger_if_priority"); // //create one grid per policy group require_once 'ossim_db.inc'; require_once 'classes/Policy.inc'; $db = new ossim_db(); $conn = $db->connect(); $policy_groups = Policy::get_policy_groups($conn); $i = 0; $refresh = ""; foreach ($policy_groups as $group) { $refresh .= "\$(\"#flextable" . $i . "\").flexReload();\n"; ?> <tr><td valign="top" id="group<?php echo $group->get_group_id(); ?> "> <table id="flextable<?php echo $i++; ?> " style="display:none"></table> </td><tr> <?php