, 2003-2006
// Raul Mateos ".$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;
}
$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"]);
$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;
$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"]);
$os_name = entrada_limpia($_POST["os_name"]);
$disabled = entrada_limpia($_POST["disabled"]);
// Check if agent exists (BUG WC-50518-2 )
$sql1='SELECT * 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.", ".$os_name.", '".$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.", ".$os_name.", '".$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 Agente
// ================
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"]);
$os_name = entrada_limpia($_POST["os_name"]);
$id_os = $os_name; // Bug reported by Azabel, Feb/2006 :-)
$id_server = entrada_limpia($_POST["id_server"]);
$disabled = entrada_limpia($_POST["disabled"]);
$sql_update ="UPDATE tagente SET disabled = ".$disabled." , id_os = ".$os_name." , modo = ".$modo." , nombre = '".$nombre_agente."', direccion = '".$direccion_agente."', id_grupo = '".$grupo."', intervalo = '".$intervalo."', comentarios = '".$comentarios."', id_server = ".$id_server." 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");
exit;
}
}
if (isset($_GET["creacion"]))
$creacion_agente = 1;
// Read data module if editing module
if (isset($_GET["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"];
}
}
// MODULE UPDATE
// =================
if (isset($_POST["update_module"])){ // if modified something
$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 update a module without admin rights");
require ("general/noaccess.php");
echo "";
require ("general/footer.php");
exit;
}
if (isset($_POST["id_agente_modulo"]))
$id_agente_modulo = entrada_limpia($HTTP_POST_VARS["id_agente_modulo"]);
if (isset($_POST["tipo"]))
$id_tipo_modulo = entrada_limpia($_POST["tipo"]);
if (isset($_POST["nombre"]))
$nombre = entrada_limpia($_POST["nombre"]);
if (isset($_POST["descripcion"]))
$descripcion = entrada_limpia($_POST["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"]);
$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 = "";
}
// MODULE INSERT
// =================
if (isset($_POST["insert_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 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"]);
if (isset($_POST["descripcion"]))
$descripcion = entrada_limpia($_POST["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"]);
$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,'2000-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,'2000-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 * 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"];
// Primero borramos de la tabla de 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"]."
";
// Luego borramos de la tabla de estados, las entradas que haya de este modulo
$sql_delete = "DELETE FROM tagente_estado WHERE id_agente_modulo = ".$id_borrar_modulo;
//echo "DEBUG SQL_DELETE $sql_delete
";
$result=mysql_query($sql_delete);
// And finally, delete all data of this module
$sql_delete = "DELETE FROM tagente_datos WHERE id_agente_modulo = ".$id_borrar_modulo;
//echo "DEBUG SQL_DELETE $sql_delete
";
$result=mysql_query($sql_delete);
$sql_delete = "DELETE FROM tagente_datos_string WHERE id_agente_modulo = ".$id_borrar_modulo;
//echo "DEBUG SQL_DELETE $sql_delete
";
$result=mysql_query($sql_delete);
$sql_delete = "DELETE FROM tagente_datos_inc WHERE id_agente_modulo = ".$id_borrar_modulo;
//echo "DEBUG SQL_DELETE $sql_delete
";
$result=mysql_query($sql_delete);
}
?>
".$lang_label["create_agent"]."";}
else {echo "".$lang_label["update_agent"]."
";}
?>
';
}
}
} // end page
else {
audit_db($id_user,$REMOTE_ADDR, "ACL Violation","Trying to access Agent Management");
require ("general/noaccess.php");
}
?>