From 19ce526bc66c50ca25fd6e86ada1252d39542fbe Mon Sep 17 00:00:00 2001 From: guruevi Date: Fri, 12 Sep 2008 15:40:00 +0000 Subject: [PATCH] 2008-09-12 Evi Vanoost * godmode/agentes/configurar_agente.php: Style updates for create agent and update agent. Fixed a bug where empty and duplicate names would be allowed when updating. Made some strings translatable and more extensive error messages. git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1094 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f --- pandora_console/ChangeLog | 7 + .../godmode/agentes/configurar_agente.php | 266 ++++++++++-------- 2 files changed, 155 insertions(+), 118 deletions(-) diff --git a/pandora_console/ChangeLog b/pandora_console/ChangeLog index 3447e0a8e3..28943d3aa5 100644 --- a/pandora_console/ChangeLog +++ b/pandora_console/ChangeLog @@ -1,3 +1,10 @@ +2008-09-12 Evi Vanoost + + * godmode/agentes/configurar_agente.php: Style updates for create agent + and update agent. Fixed a bug where empty and duplicate names would + be allowed when updating. Made some strings translatable and more + extensive error messages. + 2008-09-11 Evi Vanoost * godmode/groups/group_list.php, godmode/groups/configure_group.php: diff --git a/pandora_console/godmode/agentes/configurar_agente.php b/pandora_console/godmode/agentes/configurar_agente.php index cee32ea4cc..c8c81278cd 100644 --- a/pandora_console/godmode/agentes/configurar_agente.php +++ b/pandora_console/godmode/agentes/configurar_agente.php @@ -29,14 +29,8 @@ if (! give_acl($config["id_user"], 0, "AW")) { 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"]); - } -} +//See if id_agente is set (either POST or GET, otherwise -1 +$id_agente = get_parameter ("id_agente", -1); // Get passed variables $tab = get_parameter_get ("tab","main"); @@ -50,11 +44,11 @@ $comentarios = ""; $campo_1 = ""; $campo_2 = ""; $campo_3 = ""; -$maximo = "0"; -$minimo = "0"; +$maximo = 0; +$minimo = 0; $nombre_agente = ""; $direccion_agente = ""; -$intervalo = "300"; +$intervalo = 300; $id_server = ""; $max_alerts = 0; $modo = 1; @@ -66,25 +60,25 @@ $modulo_descripcion = ""; $alerta_id_aam = ""; $alerta_campo1 = ""; $alerta_campo2 = ""; -$alerta_campo3 =""; +$alerta_campo3 = ""; $alerta_dis_max = ""; $alerta_dis_min = ""; -$alerta_min_alerts = "0"; -$alerta_max_alerts = "1"; +$alerta_min_alerts = 0; +$alerta_max_alerts = 1; $alerta_time_threshold = ""; $alerta_descripcion = ""; -$disabled=""; -$id_parent="0"; -$modulo_max=""; -$modulo_min=''; +$disabled = ""; +$id_parent = 0; +$modulo_max = ""; +$modulo_min = ""; $module_interval = ""; $tcp_port = ""; $tcp_send = ""; $tcp_rcv = ""; -$snmp_oid= ""; -$ip_target =""; -$snmp_community=""; -$combo_snmp_oid=""; +$snmp_oid = ""; +$ip_target = ""; +$snmp_community = ""; +$combo_snmp_oid = ""; $agent_created_ok = 0; $create_agent = 0; $alert_text = ""; @@ -93,15 +87,15 @@ $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"; +$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; $id_network_server = 0; $id_plugin_server = 0; $id_prediction_server = 0; @@ -114,60 +108,76 @@ $id_os = 0; // ================================ // 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"]); +if (isset ($_POST["create_agent"])) { // Create a new and shiny agent + $nombre_agente = get_parameter_post ("agente", ""); + $direccion_agente = get_parameter_post ("direccion", ""); + $grupo = get_parameter_post ("grupo", 0); + $intervalo = get_parameter_post ("intervalo", 300); + $comentarios = get_parameter_post ("comentarios", ""); + $modo = get_parameter_post ("modo", 0); $id_parent = get_parameter_post ("id_parent", 0); $id_network_server = get_parameter_post ("network_server", 0); $id_plugin_server = get_parameter_post ("plugin_server", 0); $id_prediction_server = get_parameter_post ("prediction_server", 0); $id_wmi_server = get_parameter_post ("wmi_server", 0); - - $id_os = entrada_limpia ($_POST["id_os"]); - $disabled = entrada_limpia ($_POST["disabled"]); + $id_os = get_parameter_post ("id_os", 0); + $disabled = get_parameter_post ("disabled", 0); // 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 = __('Agent exists'); + if ($nombre_agente == "") { + $agent_creation_error = __('No agent name specified'); + $agent_created_ok = 0; + } elseif (dame_agente_id ($nombre_agente) > 0) { + $agent_creation_error = __('An agent with this name already 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, id_parent) VALUES ('$nombre_agente', '$direccion_agente', $grupo , $intervalo , '$comentarios',$modo, $id_os, $disabled, $id_network_server, $id_plugin_server, $id_wmi_server, $id_prediction_server, $id_parent)"; - $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, id_modulo) VALUES ('agent_keepalive', ".$id_agente.",100,'Agent Keepalive monitor',1)"; - $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"; - } - } + $sql = sprintf ("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, id_parent) + VALUES + ('%s', '%s', %d, %d, '%s', %d, %d, %d, %d, %d, %d, %d, %d)", + $nombre_agente, $direccion_agente, $grupo, $intervalo, $comentarios, $modo, $id_os, $disabled, $id_network_server, $id_plugin_server, $id_wmi_server, $id_prediction_server, $id_parent); + $id_agente = process_sql ($sql, "insert_id"); + if ($id_agente !== false) { + $agent_created_ok = 1; + $agent_creation_error = ""; + + // Create special module agent_keepalive + $sql = "INSERT INTO tagente_modulo + (nombre, id_agente, id_tipo_modulo, descripcion, id_modulo) + VALUES + ('agent_keepalive',".$id_agente.",100,'Agent Keepalive monitor',1)"; + $id_agent_module = process_sql ($sql, "insert_id"); + + if ($id_agent_module !== false) { + // Create agent_keepalive in tagente_estado table + $sql = "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 = process_sql ($sql); + if ($result === false) { + $agent_created_ok = 0; + $agent_creation_error = __("There was a problem creating record in tagente_estado table"); + } + } else { + $agent_created_ok = 0; + $agent_creation_error = __("There was a problem creating agent_keepalive module"); + } + + // Create address for this agent in taddress + agent_add_address ($id_agente, $direccion_agente); + } else { + $id_agente = -1; + $agent_created_ok = 0; + $agent_creation_error = __("There was a problem creating the agent"); + } + } } // Show tabs // ----------------- echo "