function close_alarm($conn, $data) { $id = $data['id']; //Validating ID before closing the alarm ossim_valid($id, OSS_HEX, 'illegal:' . _("Backlog ID")); if (ossim_error()) { $info_error = "Error: " . ossim_get_error(); ossim_clean_error(); $return['error'] = TRUE; $return['msg'] = $info_error; return $return; } //Closing the alarm Alarm::close($conn, $id); $return['error'] = FALSE; $return['msg'] = _('Alarm closed successfully'); return $return; }
ossim_valid($num_alarms_page, OSS_DIGIT, OSS_NULLABLE, 'illegal:' . _("field number of alarms per page")); ossim_valid($sensor_query, OSS_IP_ADDR, OSS_ALPHA, OSS_DIGIT, OSS_PUNC, OSS_NULLABLE, 'illegal:' . _("sensor_query")); if (ossim_error()) { die(ossim_error()); } $prev_unique_id = $_SESSION['alarms_unique_id']; // check required permissions if (!$only_close && $move_tag == "" && !Session::menu_perms("MenuIncidents", "ControlPanelAlarmsDelete")) { die(ossim_error("You don't have required permissions to delete Alarms")); } // check unique_id for alarms if (check_uniqueid($prev_unique_id, $param_unique_id)) { foreach ($_POST as $key => $value) { if (preg_match("/check_(\\d+)_(\\d+)/", $key, $found)) { if ($only_close) { Alarm::close($conn, $found[2]); } elseif ($move_tag != "") { if ($move_tag > 0) { Tags::set_alarm_tag($conn, $found[1], $move_tag); } else { Tags::del_alarm_tag($conn, $found[1]); } } else { Alarm::delete_from_backlog($conn, $found[1], $found[2]); } //echo "<tr><td class='nobborder'>Alarm deleted: <font color='red'><b>" . $found[1] . "-" . $found[2] . "</b></font></td></tr>"; } } //header ("Location: alarm_console.php"); ?> <html>
include "../hmenu.php"; } if (!empty($delete)) { if (!Session::menu_perms("MenuIncidents", "ControlPanelAlarmsDelete")) { die(ossim_error("You don't have required permissions to delete Alarms")); } else { if (check_uniqueid($prev_unique_id, $param_unique_id)) { Alarm::delete($conn, $delete); } else { die(ossim_error("Can't do this action for security reasons.")); } } } if (!empty($close)) { if (check_uniqueid($prev_unique_id, $param_unique_id)) { Alarm::close($conn, $close); } else { die(ossim_error("Can't do this action for security reasons.")); } } if (!empty($open)) { if (check_uniqueid($prev_unique_id, $param_unique_id)) { Alarm::open($conn, $open); } else { die(ossim_error("Can't do this action for security reasons.")); } } if ($list = GET('delete_backlog')) { if (!Session::menu_perms("MenuIncidents", "ControlPanelAlarmsDelete")) { die(ossim_error("You don't have required permissions to delete Alarms")); } else {
$group_ids = split(',', GET('close_group')); foreach ($group_ids as $group_id) { AlarmGroups::change_status($conn, $group_id, "closed"); } } if (GET('open_group') != "") { if (!ossim_valid(GET('open_group'), OSS_ALPHA, OSS_SPACE, OSS_PUNC, OSS_SQL, 'illegal:' . _("open_group"))) { exit; } AlarmGroups::change_status($conn, GET('open_group'), "open"); } if (GET('action') == "open_alarm") { Alarm::open($conn, GET('alarm')); } if (GET('action') == "close_alarm") { Alarm::close($conn, GET('alarm')); } if (GET('action') == "delete_alarm") { Alarm::delete($conn, GET('alarm')); } $db_groups = AlarmGroups::get_dbgroups($conn); list($alarm_group, $count) = AlarmGroups::get_unique_alarms($conn, $show_options, $hide_closed, $date_from, $date_to, $src_ip, $dst_ip, "LIMIT {$inf},{$sup}"); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <title> <?php echo _("Control Panel"); ?> </title> <?php
} exit; } if ($only_close) { for ($i = 1; $i <= $only_close; $i++) { $data = explode("_", GET('group' . $i)); $name = $_SESSION[$data[0]]; $src_ip = $data[1]; $dst_ip = $data[2]; $timestamp = $data[3]; AlarmGroups::change_status($conn, $data[0], "closed"); list($list, $num_rows) = AlarmGroups::get_alarms($conn, $src_ip, $dst_ip, 0, "", null, null, $from_date, $to_date, $name); foreach ($list as $s_alarm) { $s_backlog_id = $s_alarm->get_backlog_id(); $s_event_id = $s_alarm->get_event_id(); Alarm::close($conn, $s_event_id); } } exit; } if ($only_open) { for ($i = 1; $i <= $only_open; $i++) { $data = explode("_", GET('group' . $i)); $name = $_SESSION[$data[0]]; $src_ip = $data[1]; $dst_ip = $data[2]; $timestamp = $data[3]; AlarmGroups::change_status($conn, $data[0], "open"); list($list, $num_rows) = AlarmGroups::get_alarms($conn, $src_ip, $dst_ip, 0, "", null, null, $from_date, $to_date, $name); foreach ($list as $s_alarm) { $s_backlog_id = $s_alarm->get_backlog_id();
Alarm_groups::delete_group($conn, $group_id, $_SESSION["_user"]); } } else { die(ossim_error("Can't do this action for security reasons.")); } } if (POST('action') == "open_alarm") { if (check_uniqueid($prev_unique_id, $param_unique_id)) { Alarm::open($conn, POST('alarm')); } else { die(ossim_error("Can't do this action for security reasons.")); } } if (POST('action') == "close_alarm") { if (check_uniqueid($prev_unique_id, $param_unique_id)) { Alarm::close($conn, POST('alarm')); } else { die(ossim_error("Can't do this action for security reasons.")); } } if (POST('action') == "delete_alarm") { if (check_uniqueid($prev_unique_id, $param_unique_id)) { Alarm::delete($conn, POST('alarm')); } else { die(ossim_error("Can't do this action for security reasons.")); } } $sensors = Av_sensor::get_list($conn, array(), FALSE, TRUE); //Autocompleted $autocomplete_keys = array('hosts'); $hosts_str = Autocomplete::get_autocomplete($conn, $autocomplete_keys);