".$lang_label["ag_title"]." > ".$lang_label["group_view"].""; // Get group list that user has access $mis_grupos = list_group2 ($id_user); // Update network modules for this group // Check for Network FLAG change request if (isset ($_GET["update_netgroup"])) { if (give_acl ($id_user, $_GET["update_netgroup"], "AW") == 1) { $sql = "SELECT * FROM tagente WHERE id_grupo = ". $_GET["update_netgroup"]; $result = mysql_query ($sql); while ($row = mysql_fetch_array ($result)) { $id_agente = $row["id_agente"]; $query2 ="UPDATE tagente_modulo SET flag=1 WHERE id_agente = ".$id_agente; $res = mysql_query ($query2); } } } $contador_grupo = 0; $contador_agente = 0; $array_index = 0; $ahora=date("Y/m/d H:i:s"); $ahora_sec = strtotime($ahora); // Prepare data to show // For each valid group for this user, take data from agent and modules foreach ($mis_grupos as $migrupo) { if (($migrupo != "") && ($migrupo != 1)) { $existen_agentes = 0; $grupo[$array_index]["agent"] = 0; $grupo[$array_index]["ok"] = 0; $grupo[$array_index]["bad"] = 0; $grupo[$array_index]["alerts"] = 0; $grupo[$array_index]["down"] = 0; $grupo[$array_index]["icon"] = dame_grupo_icono ($migrupo); $grupo[$array_index]["id_grupo"] = $migrupo; $grupo[$array_index]["group"] = dame_nombre_grupo ($migrupo); $sql0 = "SELECT COUNT(id_agente) FROM tagente WHERE id_grupo = $migrupo AND disabled = 0"; $result0 = mysql_query ($sql0); $row0 = mysql_fetch_array ($result0); $contador_agente = $contador_agente + $row0[0]; $grupo[$array_index]["agent"] = $row0[0]; if ($row0[0] > 0) $existen_agentes = 1; // SQL Join to get monitor status for agents belong this group $sql1 = "SELECT tagente.id_agente, tagente_estado.estado, tagente_estado.datos, tagente_estado.current_interval, tagente_estado.utimestamp, tagente_estado.id_agente_modulo FROM tagente, tagente_estado, tagente_modulo WHERE tagente.disabled = 0 AND tagente.id_grupo = $migrupo AND tagente.id_agente = tagente_estado.id_agente AND tagente_estado.estado != 100 AND tagente_estado.id_agente_modulo = tagente_modulo.id_agente_modulo AND tagente_modulo.disabled = 0 AND tagente_estado.utimestamp != 0"; if ($result1 = mysql_query ($sql1)){ while ($row1 = mysql_fetch_array ($result1)) { $id_agente = $row1[0]; $estado = $row1[1]; $datos = $row1[2]; $module_interval = $row1[3]; $seconds = $ahora_sec - $row1[4]; $id_agente_modulo = $row1[5]; if ($config["show_unknown"] > 0){ if ($seconds >= ($module_interval*2)){ $grupo[$array_index]["down"]++; } } elseif ($datos != 0) { $grupo[$array_index]["ok"]++; } else { $grupo[$array_index]["bad"]++; } } } if ($config["show_lastalerts"] == 1){ // How many alerts has been fired recently for this group: // SQL Join to get alert status for agents belong this group $sql1 = "SELECT SUM(talerta_agente_modulo.times_fired) FROM tagente_modulo, talerta_agente_modulo, tagente WHERE tagente.disabled = 0 AND tagente.id_grupo = $migrupo AND tagente.id_agente = tagente_modulo.id_agente AND talerta_agente_modulo.id_agente_modulo = tagente_modulo.id_agente_modulo"; if ($result1 = mysql_query ($sql1)){ $row1 = mysql_fetch_array ($result1); $grupo[$array_index]["alerts"] = $row1[0]; } } if ($existen_agentes == 1){ $array_index++; } } } // Draw data if ($contador_agente != 0) { $ancho = ceil(sqrt($array_index+1)); $real_count =0; echo "
"; // Grey border if agent down if ($config["show_unknown"] > 0){ if ($grupo[$real_count]["down"] > 0) $celda = " | "; } // Yellow border if agents with alerts if ($grupo[$real_count]["alerts"] > 0) $celda = " | "; // Red border if agents bad if ($grupo[$real_count]["bad"] > 0) $celda = " | "; // Orange if alerts and down modules if (($grupo[$real_count]["bad"] > 0) && ($grupo[$real_count]["alerts"] > 0)) $celda = " | ";
$celda .= "";
// Add group icon
$celda .= "![]()
![]() ". $icono_type." ".$group_name.""; echo $celda; } $real_count++; } echo " |