From 2fdb207ae87511088fc05d3bac3a15df9a9d74ce Mon Sep 17 00:00:00 2001 From: slerena Date: Wed, 3 Oct 2007 12:41:29 +0000 Subject: [PATCH] 2007-10-03 Sancho Lerena * include/functions_db.php: Insert_event is now capable to store events already validated. * operation/events/events.php: Adjusted column width. * operation/agentes/estado_alertas.php: Added additional ACL check. Now user is able to validate (Cease) manually an alert (new feature). * operation/agentes/ver_agente.php. Now user is able to validate (Cease) manually an alert (new feature). * operation/agentes/estado_generalagente.php: Render interval in human time insted in seconds. git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@666 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f --- pandora_console/ChangeLog | 14 ++++++++++ pandora_console/include/functions_db.php | 5 ++-- .../operation/agentes/estado_alertas.php | 28 +++++++++++++++---- .../agentes/estado_generalagente.php | 2 +- .../operation/agentes/ver_agente.php | 14 ++++++++-- pandora_console/operation/events/events.php | 4 +-- 6 files changed, 54 insertions(+), 13 deletions(-) diff --git a/pandora_console/ChangeLog b/pandora_console/ChangeLog index e04b08bdab..230d9d5f45 100644 --- a/pandora_console/ChangeLog +++ b/pandora_console/ChangeLog @@ -1,3 +1,17 @@ +2007-10-03 Sancho Lerena + + * include/functions_db.php: Insert_event is now capable to store events already validated. + + * operation/events/events.php: Adjusted column width. + + * operation/agentes/estado_alertas.php: Added additional ACL check. Now user is able to validate + (Cease) manually an alert (new feature). + + * operation/agentes/ver_agente.php. Now user is able to validate (Cease) manually an alert + (new feature). + + * operation/agentes/estado_generalagente.php: Render interval in human time insted in seconds. + 2007-10-03 Sancho Lerena * functions_db.php: Fixed problem in visual maps, alerts was not used diff --git a/pandora_console/include/functions_db.php b/pandora_console/include/functions_db.php index 2d111784fe..e916f3903b 100644 --- a/pandora_console/include/functions_db.php +++ b/pandora_console/include/functions_db.php @@ -704,13 +704,14 @@ function existe($id){ // event_insert - Insert event in eventable, using Id_grupo, Id_agente and Evento // --------------------------------------------------------------- -function event_insert($evento, $id_grupo, $id_agente){ +function event_insert($evento, $id_grupo, $id_agente, $status=0, $id_usuario=''){ require("config.php"); $today=date('Y-m-d H:i:s'); $utimestamp = time(); - $sql1='INSERT INTO tevento (id_agente, id_grupo, evento, timestamp, estado, utimestamp) VALUES ('.$id_agente.','.$id_grupo.',"'.$evento.'","'.$today.'",0, $utimestamp)'; + $sql1='INSERT INTO tevento (id_agente, id_grupo, evento, timestamp, estado, utimestamp, id_usuario) VALUES ('.$id_agente.','.$id_grupo.',"'.$evento.'","'.$today.'",'.$status.', '.$utimestamp.', "'.$id_usuario.'")'; $result=mysql_query($sql1); + } // --------------------------------------------------------------- diff --git a/pandora_console/operation/agentes/estado_alertas.php b/pandora_console/operation/agentes/estado_alertas.php index 07a7eba109..c56676de2b 100644 --- a/pandora_console/operation/agentes/estado_alertas.php +++ b/pandora_console/operation/agentes/estado_alertas.php @@ -41,12 +41,20 @@ if (comprueba_login() != 0) { // Show alerts for specific agent // ------------------------------- if (isset($_GET["id_agente"])){ + $id_agente = $_GET["id_agente"]; + + $id_grupo_alerta = give_db_value ("id_grupo", "tagente", "id_agente", $id_agente); + if (give_acl($id_user, $id_grupo_alerta, "AR") == 0) { + audit_db($id_usuario,$REMOTE_ADDR, "ACL Violation","Trying to access alert view"); + include ("general/noaccess.php"); + exit; + } if (isset($_GET["tab"])){ echo "

".$lang_label["ag_title"]." > ".$lang_label["alert_listing"]."".$lang_label["help"]."

"; } - $id_agente = $_GET["id_agente"]; - $query_gen='SELECT talerta_agente_modulo.alert_text, talerta_agente_modulo.id_alerta, talerta_agente_modulo.descripcion, talerta_agente_modulo.last_fired, talerta_agente_modulo.times_fired, tagente_modulo.nombre, talerta_agente_modulo.dis_max, talerta_agente_modulo.dis_min, talerta_agente_modulo.max_alerts, talerta_agente_modulo.time_threshold, talerta_agente_modulo.min_alerts, talerta_agente_modulo.id_agente_modulo, tagente_modulo.id_agente_modulo FROM tagente_modulo, talerta_agente_modulo WHERE tagente_modulo.id_agente = '.$id_agente.' AND tagente_modulo.id_agente_modulo = talerta_agente_modulo.id_agente_modulo AND talerta_agente_modulo.disable = 0 ORDER BY tagente_modulo.nombre'; + + $query_gen='SELECT talerta_agente_modulo.alert_text, talerta_agente_modulo.id_alerta, talerta_agente_modulo.descripcion, talerta_agente_modulo.last_fired, talerta_agente_modulo.times_fired, tagente_modulo.nombre, talerta_agente_modulo.dis_max, talerta_agente_modulo.dis_min, talerta_agente_modulo.max_alerts, talerta_agente_modulo.time_threshold, talerta_agente_modulo.min_alerts, talerta_agente_modulo.id_agente_modulo, tagente_modulo.id_agente_modulo, talerta_agente_modulo.id_aam FROM tagente_modulo, talerta_agente_modulo WHERE tagente_modulo.id_agente = '.$id_agente.' AND tagente_modulo.id_agente_modulo = talerta_agente_modulo.id_agente_modulo AND talerta_agente_modulo.disable = 0 ORDER BY tagente_modulo.nombre'; $result_gen=mysql_query($query_gen); if (mysql_num_rows ($result_gen)) { @@ -63,7 +71,8 @@ if (isset($_GET["id_agente"])){ ".$lang_label["time_threshold"]." ".$lang_label["last_fired"]." ".$lang_label["times_fired"]." - ".$lang_label["status"].""; + ".$lang_label["status"]." + ".$lang_label["validate"].""; $color=1; while ($data=mysql_fetch_array($result_gen)){ if ($color == 1){ @@ -109,9 +118,16 @@ if (isset($_GET["id_agente"])){ echo "".human_time_comparation ($data["last_fired"]).""; } echo "".$data["times_fired"].""; - if ($data["times_fired"] <> 0) - echo ""; - else + if ($data["times_fired"] <> 0){ + echo ""; + echo ""; + $id_grupo_alerta = give_db_value ("id_grupo", "tagente", "id_agente", $id_agente); + if (give_acl($id_user, $id_grupo_alerta, "AW") == 1) { + echo ""; + echo ""; + echo ""; + } + } else echo ""; } echo ''; diff --git a/pandora_console/operation/agentes/estado_generalagente.php b/pandora_console/operation/agentes/estado_generalagente.php index cce55331be..a206a0fc82 100644 --- a/pandora_console/operation/agentes/estado_generalagente.php +++ b/pandora_console/operation/agentes/estado_generalagente.php @@ -111,7 +111,7 @@ if (comprueba_login() == 0) { echo ''; echo ' '.$lang_label["interval"].' - '.$intervalo.''; + '. human_time_description_raw($intervalo).''; echo ''; echo ' '.$lang_label["description"].' diff --git a/pandora_console/operation/agentes/ver_agente.php b/pandora_console/operation/agentes/ver_agente.php index 5fffec340f..c1805ca86b 100644 --- a/pandora_console/operation/agentes/ver_agente.php +++ b/pandora_console/operation/agentes/ver_agente.php @@ -34,8 +34,18 @@ if (comprueba_login() == 0) { $id_grupo = $row["id_grupo"]; $id_usuario=$_SESSION["id_usuario"]; if (give_acl($id_usuario, $id_grupo, "AR")==1){ - // Get the user who makes this request - $id_usuario = $_SESSION["id_usuario"]; + + // Check for validate alert request + $validate_alert = give_parameter_get ("validate_alert"); + if ($validate_alert != ""){ + if (give_acl($id_usuario, $id_grupo, "AW")==1){ + $alert_name = give_db_value ("descripcion", "talerta_agente_modulo", "id_aam", $validate_alert); + event_insert ("Manual validation of alert for '$alert_name'", $id_grupo, $id_agente, 1, $id_usuario); + $sql='UPDATE talerta_agente_modulo SET times_fired = 0, internal_counter = 0 WHERE id_aam = '.$validate_alert; + $result=mysql_query($sql); + } + } + // Check for Network FLAG change request if (isset($_GET["flag"])){ if ($_GET["flag"]==1){ diff --git a/pandora_console/operation/events/events.php b/pandora_console/operation/events/events.php index ec3b7b54d1..92b5c338e7 100644 --- a/pandora_console/operation/events/events.php +++ b/pandora_console/operation/events/events.php @@ -248,8 +248,8 @@ if ($total_events > 0){ echo "".$lang_label["agent_name"].""; echo "".$lang_label["group"].""; echo "".$lang_label["id_user"].""; - echo "".$lang_label["timestamp"].""; - echo "".$lang_label["action"].""; + echo "".$lang_label["timestamp"].""; + echo "".$lang_label["action"].""; echo ""; echo ""; echo '';