diff --git a/pandora_console/ChangeLog b/pandora_console/ChangeLog index caf67ff710..a76422f839 100644 --- a/pandora_console/ChangeLog +++ b/pandora_console/ChangeLog @@ -1,3 +1,55 @@ +2007-02-27 Sancho Lerena + + * include/styles/god.css: Moved style block. + + * include/styles/link.css: Moved style block. + + * include/styles/op.css: Moved style block. + + * include/styles/pandora.css: Added some clases for new + appearance. Needs to be improved, not finished yet !. + + * include/config.inc.php: Changed version number. + + * index.php: Some changes for new block disposition using + data_box class and other changes. + + * operation/agentes/ver_agente.php: Now shows data in three + tabs. Needs to be improved, but functional. + + * operation/agentes/estado_generalagente.php: Change in title + order. This should be the way to show title and subtitle since + now. + + * operation/messages/message.php: Changed icon, and fix problem in + CSS. Deleted class: Classes with only fix weight should be avoided + from now and added in code just with a style attribute, it + generates too many classes in main CSS. + + * images/bottom-*-corner.gif: Added. + + * general/footer.php: Needs to be updated. + + * general/links_menu.php: New style in use (different color for + top). + + * godmode/agentes/module_manager.php: New file to manage in tabs + agent configuration. Almost functional, needs fix. + + * godmode/agentes/alert_manager.php: Content of alert management + for agent manager, now in a individual file to be shown in a tab. + + * godmode/agentes/configurar_agente.php; + + * godmode/agentes/agent_manager.php: New file to manage in tabs + agent configuration. Almost functional, needs fix. + + * godmode/menu.php: New style in use (different color for top). + + This is a partial commit not fully functional, need to be done due + to many changes in a temporal development computer. Sorry for + problems to people that are testing SVN version. + 2007-02-22 Esteban Sanchez * pandoradb.sql: Changed a 'utimestamp' field from mediumint to diff --git a/pandora_console/general/footer.php b/pandora_console/general/footer.php index 60c8a02fb4..cc8ad0e76d 100644 --- a/pandora_console/general/footer.php +++ b/pandora_console/general/footer.php @@ -2,7 +2,7 @@ // Pandora - the Free monitoring system // ==================================== // Copyright (c) 2004-2006 Sancho Lerena, slerena@gmail.com -// Copyright (c) 2005-2006 Artica Soluciones Tecnológicas S.L, info@artica.es +// Copyright (c) 2005-2006 Artica Soluciones Tecnol�icas S.L, info@artica.es // Copyright (c) 2004-2006 Raul Mateos Martin, raulofpandora@gmail.com // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License @@ -16,8 +16,9 @@ // along with this program; if not, write to the Free Software // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. ?> +

- Pandora FMS '.$pandora_version.' Build '.$build_version.' '. @@ -32,5 +33,7 @@ if (isset($_SESSION['id_usuario'])) { echo $lang_label["gen_date"]." ".date("D F d, Y H:i:s", $time)."
"; } ?> + Pandora FMS is a SourceForge registered project +

\ No newline at end of file diff --git a/pandora_console/general/links_menu.php b/pandora_console/general/links_menu.php index ea170893ea..ef98ddb125 100644 --- a/pandora_console/general/links_menu.php +++ b/pandora_console/general/links_menu.php @@ -9,7 +9,7 @@ $sql1='SELECT * FROM tlink ORDER BY name'; $result=mysql_query($sql1); if ($row=mysql_fetch_array($result)){ ?> -
+
:: ::
diff --git a/pandora_console/godmode/agentes/agent_manager.php b/pandora_console/godmode/agentes/agent_manager.php new file mode 100644 index 0000000000..6b0965f2e8 --- /dev/null +++ b/pandora_console/godmode/agentes/agent_manager.php @@ -0,0 +1,146 @@ +".$lang_label["agent_conf"]; +if (isset($_GET["creacion"])){ +echo " > ".$lang_label["create_agent"]." +".$lang_label["help"].""; +} else { + echo " > ".$lang_label["update_agent"]." + +  ".$lang_label["help"].""; +} +echo ""; + +echo '
'; +if ($creacion_agente == 1) { + echo ""; +} else { + echo ""; + echo ""; +} +echo ''; +echo " + + + + + + + + + + +
"; +echo ''.$lang_label["agent_name"].' +'; +if (isset($_GET["creacion"])){ + echo " "; +} else { + echo " + + + "; +} +?> +
+ +
+ +
+
+ + +
+ + + +
+ +
+ + '; + echo $lang_label["normal_mode"].' + '; + } else { + echo $lang_label["learning_mode"].' + '; + echo $lang_label["normal_mode"].' + '; + } + ?> +
+ +'; + echo $lang_label["active"].' + '; + } else { + echo $lang_label["disabled"].' + '; + echo $lang_label["active"].' + '; + } +?> +
+"; +} else { + echo " + "; +} +?> +
diff --git a/pandora_console/godmode/agentes/alert_manager.php b/pandora_console/godmode/agentes/alert_manager.php new file mode 100644 index 0000000000..c3a4f616a1 --- /dev/null +++ b/pandora_console/godmode/agentes/alert_manager.php @@ -0,0 +1,200 @@ + + +$sql1='SELECT * FROM tagente_modulo WHERE id_agente = "'.$id_agente.'"'; +$result=mysql_query($sql1); + if ($row=mysql_num_rows($result)){ + + echo "

".$lang_label["assigned_alerts"]." ".$lang_label["help"]."

"; + + $color=1; + $string=''; + while ($row=mysql_fetch_array($result)){ // All modules of this agent + $id_tipo = $row["id_tipo_modulo"]; + $nombre_modulo =$row["nombre"]; + $sql2='SELECT * FROM ttipo_modulo WHERE id_tipo = "'.$id_tipo.'"'; + $result2=mysql_query($sql2); + $row2=mysql_fetch_array($result2); + //module type modulo is $row2["nombre"]; + + $sql3='SELECT id_aam, id_alerta, time_threshold, dis_min, dis_max, + descripcion + FROM talerta_agente_modulo + WHERE id_agente_modulo = '.$row["id_agente_modulo"]; // From all the alerts give me which are from my agent + $result3=mysql_query($sql3); + while ($row3=mysql_fetch_array($result3)){ + if ($color == 1){ + $tdcolor="datos"; + $color =0; + } else { + $tdcolor="datos2"; + $color =1; + } + $sql4='SELECT nombre FROM talerta WHERE id_alerta = '.$row3["id_alerta"]; + $result4=mysql_query($sql4); + $row4=mysql_fetch_array($result4); + // Alert name defined by $row4["nombre"]; + $tipo_modulo = $row2["nombre"]; + $nombre_alerta = $row4["nombre"]; + $string = $string."".$nombre_modulo."/".$tipo_modulo; + $string = $string."".$nombre_alerta; + $string = $string."".$row3["time_threshold"]; + $string = $string."".$row3["dis_min"]."/".$row3["dis_max"]; + $string = $string."".salida_limpia($row3["descripcion"]); + $string = $string.""; + $id_grupo = dame_id_grupo($id_agente); + if (give_acl($id_user, $id_grupo, "LW")==1){ + $string = $string." + ".$lang_label["delete"]."   "; + $string = $string." + ".$lang_label["update"].""; + } + $string = $string.""; + } + } + if (isset($string) & $string!='') { + echo " + + + + + + "; + echo $string; + echo "
".$lang_label["name_type"]."".$lang_label["alert"]."".$lang_label["time_threshold"]."".$lang_label["min_max"]."".$lang_label["description"]."".$lang_label["action"]."
"; + } else { + echo "
".$lang_label["no_alerts"]."
"; + } + } else { + echo "
".$lang_label["no_modules"]."
"; + } +?> + +

 

+ + +'; +if (! isset($update_alert)) + $update_alert = -1; +if ($update_alert != 1) { + echo ''; +} else { + echo ''; + echo ' + + +'; +echo '
+ + + + + +
+ +     + +
+ +
+ +
+ +
+ +
+ + + +    + + +
+ + + +    + + + +
+ + '; + $sql2='SELECT id_agente_modulo, id_tipo_modulo, nombre FROM tagente_modulo WHERE id_agente = '.$id_agente; + $result2=mysql_query($sql2); + while ($row2=mysql_fetch_array($result2)){ + if ($row2["id_tipo_modulo"] != -1) { + $sql1='SELECT nombre FROM ttipo_modulo WHERE id_tipo = '.$row2["id_tipo_modulo"]; + $result=mysql_query($sql1); + while ($row=mysql_fetch_array($result)){ + echo ""; + } + echo ""; +} else { + echo "".$lang_label["no_change_field"].""; +} + + // End block only if $creacion_agente != 1; + +echo '
'; + if ($update_alert== "1"){ + echo ''; + } else { + echo ''; + } + echo ''; + + echo "
"; +echo '
'; +} +} + } // end page +else { + audit_db($id_user,$REMOTE_ADDR, "ACL Violation","Trying to access Agent Management"); + require ("general/noaccess.php"); + } diff --git a/pandora_console/godmode/agentes/configurar_agente.php b/pandora_console/godmode/agentes/configurar_agente.php index 378dafeb1d..bfa4b7598f 100644 --- a/pandora_console/godmode/agentes/configurar_agente.php +++ b/pandora_console/godmode/agentes/configurar_agente.php @@ -1,5 +1,4 @@ - - ".$lang_label["delete_alert_no"].""; - else - echo "

".$lang_label["delete_alert_ok"]."

"; +// Init vars +$descripcion = ""; +$comentarios = ""; +$campo_1 = ""; +$campo_2 = ""; +$campo_3 = ""; +$maximo = "0"; +$minimo = "0"; +$nombre_agente = ""; +$direccion_agente = ""; +$id_agente = ""; +$intervalo = "300"; +$id_agente = ""; +$id_server = ""; +$max_alerts = 0; +$modo = 0; +$update_module = 0; +$modulo_id_agente = ""; +$modulo_id_tipo_modulo = ""; +$modulo_nombre = ""; +$modulo_descripcion = ""; +$alerta_id_aam = ""; +$alerta_campo1 = ""; +$alerta_campo2 = ""; +$alerta_campo3 =""; +$alerta_dis_max = ""; +$alerta_dis_min = ""; +$alerta_max_alerts = ""; +$alerta_time_threshold = ""; +$alerta_descripcion = ""; +$disabled=""; +$modulo_max=""; +$modulo_min=''; +$module_interval = ""; +$tcp_port = ""; +$tcp_send = ""; +$tcp_rcv = ""; +$snmp_oid= ""; +$ip_target =""; +$snmp_community=""; +$creacion_agente = 0; +$combo_snmp_oid=""; +// Delete Alert +// ============= +if (isset($_GET["delete_alert"])){ // if modified some parameter + $id_borrar_modulo = $_GET["delete_alert"]; + // get info about agent + $sql1='DELETE FROM talerta_agente_modulo WHERE id_aam = '.$id_borrar_modulo; + $result=mysql_query($sql1); + if (! $result) + echo "

".$lang_label["delete_alert_no"]."

"; + else + echo "

".$lang_label["delete_alert_ok"]."

"; + +} +// Create alert +// ============= +if (isset($_POST["insert_alert"])){ // if created alert + //$id_agente = $_POST["id_agente"]; + $id_agente_modulo = entrada_limpia($_POST["agente_modulo"]); + $descripcion= entrada_limpia($_POST["descripcion"]); + $campo_1 = entrada_limpia($_POST["campo_1"]); + $campo_2 = entrada_limpia($_POST["campo_2"]); + $campo_3 = entrada_limpia($_POST["campo_3"]); + $maximo = entrada_limpia($_POST["maximo"]); + $minimo = entrada_limpia($_POST["minimo"]); + $tipo_alerta = entrada_limpia($_POST["tipo_alerta"]); + $time_threshold = entrada_limpia($_POST["time_threshold"]); + $max_alerts = entrada_limpia($_POST["max_alerts"]); + $min_alerts = entrada_limpia($_POST["min_alerts"]); + $other = entrada_limpia($_POST["other"]); + if ($time_threshold == -1) { + $time_threshold = $other; } - // Create alert - // ============= - if (isset($_POST["insert_alert"])){ // if created alert - //$id_agente = $_POST["id_agente"]; + $sql_insert="INSERT INTO talerta_agente_modulo (id_agente_modulo,id_alerta,al_campo1,al_campo2,al_campo3,descripcion,dis_max,dis_min,time_threshold,max_alerts, min_alerts) VALUES ('".$id_agente_modulo."','".$tipo_alerta."','".$campo_1."','".$campo_2."','".$campo_3."','".$descripcion."','".$maximo."','".$minimo."','".$time_threshold."','".$max_alerts."','".$min_alerts."')"; + $result=mysql_query($sql_insert); + if (! $result) + echo "

".$lang_label["create_alert_no"]."

"; + else + $id_agente = mysql_insert_id(); + echo "

".$lang_label["create_alert_ok"]."

"; + +} +// Update ALERT +// ============= +if (isset($_POST["update_alert"])){ // Update an existing alert + $id_aam = entrada_limpia($_POST["id_aam"]); + $tipo_alerta = entrada_limpia($_POST["tipo_alerta"]); + if (isset($_POST["agente_modulo"])) { $id_agente_modulo = entrada_limpia($_POST["agente_modulo"]); - $descripcion= entrada_limpia($_POST["descripcion"]); - $campo_1 = entrada_limpia($_POST["campo_1"]); - $campo_2 = entrada_limpia($_POST["campo_2"]); - $campo_3 = entrada_limpia($_POST["campo_3"]); - $maximo = entrada_limpia($_POST["maximo"]); - $minimo = entrada_limpia($_POST["minimo"]); - $tipo_alerta = entrada_limpia($_POST["tipo_alerta"]); - $time_threshold = entrada_limpia($_POST["time_threshold"]); - $max_alerts = entrada_limpia($_POST["max_alerts"]); - $min_alerts = entrada_limpia($_POST["min_alerts"]); - $other = entrada_limpia($_POST["other"]); - if ($time_threshold == -1) { - $time_threshold = $other; + } + $descripcion= entrada_limpia($_POST["descripcion"]); + $campo_1 = entrada_limpia($_POST["campo_1"]); + $campo_2 = entrada_limpia($_POST["campo_2"]); + $campo_3 = entrada_limpia($_POST["campo_3"]); + $maximo = entrada_limpia($_POST["maximo"]); + $minimo = entrada_limpia($_POST["minimo"]); + $time_threshold = entrada_limpia($_POST["time_threshold"]); + $max_alerts = entrada_limpia($_POST["max_alerts"]); + $min_alerts = entrada_limpia($_POST["min_alerts"]); + $other = entrada_limpia($_POST["other"]); + if ($time_threshold == -1) { + $time_threshold = $other; + } + + $sql_insert="UPDATE talerta_agente_modulo SET id_alerta = ".$tipo_alerta.", max_alerts = '".$max_alerts."', min_alerts = '".$min_alerts."' ,time_threshold = '".$time_threshold."' ,dis_min = '".$minimo."' ,dis_max = '".$maximo."' ,al_campo3 = '".$campo_3."' ,al_campo2 = '".$campo_2."' ,al_campo1 = '".$campo_1."' , descripcion = '".$descripcion."' WHERE id_aam = ".$id_aam; + $result=mysql_query($sql_insert); + if (! $result) { + echo "

".$lang_label["update_alert_no"]."

"; + // echo "SQL DEBUG ".$sql_insert; + } + else + echo "

".$lang_label["update_agent_ok"]."

"; + + $id_agente = mysql_insert_id(); +} +// ================================ +// Create AGENT +// ================================ +if (isset($_POST["create_agent"])) { // Create a new and shining agent + $nombre_agente = entrada_limpia($_POST["agente"]); + $direccion_agente = entrada_limpia($_POST["direccion"]); + $grupo = entrada_limpia($_POST["grupo"]); + $intervalo = entrada_limpia($_POST["intervalo"]); + $comentarios = entrada_limpia($_POST["comentarios"]); + $modo = entrada_limpia($_POST["modo"]); + $id_server = entrada_limpia($_POST["id_server"]); + $id_os = entrada_limpia($_POST["id_os"]); + $disabled = entrada_limpia($_POST["disabled"]); + + // Check if agent exists (BUG WC-50518-2 ) + $sql1='SELECT nombre FROM tagente WHERE nombre = "'.$nombre_agente.'"'; + $result=mysql_query($sql1); + if ($row=mysql_fetch_array($result)){ + echo "

".$lang_label["agent_exists"]."

"; + $creacion_agente = 1; + } else { + if ($id_server != ""){ + $sql_insert ="INSERT INTO tagente (nombre, direccion, id_grupo, intervalo, comentarios,modo, id_os, disabled, id_server) VALUES ('".$nombre_agente."', '".$direccion_agente."', '".$grupo."', '".$intervalo."', '".$comentarios."',".$modo.", ".$id_os.", '".$disabled."',$id_server)"; + } else { + $sql_insert ="INSERT INTO tagente (nombre, direccion, id_grupo, intervalo, comentarios,modo, id_os, disabled) VALUES ('".$nombre_agente."', '".$direccion_agente."', '".$grupo."', '".$intervalo."', '".$comentarios."',".$modo.", ".$id_os.", '".$disabled."')"; } - $sql_insert="INSERT INTO talerta_agente_modulo (id_agente_modulo,id_alerta,al_campo1,al_campo2,al_campo3,descripcion,dis_max,dis_min,time_threshold,max_alerts, min_alerts) VALUES ('".$id_agente_modulo."','".$tipo_alerta."','".$campo_1."','".$campo_2."','".$campo_3."','".$descripcion."','".$maximo."','".$minimo."','".$time_threshold."','".$max_alerts."','".$min_alerts."')"; $result=mysql_query($sql_insert); if (! $result) - echo "

".$lang_label["create_alert_no"]."

"; + echo "

".$lang_label["create_agent_no"]."

"; else + echo "

".$lang_label["create_agent_ok"]."

"; $id_agente = mysql_insert_id(); - echo "

".$lang_label["create_alert_ok"]."

"; - - } - // Update ALERT - // ============= - if (isset($_POST["update_alert"])){ // Update an existing alert - $id_aam = entrada_limpia($_POST["id_aam"]); - $tipo_alerta = entrada_limpia($_POST["tipo_alerta"]); - if (isset($_POST["agente_modulo"])) { - $id_agente_modulo = entrada_limpia($_POST["agente_modulo"]); - } - $descripcion= entrada_limpia($_POST["descripcion"]); - $campo_1 = entrada_limpia($_POST["campo_1"]); - $campo_2 = entrada_limpia($_POST["campo_2"]); - $campo_3 = entrada_limpia($_POST["campo_3"]); - $maximo = entrada_limpia($_POST["maximo"]); - $minimo = entrada_limpia($_POST["minimo"]); - $time_threshold = entrada_limpia($_POST["time_threshold"]); - $max_alerts = entrada_limpia($_POST["max_alerts"]); - $min_alerts = entrada_limpia($_POST["min_alerts"]); - $other = entrada_limpia($_POST["other"]); - if ($time_threshold == -1) { - $time_threshold = $other; - } - - $sql_insert="UPDATE talerta_agente_modulo SET id_alerta = ".$tipo_alerta.", max_alerts = '".$max_alerts."', min_alerts = '".$min_alerts."' ,time_threshold = '".$time_threshold."' ,dis_min = '".$minimo."' ,dis_max = '".$maximo."' ,al_campo3 = '".$campo_3."' ,al_campo2 = '".$campo_2."' ,al_campo1 = '".$campo_1."' , descripcion = '".$descripcion."' WHERE id_aam = ".$id_aam; + // Create special MODULE agent_keepalive + $sql_insert ="INSERT INTO tagente_modulo (nombre, id_agente, id_tipo_modulo, descripcion) VALUES ('agent_keepalive', ".$id_agente.",-1,'Agent Keepalive monitor')"; $result=mysql_query($sql_insert); if (! $result) { - echo "

".$lang_label["update_alert_no"]."

"; - // echo "SQL DEBUG ".$sql_insert; + echo "

".$lang_label["create_keep_no"]."

"; } - else - echo "

".$lang_label["update_agent_ok"]."

"; - - $id_agente = mysql_insert_id(); } - // ================================ - // Create AGENT - // ================================ - if (isset($_POST["create_agent"])) { // Create a new and shining agent - $nombre_agente = entrada_limpia($_POST["agente"]); - $direccion_agente = entrada_limpia($_POST["direccion"]); - $grupo = entrada_limpia($_POST["grupo"]); - $intervalo = entrada_limpia($_POST["intervalo"]); - $comentarios = entrada_limpia($_POST["comentarios"]); - $modo = entrada_limpia($_POST["modo"]); - $id_server = entrada_limpia($_POST["id_server"]); - $id_os = entrada_limpia($_POST["id_os"]); - $disabled = entrada_limpia($_POST["disabled"]); +} +// ================ +// Update AGENT +// ================ +if (isset($_POST["update_agent"])) { // if modified some agent paramenter + $id_agente = entrada_limpia($_POST["id_agente"]); + $nombre_agente = entrada_limpia($_POST["agente"]); + $direccion_agente = entrada_limpia($_POST["direccion"]); + $grupo = entrada_limpia($_POST["grupo"]); + $intervalo = entrada_limpia($_POST["intervalo"]); + $comentarios = entrada_limpia($_POST["comentarios"]); + $modo = entrada_limpia($_POST["modo"]); + $id_os = entrada_limpia($_POST["id_os"]); + $disabled = entrada_limpia($_POST["disabled"]); + $id_server = entrada_limpia($_POST["id_server"]); + if ($id_server != ""){ + $sql_update ="UPDATE tagente + SET disabled = ".$disabled." , id_os = ".$id_os." , modo = ".$modo." , nombre = '".$nombre_agente."', direccion = '".$direccion_agente."', id_grupo = '".$grupo."', intervalo = '".$intervalo."', comentarios = '".$comentarios."', id_server = '".$id_server."' + WHERE id_agente = '".$id_agente."'"; + } else { + $sql_update ="UPDATE tagente + SET disabled = ".$disabled." , id_os = ".$id_os." , modo = ".$modo." , nombre = '".$nombre_agente."', direccion = '".$direccion_agente."', id_grupo = '".$grupo."', intervalo = '".$intervalo."', comentarios = '".$comentarios."' + WHERE id_agente = '".$id_agente."'"; + } + $result=mysql_query($sql_update); + if (! $result) { + echo "

".$lang_label["update_agent_no"]."

"; + } else { + echo "

".$lang_label["update_agent_ok"]."

"; + } +} - // Check if agent exists (BUG WC-50518-2 ) - $sql1='SELECT nombre FROM tagente WHERE nombre = "'.$nombre_agente.'"'; +// Read agent data +// This should be at the end of all operation checks, to read the changes +if (isset($_GET["id_agente"])){ + $id_agente = $_GET["id_agente"]; + $id_grupo = dame_id_grupo($id_agente); + if (give_acl($id_user, $id_grupo, "AW")==1){ + $sql1='SELECT * FROM tagente WHERE id_agente = '.$id_agente; $result=mysql_query($sql1); if ($row=mysql_fetch_array($result)){ - echo "

".$lang_label["agent_exists"]."

"; - $creacion_agente = 1; - } else { - if ($id_server != ""){ - $sql_insert ="INSERT INTO tagente (nombre, direccion, id_grupo, intervalo, comentarios,modo, id_os, disabled, id_server) VALUES ('".$nombre_agente."', '".$direccion_agente."', '".$grupo."', '".$intervalo."', '".$comentarios."',".$modo.", ".$id_os.", '".$disabled."',$id_server)"; - } else { - $sql_insert ="INSERT INTO tagente (nombre, direccion, id_grupo, intervalo, comentarios,modo, id_os, disabled) VALUES ('".$nombre_agente."', '".$direccion_agente."', '".$grupo."', '".$intervalo."', '".$comentarios."',".$modo.", ".$id_os.", '".$disabled."')"; - } - $result=mysql_query($sql_insert); - if (! $result) - echo "

".$lang_label["create_agent_no"]."

"; - else - echo "

".$lang_label["create_agent_ok"]."

"; - $id_agente = mysql_insert_id(); - // Create special MODULE agent_keepalive - $sql_insert ="INSERT INTO tagente_modulo (nombre, id_agente, id_tipo_modulo, descripcion) VALUES ('agent_keepalive', ".$id_agente.",-1,'Agent Keepalive monitor')"; - $result=mysql_query($sql_insert); - if (! $result) { - echo "

".$lang_label["create_keep_no"]."

"; - } - } - } - // ================ - // Update AGENT - // ================ - if (isset($_POST["update_agent"])) { // if modified some agent paramenter - $id_agente = entrada_limpia($_POST["id_agente"]); - $nombre_agente = entrada_limpia($_POST["agente"]); - $direccion_agente = entrada_limpia($_POST["direccion"]); - $grupo = entrada_limpia($_POST["grupo"]); - $intervalo = entrada_limpia($_POST["intervalo"]); - $comentarios = entrada_limpia($_POST["comentarios"]); - $modo = entrada_limpia($_POST["modo"]); - $id_os = entrada_limpia($_POST["id_os"]); - $disabled = entrada_limpia($_POST["disabled"]); - $id_server = entrada_limpia($_POST["id_server"]); - if ($id_server != ""){ - $sql_update ="UPDATE tagente - SET disabled = ".$disabled." , id_os = ".$id_os." , modo = ".$modo." , nombre = '".$nombre_agente."', direccion = '".$direccion_agente."', id_grupo = '".$grupo."', intervalo = '".$intervalo."', comentarios = '".$comentarios."', id_server = '".$id_server."' - WHERE id_agente = '".$id_agente."'"; + $intervalo = $row["intervalo"]; // Define interval in seconds + $nombre_agente = $row["nombre"]; + $direccion_agente =$row["direccion"]; + $grupo = $row["id_grupo"]; + $ultima_act = $row["ultimo_contacto"]; + $comentarios = $row["comentarios"]; + $id_server = $row["id_server"]; + $modo = $row["modo"]; + $id_os = $row["id_os"]; + $disabled=$row["disabled"]; } else { - $sql_update ="UPDATE tagente - SET disabled = ".$disabled." , id_os = ".$id_os." , modo = ".$modo." , nombre = '".$nombre_agente."', direccion = '".$direccion_agente."', id_grupo = '".$grupo."', intervalo = '".$intervalo."', comentarios = '".$comentarios."' - WHERE id_agente = '".$id_agente."'"; - } - $result=mysql_query($sql_update); - if (! $result) { - echo "

".$lang_label["update_agent_no"]."

"; - } else { - echo "

".$lang_label["update_agent_ok"]."

"; - } - } - - // Read agent data - // This should be at the end of all operation checks, to read the changes - if (isset($_GET["id_agente"])){ - $id_agente = $_GET["id_agente"]; - $id_grupo = dame_id_grupo($id_agente); - if (give_acl($id_user, $id_grupo, "AW")==1){ - $sql1='SELECT * FROM tagente WHERE id_agente = '.$id_agente; - $result=mysql_query($sql1); - if ($row=mysql_fetch_array($result)){ - $intervalo = $row["intervalo"]; // Define interval in seconds - $nombre_agente = $row["nombre"]; - $direccion_agente =$row["direccion"]; - $grupo = $row["id_grupo"]; - $ultima_act = $row["ultimo_contacto"]; - $comentarios = $row["comentarios"]; - $id_server = $row["id_server"]; - $modo = $row["modo"]; - $id_os = $row["id_os"]; - $disabled=$row["disabled"]; - } else { - echo "

".$lang_label["agent_error"]."

"; - echo ""; - include ("general/footer.php"); - exit; - } - } else { - audit_db($id_user,$REMOTE_ADDR, "ACL Violation","Trying to admin an Agent out of admin groups!"); - require ("general/noaccess.php"); - echo ""; - require ("general/footer.php"); + echo "

".$lang_label["agent_error"]."

"; + echo ""; + include ("general/footer.php"); exit; - } - } - if (isset($_GET["creacion"])) - $creacion_agente = 1; + } + } else { + audit_db($id_user,$REMOTE_ADDR, "ACL Violation","Trying to admin an Agent out of admin groups!"); + require ("general/noaccess.php"); + echo ""; + require ("general/footer.php"); + exit; + } +} +if (isset($_GET["creacion"])) + $creacion_agente = 1; - // Read data module if editing module - // ================================== - if ((isset($_GET["update_module"])) && (!isset($_POST["oid"])) && (!isset($_POST["update_module"]))) { +// Read data module if editing module +// ================================== +if ((isset($_GET["update_module"])) && (!isset($_POST["oid"])) && (!isset($_POST["update_module"]))) { + $update_module = 1; + $id_agente_modulo = $_GET["update_module"]; + + $sql_update = "SELECT * FROM tagente_modulo + WHERE id_agente_modulo = ".$id_agente_modulo; + $result=mysql_query($sql_update); + while ($row=mysql_fetch_array($result)){ + $modulo_id_agente = $row["id_agente"]; + $modulo_id_tipo_modulo = $row["id_tipo_modulo"]; + $modulo_nombre = $row["nombre"]; + $modulo_descripcion = $row["descripcion"]; + $tcp_send = $row["tcp_send"]; + $tcp_rcv = $row["tcp_rcv"]; + $tcp_port = $row["tcp_port"]; + $ip_target = $row["ip_target"]; + $snmp_community = $row["snmp_community"]; + $snmp_oid = $row["snmp_oid"]; + $id_module_group = $row["id_module_group"]; + $module_interval = $row["module_interval"]; + $modulo_max = $row["max"]; + if (! isset($modulo_max)) + $modulo_max ="N/A"; + $modulo_min = $row["min"]; + if (! isset($modulo_min)) + $modulo_min ="N/A"; + } +} +// Read alert data if editing alert +if (isset($_GET["update_alert"])){ + $id_grupo = dame_id_grupo($id_agente); + if (give_acl($id_user, $id_grupo, "LW")==0){ + audit_db($id_user,$REMOTE_ADDR, "ACL Violation","Trying to update an alert without admin rights"); + require ("general/noaccess.php"); + echo ""; + require ("general/footer.php"); + exit; + } + $update_alert = 1; + $id_aam = $_GET["update_alert"]; + $sql_update = "SELECT * FROM talerta_agente_modulo WHERE id_aam = ".$id_aam; + $result=mysql_query($sql_update); + while ($row=mysql_fetch_array($result)){ + $alerta_id_aam = $id_aam; + $alerta_campo1 = $row["al_campo1"]; + $alerta_campo2 = $row["al_campo2"]; + $alerta_campo3 = $row["al_campo3"]; + $alerta_dis_max = $row["dis_max"]; + $alerta_dis_min = $row["dis_min"]; + $tipo_alerta = $row["id_alerta"]; + $alerta_max_alerts = $row["max_alerts"]; + $alerta_min_alerts = $row["min_alerts"]; + $alerta_time_threshold = $row["time_threshold"]; + $alerta_descripcion = $row["descripcion"]; + } + +} + +// GET DATA for MODULE UPDATE OR MODULE INSERT +// =========================================== +if ((isset($_POST["update_module"])) || (isset($_POST["insert_module"]))) { + if (isset($_POST["update_module"])){ $update_module = 1; - $id_agente_modulo = $_GET["update_module"]; - - $sql_update = "SELECT * FROM tagente_modulo - WHERE id_agente_modulo = ".$id_agente_modulo; - $result=mysql_query($sql_update); - while ($row=mysql_fetch_array($result)){ - $modulo_id_agente = $row["id_agente"]; - $modulo_id_tipo_modulo = $row["id_tipo_modulo"]; - $modulo_nombre = $row["nombre"]; - $modulo_descripcion = $row["descripcion"]; - $tcp_send = $row["tcp_send"]; - $tcp_rcv = $row["tcp_rcv"]; - $tcp_port = $row["tcp_port"]; - $ip_target = $row["ip_target"]; - $snmp_community = $row["snmp_community"]; - $snmp_oid = $row["snmp_oid"]; - $id_module_group = $row["id_module_group"]; - $module_interval = $row["module_interval"]; - $modulo_max = $row["max"]; - if (! isset($modulo_max)) - $modulo_max ="N/A"; - $modulo_min = $row["min"]; - if (! isset($modulo_min)) - $modulo_min ="N/A"; - } + $id_agente_modulo = $_POST["id_agente_modulo"]; } - // Read alert data if editing alert - if (isset($_GET["update_alert"])){ - $id_grupo = dame_id_grupo($id_agente); - if (give_acl($id_user, $id_grupo, "LW")==0){ - audit_db($id_user,$REMOTE_ADDR, "ACL Violation","Trying to update an alert without admin rights"); - require ("general/noaccess.php"); - echo ""; - require ("general/footer.php"); - exit; - } - $update_alert = 1; - $id_aam = $_GET["update_alert"]; - $sql_update = "SELECT * FROM talerta_agente_modulo WHERE id_aam = ".$id_aam; - $result=mysql_query($sql_update); - while ($row=mysql_fetch_array($result)){ - $alerta_id_aam = $id_aam; - $alerta_campo1 = $row["al_campo1"]; - $alerta_campo2 = $row["al_campo2"]; - $alerta_campo3 = $row["al_campo3"]; - $alerta_dis_max = $row["dis_max"]; - $alerta_dis_min = $row["dis_min"]; - $tipo_alerta = $row["id_alerta"]; - $alerta_max_alerts = $row["max_alerts"]; - $alerta_min_alerts = $row["min_alerts"]; - $alerta_time_threshold = $row["time_threshold"]; - $alerta_descripcion = $row["descripcion"]; - } - + $id_grupo = dame_id_grupo($id_agente); + if (give_acl($id_user, $id_grupo, "AW")==0){ + audit_db($id_user,$REMOTE_ADDR, "ACL Violation","Trying to create a module without admin rights"); + require ("general/noaccess.php"); + echo ""; + require ("general/footer.php"); + exit; } - - // GET DATA for MODULE UPDATE OR MODULE INSERT - // =========================================== - if ((isset($_POST["update_module"])) || (isset($_POST["insert_module"]))) { - if (isset($_POST["update_module"])){ - $update_module = 1; - $id_agente_modulo = $_POST["id_agente_modulo"]; - } - $id_grupo = dame_id_grupo($id_agente); - if (give_acl($id_user, $id_grupo, "AW")==0){ - audit_db($id_user,$REMOTE_ADDR, "ACL Violation","Trying to create a module without admin rights"); - require ("general/noaccess.php"); - echo ""; - require ("general/footer.php"); - exit; - } - if (isset($_POST["tipo"])) - $id_tipo_modulo = entrada_limpia($_POST["tipo"]); - if (isset($_POST["nombre"])){ - $nombre = entrada_limpia($_POST["nombre"]); - $modulo_nombre = $nombre; - } - if (isset($_POST["descripcion"])){ - $descripcion = entrada_limpia($_POST["descripcion"]); - $modulo_descripcion = $descripcion; - } - if (isset($_POST["modulo_max"])) - $modulo_max = entrada_limpia($_POST["modulo_max"]); - if (isset($_POST["modulo_min"])) - $modulo_min = entrada_limpia($_POST["modulo_min"]); - - // Pandora 1.2 new module data: - if (isset($_POST["tcp_send"])) - $tcp_send = entrada_limpia($_POST["tcp_send"]); - if (isset($_POST["tcp_rcv"])) - $tcp_rcv = entrada_limpia($_POST["tcp_rcv"]); - if (isset($_POST["tcp_port"])) - $tcp_port = entrada_limpia($_POST["tcp_port"]); - if (isset($_POST["ip_target"])) - $ip_target = entrada_limpia($_POST["ip_target"]); - if (isset($_POST["snmp_oid"])) - $snmp_oid = entrada_limpia($_POST["snmp_oid"]); - if (isset($_POST["snmp_community"])) - $snmp_community = entrada_limpia($_POST["snmp_community"]); - if (isset($_POST["id_module_group"])) - $id_module_group = entrada_limpia($_POST["id_module_group"]); - if (isset($_POST["module_interval"])) - $module_interval = entrada_limpia($_POST["module_interval"]); + if (isset($_POST["tipo"])) + $id_tipo_modulo = entrada_limpia($_POST["tipo"]); + if (isset($_POST["nombre"])){ + $nombre = entrada_limpia($_POST["nombre"]); + $modulo_nombre = $nombre; } - // MODULE UPDATE - // ================= - if ((isset($_POST["update_module"])) && (!isset($_POST["oid"]))){ // if modified something - if (isset($_POST["combo_snmp_oid"])){ - $combo_snmp_oid = entrada_limpia($_POST["combo_snmp_oid"]); - if ($snmp_oid == ""){ - $snmp_oid = $combo_snmp_oid; - } - } - $sql_update = "UPDATE tagente_modulo - SET max ='".$modulo_max."', - min = '".$modulo_min."', - nombre='".$nombre."', - descripcion='".$descripcion."', - tcp_send = '$tcp_send', - tcp_rcv = '$tcp_rcv', - tcp_port = '$tcp_port', - ip_target = '$ip_target', - snmp_oid = '$snmp_oid', - snmp_community = '$snmp_community', - id_module_group = '$id_module_group', - module_interval = '$module_interval' - WHERE id_agente_modulo = ".$id_agente_modulo; - $result=mysql_query($sql_update); - if (! $result) { - echo "

".$lang_label["update_module_no"]."

"; - } else { - echo "

".$lang_label["update_module_ok"]."

"; - } - // Init vars to null to avoid trash in forms - $id_tipo_modulo = "";$nombre = "";$descripcion = "";$modulo_max = ""; - $modulo_min = "";// Pandora 1.2 new module data: - $tcp_send = "";$tcp_rcv = "";$tcp_port = "";$ip_target = ""; - $snmp_oid = "";$snmp_community = "";$id_module_group = ""; - $module_interval = ""; $modulo_nombre = ""; $modulo_descripcion = ""; - $update_module = 0; + if (isset($_POST["descripcion"])){ + $descripcion = entrada_limpia($_POST["descripcion"]); + $modulo_descripcion = $descripcion; } - // ========================================================= - // OID Refresh button to get SNMPWALK from data in form - // This code is also applied when submitting a new module (insert_module = 1) - // ========================================================= - if (isset($_POST["oid"])){ - snmp_set_quick_print(1); - if (! ($snmpwalk = snmprealwalk($ip_target, $snmp_community, ""))) { - echo "

".$lang_label["cannot_read_snmp"]."

"; - } else { - echo "

".$lang_label["ok_read_snmp"]."

"; - } - } - - - // ========================================================= - // MODULE INSERT - // ========================================================= - if ((!isset($_POST["oid"])) && (isset($_POST["insert_module"]))){ - if (isset($_POST["combo_snmp_oid"])) { - $combo_snmp_oid = entrada_limpia($_POST["combo_snmp_oid"]); - } + if (isset($_POST["modulo_max"])) + $modulo_max = entrada_limpia($_POST["modulo_max"]); + if (isset($_POST["modulo_min"])) + $modulo_min = entrada_limpia($_POST["modulo_min"]); + + // Pandora 1.2 new module data: + if (isset($_POST["tcp_send"])) + $tcp_send = entrada_limpia($_POST["tcp_send"]); + if (isset($_POST["tcp_rcv"])) + $tcp_rcv = entrada_limpia($_POST["tcp_rcv"]); + if (isset($_POST["tcp_port"])) + $tcp_port = entrada_limpia($_POST["tcp_port"]); + if (isset($_POST["ip_target"])) + $ip_target = entrada_limpia($_POST["ip_target"]); + if (isset($_POST["snmp_oid"])) + $snmp_oid = entrada_limpia($_POST["snmp_oid"]); + if (isset($_POST["snmp_community"])) + $snmp_community = entrada_limpia($_POST["snmp_community"]); + if (isset($_POST["id_module_group"])) + $id_module_group = entrada_limpia($_POST["id_module_group"]); + if (isset($_POST["module_interval"])) + $module_interval = entrada_limpia($_POST["module_interval"]); +} +// MODULE UPDATE +// ================= +if ((isset($_POST["update_module"])) && (!isset($_POST["oid"]))){ // if modified something + if (isset($_POST["combo_snmp_oid"])){ + $combo_snmp_oid = entrada_limpia($_POST["combo_snmp_oid"]); if ($snmp_oid == ""){ $snmp_oid = $combo_snmp_oid; } - if (!isset($tcp_port) || $tcp_port== "") { - $tcp_port= "0"; - } - if (!isset($modulo_max) || $modulo_max=="") { - $modulo_max= "0"; - } - if (!isset($modulo_min) || $modulo_min=="") { - $modulo_min= "0"; - } - $sql_insert = "INSERT INTO tagente_modulo (id_agente,id_tipo_modulo,nombre,descripcion,max,min,snmp_oid,snmp_community,id_module_group,module_interval,ip_target,tcp_port,tcp_rcv,tcp_send) VALUES (".$id_agente.",".$id_tipo_modulo.",'".$nombre."','".$descripcion."','".$modulo_max."','".$modulo_min."', '$snmp_oid', '$snmp_community', '$id_module_group', '$module_interval', '$ip_target', '$tcp_port', '$tcp_rcv', '$tcp_send')"; - // Init vars to null to avoid trash in forms - $id_tipo_modulo = "";$nombre = "";$descripcion = "";$modulo_max = ""; - $modulo_min = "";// Pandora 1.2 new module data: - $tcp_send = "";$tcp_rcv = "";$tcp_port = "";$ip_target = ""; - $snmp_oid = "";$snmp_community = "";$id_module_group = ""; - $module_interval = ""; - - //echo "DEBUG: ".$sql_insert; - - $result=mysql_query($sql_insert); - $id_agente_modulo = mysql_insert_id(); - // Create with different estado if proc type or data type - if ( - ($id_tipo_modulo == 2) || - ($id_tipo_modulo == 6) || - ($id_tipo_modulo == 9) || - ($id_tipo_modulo == 12) || - ($id_tipo_modulo == 18) - ){ - $sql_insert = "INSERT INTO tagente_estado - (id_agente_modulo,datos,timestamp,cambio,estado,id_agente) - VALUES ( - $id_agente_modulo, 0,'0000-00-00 00:00:00',0,0,'".$id_agente."' - )"; - } else { - $sql_insert = "INSERT INTO tagente_estado - (id_agente_modulo,datos,timestamp,cambio,estado,id_agente) - VALUES ( - $id_agente_modulo, 0,'0000-00-00 00:00:00',0,100,'".$id_agente."' - )"; - } - $result2=mysql_query($sql_insert); - if ((! $result) || (! $result2)) { - echo "

".$lang_label["add_module_no"]."

"; - } else { - echo "

".$lang_label["add_module_ok"]."

"; - } } - // MODULE DELETION - // ================= - if (isset($_GET["delete_module"])){ // DELETE agent module ! - $id_borrar_modulo = $_GET["delete_module"]; - $id_grupo = dame_id_grupo($id_agente); - if (give_acl($id_user, $id_grupo, "AW")==0){ - audit_db($id_user,$REMOTE_ADDR, "ACL Violation", - "Trying to delete a module without admin rights"); - require ("general/noaccess.php"); - echo ""; - require ("general/footer.php"); - exit; - } - // Get information of the module to be deleted - $sql1='SELECT id_agente, nombre, id_tipo_modulo FROM tagente_modulo - WHERE id_agente_modulo = '.$id_borrar_modulo; - $result=mysql_query($sql1); - $row=mysql_fetch_array($result); - $id_agente = $row["id_agente"]; - $nombre_modulo = $row["nombre"]; - $id_tipo_modulo = $row["id_tipo_modulo"]; - // First detele from tagente_modulo - $sql_delete= "DELETE FROM tagente_modulo - WHERE id_agente_modulo = ".$id_borrar_modulo; - $result=mysql_query($sql_delete); - if (! $result) { - echo "

".$lang_label["delete_module_no"]."

"; - } else { - echo "

".$lang_label["delete_module_ok"]."

"; - } - // Then delete all staus - $sql_delete = "DELETE FROM tagente_estado - WHERE id_agente_modulo = ".$id_borrar_modulo; - $result=mysql_query($sql_delete); - $sql_delete = "DELETE FROM tagente_datos - WHERE id_agente_modulo = ".$id_borrar_modulo; - $result=mysql_query($sql_delete); - $sql_delete = "DELETE FROM tagente_datos_string - WHERE id_agente_modulo = ".$id_borrar_modulo; - $result=mysql_query($sql_delete); - $sql_delete = "DELETE FROM tagente_datos_inc - WHERE id_agente_modulo = ".$id_borrar_modulo; - $result=mysql_query($sql_delete); - - } - - -// ======================== -// AGENT GENERAL DATA FORM -// ======================== - -echo "

".$lang_label["agent_conf"]."

"; -if (isset($_GET["creacion"])){ - echo "

".$lang_label["create_agent"]." - -  ".$lang_label["help"]."

"; + $sql_update = "UPDATE tagente_modulo + SET max ='".$modulo_max."', + min = '".$modulo_min."', + nombre='".$nombre."', + descripcion='".$descripcion."', + tcp_send = '$tcp_send', + tcp_rcv = '$tcp_rcv', + tcp_port = '$tcp_port', + ip_target = '$ip_target', + snmp_oid = '$snmp_oid', + snmp_community = '$snmp_community', + id_module_group = '$id_module_group', + module_interval = '$module_interval' + WHERE id_agente_modulo = ".$id_agente_modulo; + $result=mysql_query($sql_update); + if (! $result) { + echo "

".$lang_label["update_module_no"]."

"; } else { - echo "

".$lang_label["update_agent"]." - -  ".$lang_label["help"]."

"; + echo "

".$lang_label["update_module_ok"]."

"; } -echo '
'; -if ($creacion_agente == 1) { - echo ""; -} else { - echo ""; - echo ""; + // Init vars to null to avoid trash in forms + $id_tipo_modulo = "";$nombre = "";$descripcion = "";$modulo_max = ""; + $modulo_min = "";// Pandora 1.2 new module data: + $tcp_send = "";$tcp_rcv = "";$tcp_port = "";$ip_target = ""; + $snmp_oid = "";$snmp_community = "";$id_module_group = ""; + $module_interval = ""; $modulo_nombre = ""; $modulo_descripcion = ""; + $update_module = 0; } -echo ''; -echo " - - - - - - - - - - -
"; -echo ''.$lang_label["agent_name"].' -'; -if (isset($_GET["creacion"])){ - echo " "; -} else { - echo " - - - "; -} -?> -
- -
- -
-
- - -
- - - -
- -
- - '; - echo $lang_label["normal_mode"].' - '; - } else { - echo $lang_label["learning_mode"].' - '; - echo $lang_label["normal_mode"].' - '; - } - ?> -
- -'; - echo $lang_label["active"].' - '; - } else { - echo $lang_label["disabled"].' - '; - echo $lang_label["active"].' - '; - } -?> -
-"; -} else { - echo " - "; -} -?> -
- - -

- -

- - - "; - echo ""; - echo ""; - } else - echo "
No modules
"; -?> -
- - - - - - - ".$nombre_modulo; - echo ""; - if ($id_tipo > 0) { - echo ""; - } - if ($module_interval2!=0){ - echo "".$module_interval2; - } else { - echo " N/A"; - } - - echo "".substr($descripcion,0,30)."". - substr(dame_nombre_grupomodulo($module_group2),0,15).""; - if ($module_max == $module_min) { - $module_max = "N/A"; - $module_min = "N/A"; - } - echo $module_max." / ".$module_min; - echo ""; - if ($id_tipo != -1) - echo " - ".$lang_label["delete"]." -   "; - echo " - ".$lang_label["update"].""; - } - echo "
- - - -$sql1='SELECT * FROM tagente_modulo WHERE id_agente = "'.$id_agente.'"'; -$result=mysql_query($sql1); - if ($row=mysql_num_rows($result)){ - - echo "

".$lang_label["assigned_alerts"]." ".$lang_label["help"]."

"; - - $color=1; - $string=''; - while ($row=mysql_fetch_array($result)){ // All modules of this agent - $id_tipo = $row["id_tipo_modulo"]; - $nombre_modulo =$row["nombre"]; - $sql2='SELECT * FROM ttipo_modulo WHERE id_tipo = "'.$id_tipo.'"'; - $result2=mysql_query($sql2); - $row2=mysql_fetch_array($result2); - //module type modulo is $row2["nombre"]; - - $sql3='SELECT id_aam, id_alerta, time_threshold, dis_min, dis_max, - descripcion - FROM talerta_agente_modulo - WHERE id_agente_modulo = '.$row["id_agente_modulo"]; // From all the alerts give me which are from my agent - $result3=mysql_query($sql3); - while ($row3=mysql_fetch_array($result3)){ - if ($color == 1){ - $tdcolor="datos"; - $color =0; - } else { - $tdcolor="datos2"; - $color =1; - } - $sql4='SELECT nombre FROM talerta WHERE id_alerta = '.$row3["id_alerta"]; - $result4=mysql_query($sql4); - $row4=mysql_fetch_array($result4); - // Alert name defined by $row4["nombre"]; - $tipo_modulo = $row2["nombre"]; - $nombre_alerta = $row4["nombre"]; - $string = $string."".$nombre_modulo."/".$tipo_modulo; - $string = $string."".$nombre_alerta; - $string = $string."".$row3["time_threshold"]; - $string = $string."".$row3["dis_min"]."/".$row3["dis_max"]; - $string = $string."".salida_limpia($row3["descripcion"]); - $string = $string.""; - $id_grupo = dame_id_grupo($id_agente); - if (give_acl($id_user, $id_grupo, "LW")==1){ - $string = $string." - ".$lang_label["delete"]."   "; - $string = $string." - ".$lang_label["update"].""; - } - $string = $string.""; - } - } - if (isset($string) & $string!='') { - echo " - - - - - - "; - echo $string; - echo "
".$lang_label["name_type"]."".$lang_label["alert"]."".$lang_label["time_threshold"]."".$lang_label["min_max"]."".$lang_label["description"]."".$lang_label["action"]."
"; - } else { - echo "
".$lang_label["no_alerts"]."
"; - } - } else { - echo "
".$lang_label["no_modules"]."
"; - } -?> - -
-'; - -// ==================================================================================== -// Module Creation / Update form -// ==================================================================================== - -if ($update_module == "1"){ - echo ''; - echo ''; -} -else { - echo ''; - // Default values for new modules - if ($ip_target == ""){ - $ip_target = $direccion_agente; - $snmp_community = "public"; - $module_interval = $intervalo; - } -} -?> -

-

- - - -
- - - -"; - echo "".$lang_label["no_change_field"].""; -} else { - echo '"; -} -?> - - - - - -'; - if ($update_module == "1"){ - echo "
- - - - -
- - - - -
- - - - - - - -
- - -
- - - - - -
- - - - -
- - -
-'; + snmp_set_quick_print(1); + if (! ($snmpwalk = snmprealwalk($ip_target, $snmp_community, ""))) { + echo "

".$lang_label["cannot_read_snmp"]."

"; } else { - echo ''; + echo "

".$lang_label["ok_read_snmp"]."

"; } - echo ""; - echo "
"; -?> - -
-
- - - -

 

- - -'; -if (! isset($update_alert)) - $update_alert = -1; -if ($update_alert != 1) { - echo ''; -} else { - echo ''; - echo ' - - -'; -echo '
- - - - -
- -     - -
- -
- -
- -
- -
- - - -    - - -
- - - -    - - - -
- - '; - $sql2='SELECT id_agente_modulo, id_tipo_modulo, nombre FROM tagente_modulo WHERE id_agente = '.$id_agente; - $result2=mysql_query($sql2); - while ($row2=mysql_fetch_array($result2)){ - if ($row2["id_tipo_modulo"] != -1) { - $sql1='SELECT nombre FROM ttipo_modulo WHERE id_tipo = '.$row2["id_tipo_modulo"]; - $result=mysql_query($sql1); - while ($row=mysql_fetch_array($result)){ - echo ""; + if ($snmp_oid == ""){ + $snmp_oid = $combo_snmp_oid; } - echo ""; -} else { - echo "".$lang_label["no_change_field"].""; -} + if (!isset($tcp_port) || $tcp_port== "") { + $tcp_port= "0"; + } + if (!isset($modulo_max) || $modulo_max=="") { + $modulo_max= "0"; + } + if (!isset($modulo_min) || $modulo_min=="") { + $modulo_min= "0"; + } + $sql_insert = "INSERT INTO tagente_modulo (id_agente,id_tipo_modulo,nombre,descripcion,max,min,snmp_oid,snmp_community,id_module_group,module_interval,ip_target,tcp_port,tcp_rcv,tcp_send) VALUES (".$id_agente.",".$id_tipo_modulo.",'".$nombre."','".$descripcion."','".$modulo_max."','".$modulo_min."', '$snmp_oid', '$snmp_community', '$id_module_group', '$module_interval', '$ip_target', '$tcp_port', '$tcp_rcv', '$tcp_send')"; + // Init vars to null to avoid trash in forms + $id_tipo_modulo = "";$nombre = "";$descripcion = "";$modulo_max = ""; + $modulo_min = "";// Pandora 1.2 new module data: + $tcp_send = "";$tcp_rcv = "";$tcp_port = "";$ip_target = ""; + $snmp_oid = "";$snmp_community = "";$id_module_group = ""; + $module_interval = ""; - // End block only if $creacion_agente != 1; + //echo "DEBUG: ".$sql_insert; -echo '
'; - if ($update_alert== "1"){ - echo ''; + $result=mysql_query($sql_insert); + $id_agente_modulo = mysql_insert_id(); + // Create with different estado if proc type or data type + if ( + ($id_tipo_modulo == 2) || + ($id_tipo_modulo == 6) || + ($id_tipo_modulo == 9) || + ($id_tipo_modulo == 12) || + ($id_tipo_modulo == 18) + ){ + $sql_insert = "INSERT INTO tagente_estado + (id_agente_modulo,datos,timestamp,cambio,estado,id_agente) + VALUES ( + $id_agente_modulo, 0,'0000-00-00 00:00:00',0,0,'".$id_agente."' + )"; + } else { + $sql_insert = "INSERT INTO tagente_estado + (id_agente_modulo,datos,timestamp,cambio,estado,id_agente) + VALUES ( + $id_agente_modulo, 0,'0000-00-00 00:00:00',0,100,'".$id_agente."' + )"; + } + $result2=mysql_query($sql_insert); + if ((! $result) || (! $result2)) { + echo "

".$lang_label["add_module_no"]."

"; } else { - echo ''; + echo "

".$lang_label["add_module_ok"]."

"; } - echo ''; +} +// MODULE DELETION +// ================= +if (isset($_GET["delete_module"])){ // DELETE agent module ! + $id_borrar_modulo = $_GET["delete_module"]; + $id_grupo = dame_id_grupo($id_agente); + if (give_acl($id_user, $id_grupo, "AW")==0){ + audit_db($id_user,$REMOTE_ADDR, "ACL Violation", + "Trying to delete a module without admin rights"); + require ("general/noaccess.php"); + echo "
"; + require ("general/footer.php"); + exit; + } + // Get information of the module to be deleted + $sql1='SELECT id_agente, nombre, id_tipo_modulo FROM tagente_modulo + WHERE id_agente_modulo = '.$id_borrar_modulo; + $result=mysql_query($sql1); + $row=mysql_fetch_array($result); + $id_agente = $row["id_agente"]; + $nombre_modulo = $row["nombre"]; + $id_tipo_modulo = $row["id_tipo_modulo"]; + // First detele from tagente_modulo + $sql_delete= "DELETE FROM tagente_modulo + WHERE id_agente_modulo = ".$id_borrar_modulo; + $result=mysql_query($sql_delete); + if (! $result) { + echo "

".$lang_label["delete_module_no"]."

"; + } else { + echo "

".$lang_label["delete_module_ok"]."

"; + } + // Then delete all staus + $sql_delete = "DELETE FROM tagente_estado + WHERE id_agente_modulo = ".$id_borrar_modulo; + $result=mysql_query($sql_delete); + $sql_delete = "DELETE FROM tagente_datos + WHERE id_agente_modulo = ".$id_borrar_modulo; + $result=mysql_query($sql_delete); + $sql_delete = "DELETE FROM tagente_datos_string + WHERE id_agente_modulo = ".$id_borrar_modulo; + $result=mysql_query($sql_delete); + $sql_delete = "DELETE FROM tagente_datos_inc + WHERE id_agente_modulo = ".$id_borrar_modulo; + $result=mysql_query($sql_delete); - echo "
"; -echo ''; } + +if (isset($_GET["tab"])) + $tab = $_GET["tab"]; +else + $tab = "main"; + +echo ""; + +switch ($tab) { +case "main": require "agent_manager.php"; + break; +case "module": require "module_manager.php"; + break; +case "alert": require "alert_manager.php"; + break; } - } // end page -else { - audit_db($id_user,$REMOTE_ADDR, "ACL Violation","Trying to access Agent Management"); - require ("general/noaccess.php"); - } + + +echo "FUCKIN SHIT"; +?> \ No newline at end of file diff --git a/pandora_console/godmode/agentes/module_manager.php b/pandora_console/godmode/agentes/module_manager.php new file mode 100644 index 0000000000..d7077d8a2e --- /dev/null +++ b/pandora_console/godmode/agentes/module_manager.php @@ -0,0 +1,336 @@ + + + + +

+ +

+ + + "; + echo ""; + echo ""; + } else + echo "
No modules
"; +} +// ==================================================================================== +// Module Creation / Update form +// ==================================================================================== +else { + + echo ''; + if ($update_module == "1"){ + echo ''; + echo ''; + } + else { // Create + echo ''; + // Default values for new modules + if ($ip_target == ""){ + $ip_target = $direccion_agente; + $snmp_community = "public"; + $module_interval = $intervalo; + } + } +} +?> + +

+

+ +
+ + + + + + + ".$nombre_modulo; + echo ""; + if ($id_tipo > 0) { + echo ""; + } + if ($module_interval2!=0){ + echo "".$module_interval2; + } else { + echo " N/A"; + } + + echo "".substr($descripcion,0,30)."". + substr(dame_nombre_grupomodulo($module_group2),0,15).""; + if ($module_max == $module_min) { + $module_max = "N/A"; + $module_min = "N/A"; + } + echo $module_max." / ".$module_min; + echo ""; + if ($id_tipo != -1) + echo " + ".$lang_label["delete"]." +   "; + echo " + ".$lang_label["update"].""; + } + echo "
+ +
+ + + +"; + echo "".$lang_label["no_change_field"].""; +} else { + echo '"; +} +?> + + + + + +'; + if ($update_module == "1"){ + echo "
+ + + + +
+ + + + +
+ + + + + + + +
+ + +
+ + + + + +
+ + + + +
+ + +
+'; + } else { + echo ''; + } + echo ""; + echo "
"; +?> + +
+ diff --git a/pandora_console/godmode/menu.php b/pandora_console/godmode/menu.php index fb74a8b63d..6de3bedef2 100644 --- a/pandora_console/godmode/menu.php +++ b/pandora_console/godmode/menu.php @@ -3,7 +3,7 @@ // Pandora - the Free monitoring system // ==================================== // Copyright (c) 2004-2006 Sancho Lerena, slerena@gmail.com -// Copyright (c) 2005-2006 Artica Soluciones Tecnológicas S.L, info@artica.es +// Copyright (c) 2005-2006 Artica Soluciones Tecnol�icas S.L, info@artica.es // Copyright (c) 2004-2006 Raul Mateos Martin, raulofpandora@gmail.com // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License @@ -23,7 +23,7 @@ if (comprueba_login() == 0){ ?> -
+
:: ::
diff --git a/pandora_console/images/bottom-left-corner.gif b/pandora_console/images/bottom-left-corner.gif new file mode 100644 index 0000000000..cd2877ce20 Binary files /dev/null and b/pandora_console/images/bottom-left-corner.gif differ diff --git a/pandora_console/images/bottom-right-corner.gif b/pandora_console/images/bottom-right-corner.gif new file mode 100644 index 0000000000..203a1606f8 Binary files /dev/null and b/pandora_console/images/bottom-right-corner.gif differ diff --git a/pandora_console/include/config.inc.php b/pandora_console/include/config.inc.php index e17ee54d91..e8c569dc36 100644 --- a/pandora_console/include/config.inc.php +++ b/pandora_console/include/config.inc.php @@ -1,5 +1,4 @@ ul, div.arrowgs>ul { margin-left: 26px; padding: 0px 0px 0px 14px; } -div#menug { - background-color: #f5f5dc; - border: 1px solid #4a6629; - width: 155px; - margin-bottom: 15px; -} #god a:hover, #god1 li:hover, #god1s li, #god2 li:hover, #god2s li, #god3 li:hover, #god3s li, #god4 li:hover, #god4s li, #god5 li:hover, #god5s li, #god6 li:hover, #god6s li, diff --git a/pandora_console/include/styles/link.css b/pandora_console/include/styles/link.css index 4909605965..8f975d8fcc 100644 --- a/pandora_console/include/styles/link.css +++ b/pandora_console/include/styles/link.css @@ -2,6 +2,11 @@ display: block; color: #000; } +div#menul { + background-color: #e9f3d2; + border: 1px solid #dAdBdC; + width: 155px; +} div.linkli>ul { width: 133px; } @@ -17,8 +22,3 @@ div.linkli>ul { #link a:hover, .linkli li:hover { background-color: #cde0ad; } -div#menul { - background-color: #e9f3d2; - border: 1px solid #4a6629; - width: 155px; -} \ No newline at end of file diff --git a/pandora_console/include/styles/op.css b/pandora_console/include/styles/op.css index 4cbc217ac8..1de51cc7e5 100644 --- a/pandora_console/include/styles/op.css +++ b/pandora_console/include/styles/op.css @@ -9,6 +9,13 @@ border-bottom: 1px solid #d4d4d4; border-top: 1px solid #eee; } +div#menuop { + background-color: #e6e9cd; + border: 1px solid #dAdBdC; + /* border: 1px solid #4a6629; */ + width: 155px; + margin-bottom: 15px; + } #op1 li, #op2 li, #op3 li, #op4 li, #op5 li, #op6 li, #op7 li, #op8 li, #op9 li, #op1s li, #op2s li, #op3s li, #op4s li, #op5s li, #op6s li, #op7s li, #op8s li, #op9s li { padding: 0px 0px 0px 28px; @@ -53,12 +60,7 @@ div.arrow>ul, div.arrows>ul { margin-left: 26px; padding: 0px 0px 0px 14px; } -div#menuop { - background-color: #e6e9cd; - border: 1px solid #4a6629; - width: 155px; - margin-bottom: 15px; -} + #op a:hover , #op1 li:hover, #op1s li , #op2 li:hover, #op2s li , #op3 li:hover, #op3s li , #op4 li:hover, #op4s li , #op5 li:hover, #op5s li , #op6 li:hover, #op6s li , diff --git a/pandora_console/include/styles/pandora.css b/pandora_console/include/styles/pandora.css index 8b170aa370..999e88cda3 100644 --- a/pandora_console/include/styles/pandora.css +++ b/pandora_console/include/styles/pandora.css @@ -136,14 +136,7 @@ div#db_ftxt { #page { width: 960px; } -#head { - border-bottom: 1px solid #708090; - text-align: right; - padding-bottom: 10px; - font-size: 10px; - width: 100%; - margin-bottom: 27px; -} + #main { width: 780px; float: right; @@ -153,11 +146,7 @@ div#db_ftxt { width: 155px; float: left; } -#foot { - padding-top: 25px; - text-align: center; - clear: both; -} + div#page>div#menu { width: 157px; } @@ -215,19 +204,17 @@ td.lb { font-weight: bold; } td.datos, td.datost, td.datosb, td.datos_id, td.datosf9, -td.datosf9i, td.datos_jus { - background-color: #f5f5f5; -} -td.w90datos, td.w135datos, td.w230datos { - background-color: #f5f5f5; +td.datosf9i, td.datos_jus, td.w90datos, td.w135datos { + /* background-color: #f5f5f5; */ + background-color: #F9F9F9; } + td.datos2, td.datos2t, td.datos2b, td.datos2_id, td.datos2f9, -td.datos2f9i, td.datos2_jus { - background-color: #fafbfc; -} -td.w90datos2, td.w135datos2, td.w230datos2 { - background-color: #fafbfc; +td.datos2f9i, td.datos2_jus, td.w90datos2, td.w135datos2 { + /* background-color: #fafbfc; */ + background-color: #e6e9cd; } + td.datos3 { background-color: #e6e9cd; } @@ -237,14 +224,25 @@ td.datos_id { td.datos_jus, td.datos2_jus { text-align: justify; } -.bg , .bgt { +.bg , .bgt { /* op menu */ background-color: #4a6629; } -.bg { +.bg2 { /* main page */ + background-color: #D84437; +} +.bg3 { /* godmode */ + background-color: #D84437; +} +.bg4 { /* links */ + background-color: #D8C4C4; +} + +.bg, .bg2, .bg3, .bg4 { position: relative; height: 20px; width: 100%; } + .f10, .w155f10, #ip { font-size: 10px; text-align: center; @@ -369,9 +367,6 @@ td.datosf9i, td.datos2f9i { .w200 { width: 200px; } -.w230datos, .w230datos2 { - width: 230px; -} .w255 { width: 255px; } @@ -419,7 +414,7 @@ div.imgr>img { div.nf { background: url(../../images/info.gif) no-repeat; color: #9a2f0a; - margin-left: 7px; + margin-left: 7px; padding: 2px 1px 6px 25px; } div#wizard { @@ -443,15 +438,69 @@ div#install_box { width: 350px; } -div#data_box { - float: right; - padding-right: 20px; - margin-top: 10px; - background-color: #ffffff; - border: 1px solid #999999; - width: 700px; - margin-top: 3em; +div.title_line { + background-color: #4E682C; + height: 5px; + width: 762px; } + +div.data_box { + border-top: 5px solid #4E682C; + padding-left: 10px; + padding-top: 0px; + padding-bottom: 20px; + margin-bottom: 25px; + background-color: #fefefe; + /* border: 1px solid #dAdBdC; */ + width: 800px; + float: left; + margin-top: 0px; + margin-left: -5px; + margin-right: 0px; +} + +#menu_tab .mn, #menu_tab ul, #menu_tab .mn ul +{ + padding: 0px; + list-style: none; + margin: 0px; +} +#menu_tab .mn li +{ + float: right; + position: relative; +} +#menu_tab li a, #menu_tab li.nomn a +{ + background: #db6351; + padding: 1px 9px 1px 9px; + color: #fff; + border: 1px solid #E01A1E; + font-weight: bold; + line-height: 17px; +} + +#menu_tab .mn li a +{ + display: block; + text-decoration: none; +} + +#menu_tab li.nomn:hover a, +#menu_tab li:hover ul a:hover +{ + background: #b2b08a; +} +#menu_tab li:hover a +{ + background: #b2b08a url("../images/arrow.gif") no-repeat right 3px; +} +#menu_tab li:hover ul a, #menu_tab .mn ul +{ + background: #db6351; + border-top: none; +} + span.users { background: url(../../images/usuarios.gif) no-repeat; } diff --git a/pandora_console/index.php b/pandora_console/index.php index a48cb78361..7abb9ce4d8 100644 --- a/pandora_console/index.php +++ b/pandora_console/index.php @@ -163,36 +163,58 @@ if (isset ($_GET["refr"])){ logoff_db ($iduser, $REMOTE_ADDR); session_unregister ("id_usuario"); } + $pagina = ""; + if (isset ($_GET["sec"])){ + $sec = parametro_limpio ($_GET["sec"]); + $pagina = $sec2; + } + else + $sec = ""; + + if (isset ($_GET["sec2"])){ + $sec2 = parametro_limpio ($_GET["sec2"]); + $pagina = $sec2; + } else + $sec2 = ""; + + ?>
- - "") { - if (file_exists ($pagina . ".php")) { - require ($pagina . ".php"); - } else { - echo "
Sorry! I can't find the page!"; - } - } - } elseif (isset ($_GET["sec"])) { - $pagina = parametro_limpio ($_GET["sec"]); - + +
+ +
+ Pandora FMS Header +
+

+ +

+
+ + + +
+ + Sorry! I can't find the page!"; - } - } else { + } + } elseif (isset ($_GET["sec"])) { require ("general/logon_ok.php"); //default } - ?> + ?> +
+ +
+
- diff --git a/pandora_console/operation/agentes/estado_generalagente.php b/pandora_console/operation/agentes/estado_generalagente.php index a5ee931351..43faec7936 100644 --- a/pandora_console/operation/agentes/estado_generalagente.php +++ b/pandora_console/operation/agentes/estado_generalagente.php @@ -50,8 +50,7 @@ if (comprueba_login() == 0) { } } - echo "

".$lang_label["ag_title"]."

"; - echo "

".$lang_label["view_agent_general_data"]." ".$lang_label["help"]."

"; + echo "

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

"; echo ''; echo ' diff --git a/pandora_console/operation/agentes/ver_agente.php b/pandora_console/operation/agentes/ver_agente.php index 954eafe85f..f16ee25c4c 100644 --- a/pandora_console/operation/agentes/ver_agente.php +++ b/pandora_console/operation/agentes/ver_agente.php @@ -49,26 +49,34 @@ if (comprueba_login() == 0) { $tab = $_GET["tab"]; else $tab = "main"; - echo "Main - "; - echo "Data - "; + + echo " + "; + switch ($tab) { - case "main": - echo "

Main view

"; - require "estado_generalagente.php"; + case "main": require "estado_generalagente.php"; echo "
"; //require "estado_monitores.php"; break; - case "data": echo "

Monitors

"; - require "estado_ultimopaquete.php"; + case "data": require "estado_ultimopaquete.php"; break; - case "alert": echo "

Alerts

"; - require "estado_alertas.php"; + case "alert": require "estado_alertas.php"; break; } - echo ""; } else { audit_db($id_usuario,$REMOTE_ADDR, "ACL Violation","Trying to read data from agent ".dame_nombre_agente($id_agente)); require ("general/noaccess.php"); diff --git a/pandora_console/operation/messages/message.php b/pandora_console/operation/messages/message.php index b951db6540..cc5320b192 100644 --- a/pandora_console/operation/messages/message.php +++ b/pandora_console/operation/messages/message.php @@ -168,15 +168,22 @@ else { echo ""; if ($row3["estado"]==1) echo ""; else echo ""; - echo ""; - echo ""; + + echo ""; + echo ""; } echo ""; } - else echo "
".$lang_label["no_messages"]."
'.$lang_label["agent_name"].'
".$row3["id_usuario_origen"].""; - if ($row3["subject"]) echo $row3["subject"].""; - else echo "".$lang_label["no_subject"].""; - echo "".$row3["timestamp"]."
"; + echo "".$row3["id_usuario_origen"].""; + + if ($row3["subject"]) + echo $row3["subject"].""; + else + echo "".$lang_label["no_subject"].""; + + echo "".$row3["timestamp"]."
"; //no messages + else + echo "
".$lang_label["no_messages"]."
"; //no messages //read mess if (isset($_GET["leer"])){ @@ -189,7 +196,7 @@ else { echo '
- +
'.$lang_label["from"].':'.$row4["id_usuario_origen"].'
'.$lang_label["from"].':'.$row4["id_usuario_origen"].'
'.$lang_label["subject"].':'.$row4["subject"].'
'.$lang_label["message"].':