From 28a5d8abf1ec292611d6f55e405bcb5396ee61e6 Mon Sep 17 00:00:00 2001 From: esanchezm Date: Mon, 16 Feb 2009 12:18:42 +0000 Subject: [PATCH] 2009-02-16 Esteban Sanchez * godmode/agentes/alert_manager.php: Moved AJAX interface for get_agent_alerts_simple operation here. * godmode/agentes/manage_config.php: Complete rewritten to give support to new alert system and a new improved UI. * godmode/alerts/configure_alert_compound.php: Removed AJAX code relative to groups and agents. Include jQuery and style files with the new way. * godmode/groups/group_list.php: Moved AJAX interface for get_group_agents operation here. * include/styles/pandora.css: Added styling for new manage config interface. Added style for fieldset elements. * include/functions_alerts.php: Added filter parameter to get_alerts_agent_module(). Added copy_alert_agent_module_to_agent_module(). * include/functions_db.php: Added special character * to get_agent_modules() to get all the row. Added format_array_to_where_clause_sql() to transform an array of values to a WHERE clause. Use this function in process_sql_update(). * include/functions_modules.php: Added to repository. New file to add modules operation functions. Added copy_agent_module_to_agent() * operation/agentes/ver_agente.php: AJAX interface for get_agent_modules_json can now receive an additional filter. git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1457 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f --- pandora_console/ChangeLog | 33 + .../godmode/agentes/alert_manager.php | 41 + .../godmode/agentes/manage_config.php | 760 ++++++++---------- .../alerts/configure_alert_compound.php | 66 +- pandora_console/godmode/groups/group_list.php | 32 +- pandora_console/include/functions_alerts.php | 58 +- pandora_console/include/functions_db.php | 91 ++- pandora_console/include/functions_modules.php | 75 ++ pandora_console/include/styles/pandora.css | 21 +- .../operation/agentes/ver_agente.php | 6 +- 10 files changed, 678 insertions(+), 505 deletions(-) create mode 100644 pandora_console/include/functions_modules.php diff --git a/pandora_console/ChangeLog b/pandora_console/ChangeLog index 3ff206e901..00061f540f 100644 --- a/pandora_console/ChangeLog +++ b/pandora_console/ChangeLog @@ -1,3 +1,36 @@ +2009-02-16 Esteban Sanchez + + * godmode/agentes/alert_manager.php: Moved AJAX interface for + get_agent_alerts_simple operation here. + + * godmode/agentes/manage_config.php: Complete rewritten to give + support to new alert system and a new improved UI. + + * godmode/alerts/configure_alert_compound.php: Removed AJAX code + relative to groups and agents. Include jQuery and style files with the + new way. + + * godmode/groups/group_list.php: Moved AJAX interface for + get_group_agents operation here. + + * include/styles/pandora.css: Added styling for new manage config + interface. Added style for fieldset elements. + + * include/functions_alerts.php: Added filter parameter to + get_alerts_agent_module(). Added + copy_alert_agent_module_to_agent_module(). + + * include/functions_db.php: Added special character * to + get_agent_modules() to get all the row. Added + format_array_to_where_clause_sql() to transform an array of values to + a WHERE clause. Use this function in process_sql_update(). + + * include/functions_modules.php: Added to repository. New file to add + modules operation functions. Added copy_agent_module_to_agent() + + * operation/agentes/ver_agente.php: AJAX interface for + get_agent_modules_json can now receive an additional filter. + 2009-02-13 Evi Vanoost * general/logon_ok.php: Simplified and added correct ampersand tags diff --git a/pandora_console/godmode/agentes/alert_manager.php b/pandora_console/godmode/agentes/alert_manager.php index 7da50d0993..b16a65aec8 100644 --- a/pandora_console/godmode/agentes/alert_manager.php +++ b/pandora_console/godmode/agentes/alert_manager.php @@ -20,6 +20,47 @@ require_once ('include/config.php'); require_once ('include/functions_alerts.php'); + +if (defined ('AJAX')) { + $get_agent_alerts_simple = (bool) get_parameter ('get_agent_alerts_simple'); + + if ($get_agent_alerts_simple) { + $id_agent = (int) get_parameter ('id_agent'); + if ($id_agent <= 0) { + echo json_encode (false); + return; + } + $id_group = get_agent_group ($id_agent); + + if (! give_acl ($config['id_user'], $id_group, "AR")) { + audit_db ($config['id_user'], $REMOTE_ADDR, "ACL Violation", + "Trying to access Alert Management"); + echo json_encode (false); + return; + } + + require_once ('include/functions_agents.php'); + require_once ('include/functions_alerts.php'); + + $alerts = get_agent_alerts_simple ($id_agent); + if (empty ($alerts)) { + echo json_encode (false); + return; + } + + $retval = array (); + foreach ($alerts as $alert) { + $alert['template'] = get_alert_template ($alert['id_alert_template']); + $alert['module_name'] = get_agentmodule_name ($alert['id_agent_module']); + $alert['agent_name'] = get_agentmodule_agent_name ($alert['id_agent_module']); + $retval[$alert['id']] = $alert; + } + + echo json_encode ($retval); + } + return; +} + if (!isset ($id_agente)) { die ("Not Authorized"); } diff --git a/pandora_console/godmode/agentes/manage_config.php b/pandora_console/godmode/agentes/manage_config.php index c8a0c09b8c..e2fca78673 100644 --- a/pandora_console/godmode/agentes/manage_config.php +++ b/pandora_console/godmode/agentes/manage_config.php @@ -17,8 +17,6 @@ // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. // Load global vars -require_once ("include/config.php"); - check_login (); if (! give_acl ($config['id_user'], 0, "LM")) { @@ -28,442 +26,384 @@ if (! give_acl ($config['id_user'], 0, "LM")) { return; } +require_once ('include/functions_agents.php'); +require_once ('include/functions_alerts.php'); +require_once ('include/functions_modules.php'); -$id_group = (int) get_parameter ("id_group"); -$origen = (int) get_parameter_post ("origen", -1); -$update_agent = (int) get_parameter ("update_agent", -1); -$update_group = (int) get_parameter ("update_group", -1); -$destino = (array) get_parameter_post ("destino", array ()); -$origen_modulo = (array) get_parameter_post ("origen_modulo", array ()); +echo '

'.__('Agent configuration'). ' » '. __('Configuration Management').'

'; -// Operations -// --------------- - -// DATA COPY -// --------- -if (isset($_POST["copy"])) { - echo "

".__('Data Copy')."

"; - - if (empty ($destino)) { - echo '

ERROR: '.__('No selected agents to copy').'

'; - return; - } - - if (empty ($origen_modulo)) { - echo '

ERROR: '.__('No modules have been selected').'

'; - return; +function process_manage_config ($source_id_agent, $destiny_id_agents) { + if (empty ($source_id_agent)) { + echo '

'.__('No source agent to copy').'

'; + return false; } - $copy_modules = (bool) get_parameter ('modules'); - $copy_alerts = (bool) get_parameter ('alerts'); - - if (! $copy_alerts && ! $copy_modules) { - echo '

ERROR: '.__('You must check modules and/or alerts to be copied').'

'; - return; + if (empty ($destiny_id_agents)) { + echo '

'.__('No destiny agent(s) to copy').'

'; + return false; } - require_once ("include/functions_alerts.php"); + $copy_modules = (bool) get_parameter ('copy_modules'); + $copy_alerts = (bool) get_parameter ('copy_alerts'); - $origin_name = get_agent_name ($origen); - - // Copy - $errors = 0; - $id_new_module = 0; - process_sql ("SET AUTOCOMMIT = 0;"); - process_sql ("START TRANSACTION;"); - - foreach ($origen_modulo as $id_module) { - //For each selected module - $module = get_db_row ("tagente_modulo", "id_agente_modulo", $id_module); + if ($copy_modules) { + $target_modules = (array) get_parameter ('target_modules', array ()); + if (empty ($target_modules)) { + echo '

'.__('No modules have been selected').'

'; + return false; + } - foreach ($destino as $id_agent_dest) { - //For each destination agent - $destiny_name = get_agent_name ($id_agent_dest); - - if ($copy_modules) { - echo '

'.__('Copying module').' ['.$origin_name.' - '.$module["nombre"].'] -> ['.$destiny_name.']'; - $sql = sprintf ('INSERT INTO tagente_modulo - (id_agente, id_tipo_modulo, descripcion, - nombre, max, min, module_interval, - tcp_port, tcp_send, tcp_rcv, - snmp_community, snmp_oid, ip_target, - id_module_group, flag, id_modulo, - disabled, id_export, - plugin_user, plugin_pass, - plugin_parameter, id_plugin, - post_process, prediction_module, - max_timeout) - VALUES (%d, %d, "%s", "%s", %f, %f, %d, - %d, "%s", "%s", "%s", "%s", "%s", %d, - %d, %d, %d, %d, "%s", "%s", "%s", %d, - %f, %d, %d)', - $id_agent_dest, $module["id_tipo_modulo"], - $module["descripcion"], - $module["nombre"], $module["max"], - $module["min"], - $module["module_interval"], - $module["tcp_port"], - $module["tcp_send"], - $module["tcp_rcv"], - $module["snmp_community"], - $module["snmp_oid"], - get_agent_address ($id_agent_dest), - $module["id_module_group"], - $module["flag"], - $module["id_modulo"], - $module["disabled"], - $module["id_export"], - $module["plugin_user"], - $module["plugin_pass"], - $module["plugin_parameter"], - $module["id_plugin"], - $module["post_process"], - $module["prediction_module"], - $module["max_timeout"]); + process_sql ('SET AUTOCOMMIT = 0'); + process_sql ('START TRANSACTION'); + $error = false; + $alerts = array (); + foreach ($destiny_id_agents as $id_destiny_agent) { + foreach ($target_modules as $id_agent_module) { + $result = copy_agent_module_to_agent ($id_agent_module, + $id_destiny_agent); - $id_new_module = process_sql ($sql, "insert_id"); - if (empty ($id_new_module)) { - $errors++; - } else { - switch ($module["id_tipo_modulo"]) { - case 2: - case 6: - case 9: - case 100: - case 21: - case 18: - $sql = sprintf ("INSERT INTO tagente_estado (id_agente_modulo, datos, timestamp, cambio, estado, id_agente, utimestamp) - VALUES (%d, 0,'0000-00-00 00:00:00',0,0, %d, 0)", $id_new_module, $id_agent_dest); - break; - default: - $sql = sprintf ("INSERT INTO tagente_estado (id_agente_modulo, datos, timestamp, cambio, estado, id_agente, utimestamp) - VALUES (%d, 0,'0000-00-00 00:00:00',0,100, %d, 0)", $id_new_module, $id_agent_dest); - } - $result = process_sql ($sql); - if ($result === false) - $errors++; - }//If empty id_new_module - } //If modulos - - if ($copy_alerts) { - if (empty ($id_new_module)) { - //If we didn't copy modules or if we - //didn't create new modules we have to - //look for the module id - $sql = sprintf ('SELECT id_agente_modulo - FROM tagente_modulo - WHERE nombre = "%s" - AND id_agente = %d', - $module['nombre'], $id_agent_dest); - $id_new_module = get_db_sql ($sql); - if (empty ($id_new_module)) - // We can't find a module belonging to this agent - continue; + if ($result === false) { + $error = true; + break; } - $alerts = get_db_all_rows_field_filter ('talert_template_modules', - 'id_agent_module', $id_module); - if (empty ($alerts)) - // The module doesn't have alerts + $id_destiny_module = $result; + if (! isset ($alerts[$id_agent_module])) + $alerts[$id_agent_module] = get_alerts_agent_module ($id_agent_module, + true); + + if ($alerts[$id_agent_module] === false) continue; - foreach ($alerts as $alert) { - echo '
'.__('Copying alert').' ['.$origin_name.' - '.$module["nombre"].'] -> ['.$destiny_name.']'; - if (!empty ($alert["id_agent"])) { - //Compound alert - $alert["id_agent"] = $id_agent_dest; + if ($copy_alerts) { + foreach ($alerts[$id_agent_module] as $alert) { + $result = copy_alert_agent_module_to_agent_module ($alert['id'], + $id_destiny_module); + if ($result === false) { + $error = true; + break; + } } - $values = array ('id_agent_module' => (int) $id_new_module, - 'id_alert_template' => (int) $alert['id_alert_template']); - $id_alert = process_sql_insert ('talert_template_modules', - $values); - - if ($id_alert === false) { - $errors++; - continue; - } - - $actions = get_alert_agent_module_actions ($alert['id']); - if (empty ($actions)) - continue; - foreach ($actions as $action) { - $values = array ('id_alert_template_module' => (int) $id_alert, - 'id_alert_action' => (int) $action['id'], - 'fires_min' => (int) $action['fires_min'], - 'fires_max' => (int) $action['fires_max']); - $result = process_sql_insert ('talert_template_module_actions', - $values); - if ($result === false) - $errors++; - } - - /* TODO: Copy compound alerts */ - - } //foreach alert - } //if alerts - } //Foreach destino - } //Foreach origen_modulo - if ($errors > 1) { - echo '

'.__('There was an error copying the module, the copy has been cancelled').'

'; - process_sql ("ROLLBACK;"); - } else { - echo '

'.__('Successfully copied module').'

'; - process_sql ("COMMIT;"); - } - process_sql ("SET AUTOCOMMIT = 1;"); - return; //Page shouldn't continue anymore -} //end of copy modules or alerts - -// ----------- -// DELETE DATA -// ----------- -if (isset ($_POST["delete"])) { - echo "

".__('Agent Module Data Deletion')."

"; - - if (empty ($destino)) { - echo '

ERROR: '.__('No selected agents to copy').'

'; - return; - } - - if (empty ($origen_modulo)) { - echo '

ERROR: '.__('No modules have been selected').'

'; - return; - } - - // If selected modules or alerts - if (isset($_POST["alerts"])) { - $alertas = 1; - } else { - $alertas = 0; - } - - if (isset($_POST["modules"])) { - $modulos = 1; - $alertas = 1; - } else { - $modulos = 0; - } - - if (($alertas + $modulos) == 0){ - echo '

ERROR: '.__('You must check modules and/or alerts to be deleted').'

'; - return; - } - - // Deletion - // ---- - $errors = 0; - - process_sql ("SET AUTOCOMMIT = 0;"); - process_sql ("START TRANSACTION;"); //Start a transaction - - function temp_sql_delete ($table, $row, $value) { - global $errors; //Globalize the errors variable - $sql = sprintf ("DELETE FROM %s WHERE %s = %s", $table, $row, $value); - - $result = process_sql ($sql); - - if ($result === false) - $errors++; - } - - foreach ($origen_modulo as $id_module_src) { - $nombre_src = get_db_value ("nombre", "tagente_modulo", "id_agente_modulo", $id_module_src); - - foreach ($destino as $agent_dest) { - $sql = sprintf ("SELECT id_agente_modulo FROM tagente_modulo WHERE nombre = '%s' AND id_agente = %d", $nombre_src, $agent_dest); - $id_module_dest = get_db_sql ($sql); - if ($id_module_dest === false) - continue; //If we don't have a module like that in the agent, then don't try deleting - - if ($alertas == 1) { - //Alert - /* TODO: Delete compound alerts */ - - temp_sql_delete ('talert_template_modules', "id_agent_module", $id_module_dest); + } } - - if ($modulos == 1) { - //Standard data - temp_sql_delete ("tagente_datos", "id_agente_modulo", $id_module_dest); - - //Incremental Data - temp_sql_delete ("tagente_datos_inc", "id_agente_modulo", $id_module_dest); - - //String data - temp_sql_delete ("tagente_datos_string", "id_agente_modulo", $id_module_dest); - - //Events (up/down monitors) - temp_sql_delete ("tevento", "id_agentmodule", $id_module_dest); - - //Graphs, layouts & reports - temp_sql_delete ("tgraph_source", "id_agent_module", $id_module_dest); - temp_sql_delete ("tlayout_data", "id_agente_modulo", $id_module_dest); - temp_sql_delete ("treport_content", "id_agent_module", $id_module_dest); - - //The status of the module - temp_sql_delete ("tagente_estado", "id_agente_modulo", $id_module_dest); - - //The actual modules, don't put anything based on - //tagente_modulo after this - temp_sql_delete ("tagente_modulo", "id_agente_modulo", $id_module_dest); - } //if modulos - } //foreach destino - } //foreach origen_modulo - - if ($errors > 1) { - echo '

'.__('There was an error removing the module data, the removal has been cancelled').'

'; - process_sql ("ROLLBACK;"); - } else { - echo '

'.__('Successfully removed module data').'

'; - process_sql ("COMMIT;"); - } - process_sql ("SET AUTOCOMMIT = 1;"); - return; //Page shouldn't continue anymore -} //if $_POST['delete'] - -// ----------- -// DELETE AGENT -// ----------- - -if (isset ($_POST["delete_agent"])) { - echo "

".__('Deleting Agent')."

"; - // Initial checkings - - // if selected more than 0 agents - $destino = get_parameter_post ("destino", array ()); - - if (empty ($destino)) { - echo '

ERROR: '.__('You must select at least one agent to be removed').'

'; - return; - } - - $result = delete_agent ($destino); - - if ($result === false) { - echo '

'.__('There was an error removing the agents. Removal has been cancelled').'

'; - } else { - echo '

'.__('Successfully removed agents').'

'; - } - - return; -} - - -// ============ -// Form view -// ============ + if ($error) + break; + } -// title -echo '

'.__('Agent configuration'). ' > '. __('Configuration Management').'

'; -echo '
'; -echo ''; - -// Source group -echo ''; - -echo ''; - +echo ''; -// Destination agent -$result = get_db_all_rows_in_table ("tagente", "nombre"); -$agents = array (); -if ($result === false) { - $result = array (); -} +echo ''; -foreach ($result as $row) { - if (give_acl ($config["id_user"], $row["id_grupo"], "AW")) - $agents[$row["id_agente"]] = $row["nombre"]; -} +/* Destiny selection */ +$table->id = 'destiny_table'; +$table->data = array (); +$table->data[0][0] = __('Group'); +$table->data[0][1] = print_select ($groups, 'destiny_id_group', $destiny_id_group, + false, '', '', true); +$table->data[0][1] .= ''; -echo ''; +$table->data[1][0] = __('Agent'); +$table->data[1][1] = print_select (get_group_agents ($destiny_id_group, false, "none"), + 'destiny_id_agent[]', 0, false, '', '', true, true); -// Form buttons -echo ''; -echo '
'. __('Source group'). '

'; -$groups = get_user_groups ($config['id_user']); - -print_select ($groups, "id_group", $id_group, 'javascript:this.form.submit();', '', 0, false, false, false, '" style="width:200px'); -echo '

'; - -// Source agent -echo ''. __('Source agent').'

'; - -// Show combo with SOURCE agents -if ($id_group > 1) { //Group -1, 0 and 1 all mean that we should select ALL - $result = get_db_all_rows_field_filter ("tagente", "id_grupo", $id_group, "nombre"); -} else { - $result = get_db_all_rows_in_table ("tagente", "nombre"); -} - -if ($result === false) { - $result = array (); - $result[0]["id_grupo"] = 0; - $result[0]["id_agente"] = 0; - $result[0]["nombre"] = __('No Agents in this Group'); + if ($error) { + echo '

'.__('There was an error copying the agent configuration, the copy has been cancelled').'

'; + process_sql ('ROLLBACK'); + } else { + echo '

'.__('Successfully copied').'

'; + process_sql ('COMMIT'); + } + process_sql ('SET AUTOCOMMIT = 1'); + } } -$agents = array (); -foreach ($result as $row) { - if (give_acl ($config["id_user"], $row["id_grupo"], "AR")) - $agents[$row["id_agente"]] = $row["nombre"]; +$source_id_group = (int) get_parameter ('source_id_group'); +$source_id_agent = (int) get_parameter ('source_id_agent'); +$destiny_id_group = (int) get_parameter ('destiny_id_group'); +$destiny_id_agents = (array) get_parameter ('destiny_id_agent', array ()); + +$do_operation = (bool) get_parameter ('do_operation'); + +if ($do_operation) { + process_manage_config ($source_id_agent, $destiny_id_agents); } -if ($origen == -1 || ($id_group > 1 && dame_id_grupo ($origen) != $id_group)) { - $origen = $result[0]["id_agente"]; - //If the agent selected is not in the group selected (that - //happens if an agent was selected and then the group was changed) -} +$groups = get_user_groups (); + +$table->class = 'databox'; +$table->width = '95%'; +$table->data = array (); +$table->style = array (); +$table->style[0] = 'font-weight: bold; vertical-align:top'; +$table->style[2] = 'font-weight: bold'; +$table->size = array (); +$table->size[0] = '10%'; +$table->size[1] = '40%'; +$table->size[2] = '10%'; +$table->size[3] = '40%'; + +/* Source selection */ +$table->id = 'source_table'; +$table->data[0][0] = __('Group'); +$table->data[0][1] = print_select ($groups, 'source_id_group', $source_id_group, + false, '', '', true); +$table->data[0][2] = __('Agent'); +$table->data[0][3] = print_select (get_group_agents ($source_id_group, false, "none"), + 'source_id_agent', $source_id_agent, false, __('Select'), 0, true); +$table->data[0][3] .= ''; + +echo ''; + +echo '
'; +echo ''.__('Source'); +pandora_help ('manageconfig'); +echo ''; +print_table ($table); +echo '
'; + +/* Target selection */ +$table->id = 'target_table'; +$table->data = array (); -print_select ($agents, "origen", $origen, 'javascript:this.form.submit();', '', 0, false, false, false, '" style="width:200px'); -echo '

'; - -// Source Module(s) -$result = get_db_all_rows_field_filter ("tagente_modulo", "id_agente", $origen, "nombre"); $modules = array (); +if ($source_id_agent) + $modules = get_agent_modules ($source_id_agent, 'nombre'); -if ($result === false) { - $result = array (); - $result[0]["id_agente_modulo"] = -1; - if ($origen > 0) { - $result[0]["nombre"] = __('No modules for this agent'); - } else { - $result[0]["nombre"] = __('No agent selected'); - } -} -foreach ($result as $row) { - $modules[$row["id_agente_modulo"]] = $row["nombre"]; +$table->data['operations'][0] = __('Operations'); +$table->data['operations'][1] = ''; +$table->data['operations'][1] .= print_checkbox ('copy_modules', 1, true, true); +$table->data['operations'][1] .= print_label (__('Copy modules'), 'checkbox-copy_modules', true); +$table->data['operations'][1] .= '
'; + +$table->data['operations'][1] .= ''; +$table->data['operations'][1] .= print_checkbox ('copy_alerts', 1, true, true); +$table->data['operations'][1] .= print_label (__('Copy alerts'), 'checkbox-copy_alerts', true); +$table->data['operations'][1] .= ''; + +$table->data[1][0] = __('Modules'); +$table->data[1][1] = ''; +$table->data[1][1] .= print_select ($modules, + 'target_modules[]', 0, false, '', '', true, true); +$table->data[1][1] .= ''; +$table->data[1][1] .= ''; +$table->data[1][1] .= ''.__('No modules for this agent').''; +$table->data[1][1] .= ''; + +$table->data[2][0] = __('Alerts'); + +$agent_alerts = array (); +if ($source_id_agent) + $agent_alerts = get_agent_alerts_simple ($source_id_agent); +$alerts = array (); +foreach ($agent_alerts as $alert) { + $name = get_alert_template_name ($alert['id_alert_template']); + $name .= ' ('.$modules[$alert['id_agent_module']].')'; + $alerts[$alert['id']] = $name; } - -echo ''.__('Modules').'

'; -print_select ($modules, "origen_modulo[]", '', '', '', 0, false, true, false, '" style="width:250px'); -echo '
'; -echo ''.__('Targets'). ''; -pandora_help ('manageconfig'); -echo '

'; -echo ''; -echo '
'.__('Modules').''; -print_checkbox_extended ("modules", "1", false, false, '', 'class="chk"'); +$table->data[2][1] = ''; +$table->data[2][1] .= print_select ($alerts, + 'target_alerts[]', 0, false, '', '', true, true); +$table->data[2][1] .= ''; +$table->data[2][1] .= ''; +$table->data[2][1] .= ''.__('No alerts for this agent').''; +$table->data[2][1] .= ''; -echo '
'.__('Alerts').''; -print_checkbox_extended ("alerts", "1", false, false, '', 'class="chk"'); -echo '
'; -echo ''.__('To Agent(s):').'

'; -print_select ($agents, "destino[]", $destino, '', '', 0, false, true, false, '" style="width:250px'); -echo '
'; -echo "

"; -print_submit_button (__('Copy Modules/Alerts'), "copy", false, 'class="sub copy" onClick="if (!confirm("'.__('Are you sure?').'")) return false;"'); -pandora_help ('manageconfig'); -echo "

"; -print_submit_button (__('Delete Modules/Alerts'), "delete", false, 'class="sub delete" onClick="if (!confirm("'.__('Are you sure you want to delete these modules and alerts?').'")) return false;"'); -pandora_help ('manageconfig'); -echo "

"; -print_submit_button (__('Delete Agents'), "delete_agent", false, 'class="sub delete" onClick="if (!confirm("'.__('Are you sure you want to delete these agents?').'")) return false;"'); -pandora_help ('manageconfig'); -echo '
'; +echo ''; +echo '
'; +print_input_hidden ('do_operation', 1); +print_submit_button (__('Go'), 'go', false, 'class="sub next"'); +echo '
'; +echo '
'; + +echo ''; + +$config['jquery'][] = 'form'; ?> + + diff --git a/pandora_console/godmode/alerts/configure_alert_compound.php b/pandora_console/godmode/alerts/configure_alert_compound.php index 35c46fff02..d6fe967d44 100644 --- a/pandora_console/godmode/alerts/configure_alert_compound.php +++ b/pandora_console/godmode/alerts/configure_alert_compound.php @@ -24,53 +24,6 @@ if (! give_acl ($config['id_user'], 0, "AW")) { return; } -if (defined ('AJAX')) { - $get_group_agents = (bool) get_parameter ('get_group_agents'); - $get_agent_alerts = (bool) get_parameter ('get_agent_alerts'); - - if ($get_group_agents) { - $id_group = (int) get_parameter ('id_group'); - echo json_encode (get_group_agents ($id_group)); - return; - } - - if ($get_agent_alerts) { - $id_agent = (int) get_parameter ('id_agent'); - if ($id_agent <= 0) { - echo json_encode (false); - return; - } - $id_group = get_agent_group ($id_agent); - - if (! give_acl ($config['id_user'], $id_group, "AR")) { - audit_db ($config['id_user'], $REMOTE_ADDR, "ACL Violation", - "Trying to access Alert Management"); - echo json_encode (false); - return; - } - - require_once ('include/functions_agents.php'); - require_once ('include/functions_alerts.php'); - - $alerts = get_agent_alerts_simple ($id_agent); - if (empty ($alerts)) { - echo json_encode (false); - return; - } - - $retval = array (); - foreach ($alerts as $alert) { - $alert['template'] = get_alert_template ($alert['id_alert_template']); - $alert['module_name'] = get_agentmodule_name ($alert['id_agent_module']); - $alert['agent_name'] = get_agentmodule_agent_name ($alert['id_agent_module']); - $retval[$alert['id']] = $alert; - } - - echo json_encode ($retval); - } - return; -} - $id = (int) get_parameter ('id'); $id_agent = (int) get_parameter ('id_agent'); @@ -637,15 +590,16 @@ if ($step == 1) { print_select (get_alert_compound_operations (), 'operations'); echo ''; } +$config['jquery'][] = 'form'; +$config['jquery'][] = 'tablesorter'; +$config['jquery'][] = 'tablesorter.pager'; +$config['jquery'][] = 'ui.core'; +$config['jquery'][] = 'timeentry'; + +$config['css'][] = 'timeentry'; ?> - - - - - -