From d82723b61beb2e72d4aa265a763705533fe72d5a Mon Sep 17 00:00:00 2001 From: zarzuelo Date: Wed, 13 Jul 2011 12:03:45 +0000 Subject: [PATCH] 2011-07-13 Sergio Martin * godmode/agentes/module_manager_editor_prediction.php godmode/agentes/configurar_agente.php: Added interface and calls to enterprise functions for synthetic modules git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@4551 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f --- pandora_console/ChangeLog | 6 ++ .../godmode/agentes/configurar_agente.php | 19 ++++- .../module_manager_editor_prediction.php | 73 ++++++++++++------- 3 files changed, 70 insertions(+), 28 deletions(-) diff --git a/pandora_console/ChangeLog b/pandora_console/ChangeLog index 8821ea5172..b82cd834e4 100644 --- a/pandora_console/ChangeLog +++ b/pandora_console/ChangeLog @@ -1,3 +1,9 @@ +2011-07-13 Sergio Martin + + * godmode/agentes/module_manager_editor_prediction.php + godmode/agentes/configurar_agente.php: Added interface and calls + to enterprise functions for synthetic modules + 2011-07-12 Juan Manuel Ramon * include/help/en/help_timesource.php diff --git a/pandora_console/godmode/agentes/configurar_agente.php b/pandora_console/godmode/agentes/configurar_agente.php index 90c9d7df5e..65786ec191 100644 --- a/pandora_console/godmode/agentes/configurar_agente.php +++ b/pandora_console/godmode/agentes/configurar_agente.php @@ -18,6 +18,7 @@ global $config; enterprise_include ('godmode/agentes/configurar_agente.php'); +enterprise_include ('include/functions_modules.php'); include_once($config['homedir'] . "/include/functions_agents.php"); check_login (); @@ -605,7 +606,7 @@ if ($update_module || $create_module) { // Services are an enterprise feature, // so we got the parameters using this function. - enterprise_hook ('get_service_parameters'); + enterprise_hook ('get_service_synthetic_parameters'); $agent_name = (string) get_parameter('agent_name',agents_get_name ($id_agente)); @@ -650,7 +651,13 @@ if ($update_module || $create_module) { $ff_event = (int) get_parameter ('ff_event'); $unit = (string) get_parameter('unit'); $id_tag = (array) get_parameter('id_tag_selected'); - + $serialize_ops = (string) get_parameter('serialize_ops'); + + if($prediction_module != 0) { + unset($serialize_ops); + modules_delete_synthetic_operations($id_agent_module); + } + $active_snmp_v3 = get_parameter('active_snmp_v3'); if ($active_snmp_v3) { // @@ -714,6 +721,10 @@ if ($update_module) { "Fail to try update module '$name' for agent ".$agent["nombre"]); } else { + if(enterprise_hook('modules_is_synthetic')) { + enterprise_hook('modules_create_synthetic_operations', array($id_agent_module, $serialize_ops)); + } + echo '

'.__('Module successfully updated').'

'; $id_agent_module = false; $edit_module = false; @@ -794,6 +805,10 @@ if ($create_module) { "Fail to try added module '$name' for agent ".$agent["nombre"]); } else { + if(enterprise_hook('modules_is_synthetic')) { + enterprise_hook('modules_create_synthetic_operations', array($id_agent_module, $serialize_ops)); + } + echo '

'.__('Module added successfully').'

'; $id_agent_module = false; $edit_module = false; diff --git a/pandora_console/godmode/agentes/module_manager_editor_prediction.php b/pandora_console/godmode/agentes/module_manager_editor_prediction.php index e7abc444d3..d72109a61d 100644 --- a/pandora_console/godmode/agentes/module_manager_editor_prediction.php +++ b/pandora_console/godmode/agentes/module_manager_editor_prediction.php @@ -26,6 +26,8 @@ $custom_integer_2 = get_parameter ('custom_integer_2', 0); $sql = 'SELECT * FROM tagente_modulo WHERE id_agente_modulo = '.$id_agente_modulo; $row = db_get_row_sql($sql); $is_service = false; +$is_synthetic = false; +$is_synthetic_avg = false; if ($row !== false && is_array($row)) { $prediction_module = $row['prediction_module']; $custom_integer_2 = $row ['custom_integer_2']; @@ -34,6 +36,20 @@ if ($row !== false && is_array($row)) { if ($service_select > 0) { $is_service = true; } + + if($prediction_module == 0 && $id_agente_modulo != 0) { + $ops_json = enterprise_hook('modules_get_synthetic_operations', array($id_agente_modulo)); + $ops = json_decode($ops_json, true); + + $first_op = explode('_', reset(array_keys($ops))); + + if(isset($first_op[1]) && $first_op[1] == 'avg') { + $is_synthetic_avg = true; + } + else { + $is_synthetic = true; + } + } } else { $service_select = 0; @@ -53,12 +69,19 @@ $data = array (); $data[0] = __('Source module'); $data[0] .= ui_print_help_icon ('prediction_source_module', true); $data[1] = ''; -// Services are an Enterprise feature. -$module_service_selector = enterprise_hook('get_module_service_selector', array($is_service)); -if ($module_service_selector !== ENTERPRISE_NOT_HOOK) { - $data[1] = $module_service_selector; +// Services and Synthetic are an Enterprise feature. +$module_service_synthetic_selector = enterprise_hook('get_module_service_synthetic_selector', array($is_service, $is_synthetic, $is_synthetic_avg)); +if ($module_service_synthetic_selector !== ENTERPRISE_NOT_HOOK) { + $data[1] = $module_service_synthetic_selector; + + $table_simple->colspan['module_service_synthetic_selector'][1] = 3; + push_table_simple ($data, 'module_service_synthetic_selector'); + + $data = array(); + $data[0] = ''; } -$data[1] .= '
'; + +$data[1] = '
'; $data[1] .= html_print_label(__("Agent"),'agent_name', true)."
"; $sql = "SELECT id_agente, nombre FROM tagente"; // TODO: ACL Filter @@ -88,33 +111,29 @@ $data[1] .= html_print_select ($periods, 'custom_integer_2', $custom_integer_2, $data[1] .= html_print_input_hidden ('id_agente', $id_agente, true); $data[1] .= '
'; -// Services are an Enterprise feature. -$selector_form = enterprise_hook('get_selector_form', array($is_service, $service_select)); -if ($selector_form !== ENTERPRISE_NOT_HOOK) { - $data[1] .= $selector_form; -} - $table_simple->colspan['prediction_module'][1] = 3; - push_table_simple ($data, 'prediction_module'); -// Synthetic modules are an Enterprise feature. -$data = array(); -$synthetic_selector = enterprise_hook ('get_synthetic_module_selector', array($is_service)); -if ($synthetic_selector !== ENTERPRISE_NOT_HOOK) { - $data[0] = __('Synthetic module'); - $data[1] = $synthetic_selector; - $table_simple->colspan['synthetic_selector'][1] = 3; - push_table_simple ($data, 'synthetic_selector'); +// Services are an Enterprise feature. +$selector_form = enterprise_hook('get_selector_form', array($service_select)); +if ($selector_form !== ENTERPRISE_NOT_HOOK) { + $data = array(); + $data[0] = ''; + $data[1] = $selector_form; + + $table_simple->colspan['service_module'][1] = 3; + push_table_simple ($data, 'service_module'); } -$data = array(); +// Synthetic modules are an Enterprise feature. $synthetic_module_form = enterprise_hook ('get_synthetic_module_form'); if ($synthetic_module_form !== ENTERPRISE_NOT_HOOK) { + $data = array(); $data[0] = ''; $data[1] = $synthetic_module_form; - $table_simple->colspan['synthetic_module_form'][1] = 3; - push_table_simple ($data, 'synthetic_module_form'); + + $table_simple->colspan['synthetic_module'][1] = 3; + push_table_simple ($data, 'synthetic_module'); } /* Removed common useless parameter */ @@ -123,8 +142,10 @@ unset ($table_advanced->data[2][2]); unset ($table_advanced->data[2][3]); ?>