// Please see http://pandora.sourceforge.net for full contribution list // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License // as published by the Free Software Foundation for version 2. // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. // Load global vars require("include/config.php"); if (give_acl($id_user, 0, "AW")!=1) { audit_db($id_usuario,$REMOTE_ADDR, "ACL Violation","Trying to access agent manager"); require ("general/noaccess.php"); exit; }; if (isset($_GET["id_agente"])) $id_agente = $_GET["id_agente"]; else { $id_agente = -1; if (isset($_POST["update_agent"])) { // if modified some agent paramenter $id_agente = entrada_limpia($_POST["id_agente"]); } } // Get passed variables $tab = get_parameter_get ("tab","main"); $form_moduletype = get_parameter_post ("form_moduletype"); $form_alerttype = get_parameter ("form_alerttype"); $moduletype = get_parameter_get ("moduletype"); // Init vars $descripcion = ""; $comentarios = ""; $campo_1 = ""; $campo_2 = ""; $campo_3 = ""; $maximo = "0"; $minimo = "0"; $nombre_agente = ""; $direccion_agente = ""; $intervalo = "300"; $id_server = ""; $max_alerts = 0; $modo = 1; $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_min_alerts = "0"; $alerta_max_alerts = "1"; $alerta_time_threshold = ""; $alerta_descripcion = ""; $disabled=""; $modulo_max=""; $modulo_min=''; $module_interval = ""; $tcp_port = ""; $tcp_send = ""; $tcp_rcv = ""; $snmp_oid= ""; $ip_target =""; $snmp_community=""; $combo_snmp_oid=""; $agent_created_ok = 0; $create_agent = 0; $alert_text = ""; $time_from= ""; $time_to = ""; $alerta_campo2_rec = ""; $alerta_campo3_rec = ""; $alert_id_agent = ""; $alert_d1 = "1"; $alert_d2 = "1"; $alert_d3 = "1"; $alert_d4 = "1"; $alert_d5 = "1"; $alert_d6 = "1"; $alert_d7 = "1"; $alert_recovery = "0"; $alert_priority = "0"; // ================================ // Create AGENT // ================================ // We need to create agent BEFORE showing tabs, because we need to get agent_id // This is not very clean, but... 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_network_server = get_parameter_post ($_POST["network_server"], 0); $id_plugin_server = get_parameter_post ($_POST["plugin_server"], 0); $id_prediction_server = get_parameter_post ($_POST["prediction_server"], 0); $id_wmi_server = get_parameter_post ($_POST["wmi_server"], 0); $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)){ $agent_creation_error = lang_string("agent_exists"); $agent_created_ok = 0; } else { $sql_insert ="INSERT INTO tagente (nombre, direccion, id_grupo, intervalo, comentarios,modo, id_os, disabled, id_network_server, id_plugin_server, id_wmi_server, id_prediction_server) VALUES ('$nombre_agente', '$direccion_agente', $grupo , $intervalo , '$comentarios',$modo, $id_os, $disabled, $id_network_server, $id_plugin_server, $id_wmi_server, $id_prediction_server)"; $result = mysql_query($sql_insert); if ($result) { $agent_created_ok = 1; $agent_creation_error = ""; $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.",100,'Agent Keepalive monitor')"; $result=mysql_query($sql_insert); $id_agent_module = mysql_insert_id(); // And create MODULE agent_keepalive in tagente_estado table $sql_insert2 ="INSERT INTO tagente_estado (id_agente_modulo, datos, timestamp, cambio, estado, id_agente, last_try, utimestamp, current_interval, running_by, last_execution_try) VALUES ($id_agent_module, 1, '', 0, 0, $id_agente, 0,0,0,0,0)"; $result = mysql_query ($sql_insert2); if (!$result){ $agent_created_ok = 0; $agent_creation_error = "Problem creating record on tagente_estado table"; } // Create address for this agent in taddress agent_add_address ($id_agente, $direccion_agente); } else { $agent_created_ok = 0; $agent_creation_error = "Cannot create agent
$sql_insert"; } } } // Show tabs // ----------------- echo ""; // menu_tab_frame // Make some space between tabs and title echo "
"; // Show agent creation results if (isset($_POST["create_agent"])){ if ($agent_created_ok == 0){ echo "

".$lang_label["create_agent_no"]."

"; echo $agent_creation_error; } else { echo "

".$lang_label["create_agent_ok"]."

"; } } // Fix / Normalize module data // =========================== if (isset($_GET["fix_module"])){ $id_module = $_GET["fix_module"]; $id_agent = $_GET["id_agente"]; // get info about this module $sql1 = "SELECT AVG(datos) FROM tagente_datos WHERE id_agente_modulo = $id_module AND id_agente = $id_agent"; $result=mysql_query($sql1); if ($row=mysql_fetch_array($result)){ $media = $row[0]; $media = $media * 1.3; $sql1 = "DELETE FROM tagente_datos WHERE datos > $media AND id_agente_modulo = $id_module AND id_agente = $id_agent"; $result=mysql_query($sql1); echo "

".$lang_label["delete_data_above"]." $media

"; } } // 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"]."

"; } // Delete Alert component (from a combined) // ========================================== if (isset($_GET["delete_alert_comp"])){ // if modified some parameter $id_borrar_modulo = $_GET["delete_alert_comp"]; // get info about agent $sql1='DELETE FROM tcompound_alert 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_modulo = get_parameter ("agente_modulo",0); $maximo = get_parameter ("maximo",0); $minimo = get_parameter ("minimo",0); $descripcion= get_parameter ('descripcion', ''); $campo_1 = get_parameter ('campo_1', ''); $campo_2 = get_parameter ('campo_2', ''); $campo_3 = get_parameter ('campo_3', ''); $tipo_alerta = get_parameter ("tipo_alerta",3); $alert_text = get_parameter ("alert_text",''); $time_threshold = get_parameter ("time_threshold",900); $max_alerts = get_parameter ("max_alerts",1); $min_alerts = get_parameter ("min_alerts",0); $time_from = get_parameter ("time_from"); $time_to= get_parameter ("time_to"); $other = get_parameter ("other",0); $disable_alert = get_parameter ("disable_alert"); $alert_d1 = get_parameter("alert_d1",0); $alert_d2 = get_parameter("alert_d2",0); $alert_d3 = get_parameter("alert_d3",0); $alert_d4 = get_parameter("alert_d4",0); $alert_d5 = get_parameter("alert_d5",0); $alert_d6 = get_parameter("alert_d6",0); $alert_d7 = get_parameter("alert_d7",0); $alert_recovery = get_parameter("alert_recovery", 1); $alert_priority = get_parameter("alert_priority", 0); $campo2_rec = get_parameter ("campo_2_rec",""); $campo3_rec = get_parameter ("campo_3_rec",""); if ((isset($combined)) AND ($combined == 1)) $alert_id_agent = $id_agente; else $alert_id_agent = 0; if ($time_threshold == -1) { $time_threshold = $other; } $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, alert_text, disable, time_from, time_to, id_agent, monday, tuesday, wednesday, thursday, friday, saturday, sunday, recovery_notify, priority, al_f2_recovery, al_f3_recovery) VALUES ('$id_agente_modulo', '$tipo_alerta', '$campo_1', '$campo_2', '$campo_3', '$descripcion', '$maximo', '$minimo', '$time_threshold', '$max_alerts', '$min_alerts', '$alert_text', '$disable_alert', '$time_from', '$time_to', $alert_id_agent, $alert_d1, $alert_d2, $alert_d3, $alert_d4, $alert_d5, $alert_d6, $alert_d7, $alert_recovery, $alert_priority, '$campo2_rec', '$campo2_rec' )"; $result=mysql_query($sql_insert); if (! $result) { echo "

".$lang_label["create_alert_no"]."

"; } else { $id_alerta_agente_modulo = mysql_insert_id(); echo "

".$lang_label["create_alert_ok"]."

"; } } // Combined ALERT - Add component // ================================ if (isset($_POST["add_alert_combined"])){ // Update an existing alert $alerta_id_aam = get_parameter ("update_alert",-1); $component_item = get_parameter ("component_item",-1); $component_operation = get_parameter ("component_operation","AND"); $sql_insert = "INSERT INTO tcompound_alert (id, id_aam, operation) VALUES ($alerta_id_aam, $component_item, '$component_operation')"; $result=mysql_query($sql_insert); if (! $result) { echo "

".lang_string ("Problem adding component alert")."

"; } else { echo "

".lang_string ("Alert component added ok")."

"; } } // Update ALERT // ============= if (isset($_POST["update_alert"])){ // Update an existing alert $id_agente_modulo = get_parameter ("agente_modulo",0); $id_aam = get_parameter ("id_aam",0); $maximo = get_parameter ("maximo",0); $minimo = get_parameter ("minimo",0); $descripcion= get_parameter ('descripcion', ''); $campo_1 = get_parameter ('campo_1', ''); $campo_2 = get_parameter ('campo_2', ''); $campo_3 = get_parameter ('campo_3', ''); $tipo_alerta = get_parameter ("tipo_alerta",3); $alert_text = get_parameter ("alert_text",''); $time_threshold = get_parameter ("time_threshold",900); $max_alerts = get_parameter ("max_alerts",1); $min_alerts = get_parameter ("min_alerts",0); $time_from = get_parameter ("time_from"); $time_to= get_parameter ("time_to"); $other = get_parameter ("other",0); $disable_alert = get_parameter ("disable_alert"); $alert_d1 = get_parameter("alert_d1",0); $alert_d2 = get_parameter("alert_d2",0); $alert_d3 = get_parameter("alert_d3",0); $alert_d4 = get_parameter("alert_d4",0); $alert_d5 = get_parameter("alert_d5",0); $alert_d6 = get_parameter("alert_d6",0); $alert_d7 = get_parameter("alert_d7",0); $alert_recovery = get_parameter("alert_recovery", 1); $alert_priority = get_parameter("alert_priority", 0); $campo2_rec = get_parameter ("campo_2_rec",""); $campo3_rec = get_parameter ("campo_3_rec",""); $alert_d1 = get_parameter("alert_d1",0); $alert_d2 = get_parameter("alert_d2",0); $alert_d3 = get_parameter("alert_d3",0); $alert_d4 = get_parameter("alert_d4",0); $alert_d5 = get_parameter("alert_d5",0); $alert_d6 = get_parameter("alert_d6",0); $alert_d7 = get_parameter("alert_d7",0); $alert_recovery = get_parameter("alert_recovery", 1); $alert_priority = get_parameter("alert_priority", 0); $campo2_rec = get_parameter ("campo_2_rec",""); $campo3_rec = get_parameter ("campo_3_rec",""); 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', alert_text = '$alert_text', time_to = '$time_to', time_from = '$time_from', disable = '$disable_alert', monday = '$alert_d1', tuesday = '$alert_d2', wednesday = '$alert_d3', thursday = '$alert_d4', friday = '$alert_d5', saturday = '$alert_d6', sunday = '$alert_d7', recovery_notify = $alert_recovery, priority = $alert_priority, al_f2_recovery = '$campo2_rec', al_f3_recovery = '$campo3_rec', id_alerta = $tipo_alerta 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"]."

"; } // ================ // 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"]); $old_agent_address = give_agent_address ($id_agente); $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_network_server = get_parameter ("network_server", 0); $id_plugin_server = get_parameter ("plugin_server", 0); $id_wmi_server = get_parameter ("wmi_server", 0); $id_prediction_server = get_parameter ("prediction_server", 0); if ($direccion_agente != $old_agent_address){ agent_add_address ($id_agente, $direccion_agente); } $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_network_server = '$id_network_server', id_plugin_server = $id_plugin_server, id_wmi_server = $id_wmi_server, id_prediction_server = $id_prediction_server WHERE id_agente = '".$id_agente."'"; // Delete one of associateds IP's ? if (isset($_POST["delete_ip"])) { $delete_ip = $_POST["address_list"]; agent_delete_address ($id_agente, $delete_ip); } $result=mysql_query($sql_update); if (! $result) { echo "

".$lang_label["update_agent_no"]."

"; } else { echo "

".$lang_label["update_agent_ok"]."

"; } } if ((isset($agent_created_ok)) && ($agent_created_ok == 1)){ $_GET["id_agente"]= $id_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)){ $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_plugin_server = $row["id_plugin_server"]; $id_network_server = $row["id_network_server"]; $id_prediction_server = $row["id_prediction_server"]; $id_wmi_server = $row["id_wmi_server"]; $modo = $row["modo"]; $id_os = $row["id_os"]; $disabled=$row["disabled"]; } else { echo "

".$lang_label["agent_error"]."

"; echo ""; echo ""; 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"); exit; } } // 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_campo2_rec = $row["al_f2_recovery"]; $alerta_campo3_rec = $row["al_f3_recovery"]; $alerta_dis_max = $row["dis_max"]; $alerta_dis_min = $row["dis_min"]; $tipo_alerta = $row["id_alerta"]; $alert_text = $row["alert_text"]; $alerta_max_alerts = $row["max_alerts"]; $alerta_min_alerts = $row["min_alerts"]; $alerta_time_threshold = $row["time_threshold"]; $alerta_descripcion = $row["descripcion"]; $alerta_disable = $row["disable"]; $time_from = $row["time_from"]; $time_to = $row["time_to"]; $alerta_id_agentemodulo = $row["id_agente_modulo"]; // Only to show, cannot be changed $alert_id_agent = $row["id_agent"]; $alert_d1 = $row["monday"]; $alert_d2 = $row["tuesday"]; $alert_d3 = $row["wednesday"]; $alert_d4 = $row["thursday"]; $alert_d5 = $row["friday"]; $alert_d6 = $row["saturday"]; $alert_d7 = $row["sunday"]; $alert_recovery = $row["recovery_notify"]; $alert_priority = $row["priority"]; } } // 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; } $form_id_tipo_modulo = get_parameter ("form_id_tipo_modulo"); $form_name = get_parameter ("form_name"); $form_description = get_parameter ("form_description"); $form_id_module_group = get_parameter ("form_id_module_group",0); $form_id_tipo_modulo = get_parameter ("form_id_tipo_modulo"); $form_post_process = get_parameter ("form_post_process",0); $form_max_timeout = get_parameter ("form_max_timeout",0); $form_minvalue = get_parameter_post ("form_minvalue",0); $form_maxvalue = get_parameter ("form_maxvalue",0); $form_interval = get_parameter ("form_interval",300); $form_id_prediction_module = get_parameter ("form_id_prediction_module",0); $form_id_plugin = get_parameter ("form_id_plugin",0); $form_id_export = get_parameter ("form_id_export",0); $form_disabled = get_parameter ("form_disabled",0); $form_tcp_send = get_parameter ("form_tcp_send",""); $form_tcp_rcv = get_parameter ("form_tcp_rcv",""); $form_tcp_port = get_parameter ("form_tcp_port",0); $form_snmp_community = get_parameter ("form_snmp_community","public"); $form_snmp_oid = get_parameter ("form_snmp_oid",""); $form_ip_target = get_parameter ("form_ip_target",""); $form_plugin_user = get_parameter ("form_plugin_user",""); $form_plugin_pass = get_parameter ("form_plugin_pass",""); $form_plugin_parameter = get_parameter ("form_plugin_parameter",""); $form_id_modulo = get_parameter ("form_id_modulo"); } // MODULE UPDATE // ================= if ((isset($_POST["update_module"])) && (!isset($_POST["oid"]))){ // if modified something if (isset($_POST["form_combo_snmp_oid"])){ $form_combo_snmp_oid = entrada_limpia($_POST["form_combo_snmp_oid"]); if ($snmp_oid == ""){ $snmp_oid = $form_combo_snmp_oid; } } $sql_update = "UPDATE tagente_modulo SET descripcion = '$form_description', nombre = '$form_name', max = '$form_maxvalue', min = '$form_minvalue', module_interval = '$form_interval', tcp_port = '$form_tcp_port', tcp_send = '$form_tcp_send', tcp_rcv = '$form_tcp_rcv', snmp_community = '$form_snmp_community', snmp_oid = '$form_snmp_oid', ip_target = '$form_ip_target', id_module_group = '$form_id_module_group', flag = '$form_flag', id_modulo = '$form_id_modulo', disabled = '$form_disabled', id_export = '$form_id_export', plugin_user = '$form_plugin_user', plugin_pass = '$form_plugin_pass', plugin_parameter = '$form_plugin_parameter', id_plugin = '$form_id_plugin', post_process = '$form_post_process', prediction_module = '$form_prediction_module', max_timeout = '$form_max_timeout' 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; */ } // ========================================================= // 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($form_ip_target, $form_snmp_community, ""))) { echo "

".$lang_label["cannot_read_snmp"]."

"; } else { echo "

".$lang_label["ok_read_snmp"]."

"; } } // ========================================================= // MODULE INSERT // ========================================================= if (((!isset($_POST["nc"]) OR ($_POST["nc"]==-1))) && (!isset($_POST["oid"])) && (isset($_POST["insert_module"])) && (isset($_POST['crtbutton']))){ if (isset($_POST["form_combo_snmp_oid"])) { $combo_snmp_oid = entrada_limpia($_POST["form_combo_snmp_oid"]); } if ($form_snmp_oid == ""){ $form_snmp_oid = $combo_snmp_oid; } if ($form_tcp_port == "") { $form_tcp_port= "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, id_export, plugin_user, plugin_pass, plugin_parameter, id_plugin, post_process, prediction_module, max_timeout, disabled, id_modulo) VALUES ($id_agente, $form_id_tipo_modulo, '$form_name', '$form_description', $form_maxvalue, $form_minvalue, '$form_snmp_oid', '$form_snmp_community', $form_id_module_group, $form_interval, '$form_ip_target', $form_tcp_port, '$form_tcp_rcv', '$form_tcp_send', $form_id_export, '$form_plugin_user', '$form_plugin_pass', '$form_plugin_parameter', $form_id_plugin, $form_post_process, $form_id_prediction_module, $form_max_timeout, $form_disabled, $form_id_modulo)"; $result=mysql_query($sql_insert); if (! $result){ echo "

".$lang_label["add_module_no"]."

"; echo "DEBUG: $sql_insert"; } else { echo "

".$lang_label["add_module_ok"]."

"; $id_agente_modulo = mysql_insert_id(); // Create with different estado if proc type or data type if ( ($form_id_tipo_modulo == 2) || // data_proc ($form_id_tipo_modulo == 6) || // icmp_proc ($form_id_tipo_modulo == 9) || // tcp_proc ($form_id_tipo_modulo == 18) || //snmp proc ($form_id_tipo_modulo == 21) || // async proc ($form_id_tipo_modulo == 100) // Keepalive ){ $sql_insert2 = "INSERT INTO tagente_estado (id_agente_modulo,datos,timestamp,cambio,estado,id_agente, utimestamp) VALUES ( $id_agente_modulo, 0,'0000-00-00 00:00:00',0,0,'".$id_agente."',0 )"; } else { $sql_insert2 = "INSERT INTO tagente_estado (id_agente_modulo,datos,timestamp,cambio,estado,id_agente, utimestamp) VALUES ( $id_agente_modulo, 0,'0000-00-00 00:00:00',0,100,'".$id_agente."',0 )"; } $result=mysql_query($sql_insert2); } } // 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"); exit; } // 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); } // ----------------------------------- // Load page depending on tab selected // ----------------------------------- switch ($tab) { case "main": require "agent_manager.php"; break; case "module": if (($form_moduletype == "") && ($moduletype == "")) require "module_manager.php"; else require "module_manager_editor.php"; break; case "alert": if (($form_alerttype == "") AND (!isset($_GET["update_alert"]))) require "alert_manager.php"; else require "alert_manager_editor.php"; break; case "template": require "agent_template.php"; break; } ?>