diff --git a/pandora_console/ChangeLog b/pandora_console/ChangeLog index 4ca07fc198..652b8ad9f7 100644 --- a/pandora_console/ChangeLog +++ b/pandora_console/ChangeLog @@ -1,3 +1,25 @@ +2009-01-05 Evi Vanoost + + * godmode/agentes/alert_manager_editor.php, + godmode/snmpconsole/snmp_alert.php, include/functions_reporting.php, + include/functions_reporting.php: + Function updates + + * include/functions.php: show_alert_show_view is now format_alert_row + + * include/functions_db.php: get_simple_alerts_in_agent is now + get_agent_alerts_simple; get_combined_alerts_in_agent is now + get_agent_alerts_combined; get_alerts_in_agent is now get_agent_alerts; + dame_nombre_alerta is now get_alert_type; get_alerts_in_group is now + get_group_alerts; dame_id_grupo set to deprecated; Added + process_alerts_validate to validate alerts passed to it. + + * index.php: Set UTF-8 encoding standard for multibyte functions + + * operation/agentes/estado_alertas.php: Rewritten + + * operation/agentes/ver_agente.php: Put alert validation in a function + 2009-01-05 Jorge Gonzalez * include/languages/es.po, include/languages/es.mo: Updated Spanish diff --git a/pandora_console/godmode/agentes/alert_manager_editor.php b/pandora_console/godmode/agentes/alert_manager_editor.php index c666b50a68..040f2c8f92 100644 --- a/pandora_console/godmode/agentes/alert_manager_editor.php +++ b/pandora_console/godmode/agentes/alert_manager_editor.php @@ -84,7 +84,7 @@ pandora_help ("alert_type"); echo ''; echo ''; + //And finish the table here - echo ' '.__('Alert fired').''; - echo ' '.__('Alert not fired').''; - echo '(*) '.__('Combined alert').''; - - // Agent group selector - if ($ag_group > 1) { - $result = get_group_agents ($ag_group, false, "upper"); - } else { - //Fields is an array with all the groups the user has access to - $result = get_group_agents (array_keys ($fields), false, "upper"); - } - - $color = 1; - $string = ''; + echo ' '.__('Alert fired').''; + echo ' '.__('Alert not fired').''; + echo ' '.__('Alert disabled').''; +} - if ($result === false) { - $result = array(); - } else { - $table->head = array(); //Reset table head - $table->head[0] = __('Agent'); - $table->head[1] = __('Status'); - $table->head[2] = __('Type'); - $table->head[3] = __('Description'); - $table->head[4] = __('Last fired'); - $table->head[5] = __('Times Fired'); - $table->align = array(); - $table->align[1] = "center"; - $table->cellpadding = 4; - $table->cellspacing = 4; - $table->width = 700; - $table->class = "databox"; - $table->data = array(); //Reset table data - $idx = 0; //row index +$table->cellpadding = 4; +$table->cellspacing = 4; +$table->width = 750; +$table->border = 0; +$table->class = "databox"; + +$table->head = array (); + +$table->head[0] = __('Type'); +$table->head[1] = ''; //Placeholder for name +$table->head[2] = __('Description'); +$table->head[3] = __('Info'); +$table->head[4] = __('Min').'/'.__('Max'); +$table->head[5] = __('Last fired'); +$table->head[6] = __('Status'); +$table->head[7] = __('Validate') . pandora_help('alert_validation', true); +$table->align = array (); +$table->align[0] = "center"; +$table->align[3] = "center"; +$table->align[4] = "center"; +$table->align[5] = "center"; +$table->align[6] = "center"; +$table->align[7] = "center"; + +$table->title = __('Single alerts'); +if ($print_agent == 0) { + $table->head[1] = __('Module name'); +} else { + $table->head[1] = __('Agent name'); +} + +$table->data = array (); + +$counter[0] = 0; //Dual counter. This one counts the total number of alerts +$counter[1] = 0; //Dual counter. This one counts only the printed alerts +foreach ($alerts_simple as $alert) { + $counter[0]++; + if (empty ($alert) || $counter[1] >= $config["block_size"] || $counter[0] <= $offset) { + continue; } - - //This result is the array with agents - foreach ($result as $id_agente => $nombre_agente) { - $result_alerts = get_alerts_in_agent ($id_agente); - - if ($result_alerts === false) - $result_alerts = array(); - - foreach ($result_alerts as $data) { - $table->data[$idx] = array(); //init array - $table->data[$idx][0] = ''.$nombre_agente.''; - - if ($data["times_fired"] != 0) { - $table->data[$idx][1] = ''; - } else { - $table->data[$idx][1] = ''; - } - - $table->data[$idx][2] = dame_nombre_alerta ($data["id_alerta"]); - $table->data[$idx][3] = $data["descripcion"]; - - if ($data["last_fired"] == "0000-00-00 00:00:00") { - $table->data[$idx][4] = __('Never'); - } else { - $table->data[$idx][4] = human_time_comparation ($data["last_fired"]); - } - $table->data[$idx][5] = $data["times_fired"]; - $idx++; //increment the index counter - } //end foreach (data) - } //end foreach (agent) - if (!empty ($result) && !empty ($table->data)) { - print_table ($table); - } else { - echo '
'.__('No agent included in this group has any assigned alert').'
'; + $counter[1]++; + array_push ($table->data, format_alert_row ($alert, 0, $print_agent)); +} + +if (!empty ($table->data)) { + pagination ($counter[0], $url, $offset); + print_table ($table); +} else { + echo '
'.__('No simple alerts found').'
'; +} + +$table->title = __('Combined alerts'); +$table->head[1] = __('Agent name'); +$table->data = array (); + +$counter[2] = 0; +$counter[3] = 0; +foreach ($alerts_combined as $alert) { + $counter[2]++; + if (empty ($alert) || $counter[3] >= $config["block_size"] || $counter[2] <= $offset) { + continue; } - - unset ($table); //throw away table -} // Main alert view + $counter[3]++; + array_push ($table->data, format_alert_row ($alert, 1, $print_agent)); +} + +if (!empty ($table->data)) { + pagination ($counter[0], $url, $offset); + print_table ($table); +} else { + echo '
'.__('No combined alerts found').'
'; +} + +if ($counter[1] > 0 || $counter[2] > 0) { + echo '
'; + print_submit_button (__('Validate'), 'alert_validate', false, 'class="sub upd"', false); + echo '
'; +} +echo ''; ?> diff --git a/pandora_console/operation/agentes/ver_agente.php b/pandora_console/operation/agentes/ver_agente.php index 9a0dd4f236..00df5135ac 100644 --- a/pandora_console/operation/agentes/ver_agente.php +++ b/pandora_console/operation/agentes/ver_agente.php @@ -18,7 +18,6 @@ // Load global vars require_once ("include/config.php"); -require_once ("include/functions_events.php"); enterprise_include ('operation/agentes/ver_agente.php'); @@ -127,8 +126,8 @@ if (defined ('AJAX')) { exit (); } -$id_agente = (int) get_parameter ("id_agente"); -if (! $id_agente) { +$id_agente = (int) get_parameter ("id_agente", 0); +if (empty ($id_agente)) { return; } @@ -142,28 +141,10 @@ if (! give_acl ($config['id_user'], $id_grupo, "AR")) { } // Check for validate alert request -$validate_alert = get_parameter ("validate_alert"); -if ($validate_alert != ""){ - if (give_acl ($config['id_user'], $id_grupo, "AW") == 1) { - $alert_row = get_db_row ("talerta_agente_modulo", "id_aam", $validate_alert); - if ($alert_row["id_agente_modulo"] != 0){ - $am_row = get_db_row ("tagente_modulo", "id_agente_modulo", $alert_row["id_agente_modulo"]); - $ag_row = get_db_row ("tagente", "id_agente", $am_row["id_agente"]); - } else { - $ag_row = get_db_row ("tagente", "id_agente", $alert_row ["id_agent"]); - } - $alert_name = $alert_row["descripcion"]; - - // Single alerts - if ($alert_row["id_agente_modulo"] != 0){ - create_event ("Manual validation of alert for '$alert_name'", $ag_row["id_grupo"], $am_row["id_agente"], 1, $config["id_user"], "alert_manual_validation", 1, $alert_row["id_agente_modulo"], $validate_alert); - // Combined alerts - } else { - create_event ("Manual validation of alert for '$alert_name'", $ag_row["id_grupo"], $alert_row ["id_agent"], 1, $config["id_user"], "alert_manual_validation", 1, 0, $validate_alert); - } - $sql='UPDATE talerta_agente_modulo SET times_fired = 0, internal_counter = 0 WHERE id_aam = '.$validate_alert; - $result=mysql_query($sql); - } +$validate_alert = get_parameter ("validate_alert", 0); +if ($validate_alert > 0) { + $result = process_alerts_validate ($validate_alert); + print_error_message ($result, __('Alert(s) validated'), __('Error processing alert(s)')); } // Check for Network FLAG change request