diff --git a/pandora_console/general/header.php b/pandora_console/general/header.php index af868f0c5c..78a9551128 100644 --- a/pandora_console/general/header.php +++ b/pandora_console/general/header.php @@ -38,7 +38,7 @@ echo sprintf('
', $menuTypeClass); if (check_acl($config['id_user'], $group, 'AW')) { $header_welcome .= '
'; $header_welcome .= html_print_image( - 'images/computer@groups.svg', + 'images/wizard@svg.svg', true, [ 'class' => 'main_menu_icon invert_filter', diff --git a/pandora_console/godmode/menu.php b/pandora_console/godmode/menu.php index 0a8ef6e254..60ec438097 100644 --- a/pandora_console/godmode/menu.php +++ b/pandora_console/godmode/menu.php @@ -172,16 +172,7 @@ if ($access_console_node === true) { $sub['wizard']['text'] = __('Configuration wizard'); $sub['wizard']['id'] = 'conf_wizard'; $sub['wizard']['type'] = 'direct'; - $sub['wizard']['subtype'] = 'nolink'; - $sub2 = []; - if ((bool) check_acl($config['id_user'], 0, 'PM') === true) { - $sub2['godmode/wizards/mini_diagnosis']['text'] = __('Mini-diagnosis'); - $sub2['godmode/wizards/mini_diagnosis']['id'] = 'mini_diagnosis'; - } - - $sub2['godmode/wizards/task_to_perform']['text'] = __('Tasks to perform'); - $sub2['godmode/wizards/task_to_perform']['id'] = 'task_to_perform'; - $sub['wizard']['sub2'] = $sub2; + $sub['wizard']['subtype'] = 'nolink_no_arrow'; } if ((bool) check_acl($config['id_user'], 0, 'PM') === true) { @@ -629,3 +620,55 @@ if ((bool) $config['pure'] === false) { } echo '
'; +// Need to be here because the translate string. +if (check_acl($config['id_user'], $group, 'AW')) { + ?> + + + - - - - - '', - 'label' => __('Configuration'), - ], - [ - 'link' => '', - 'label' => __('Configuration wizard'), - ], - ] -); - -$status_webserver = db_get_row_filter('tserver', ['server_type' => SERVER_TYPE_WEB], 'status')['status']; -$status_check_web = false; -if ($status_webserver === '1') { - $status_check_web = true; -} - -$status_newtwork = db_get_row_filter('tserver', ['server_type' => SERVER_TYPE_NETWORK], 'status')['status']; -$status_pluggin = db_get_row_filter('tserver', ['server_type' => SERVER_TYPE_PLUGIN], 'status')['status']; -$status_check_connectivity = false; -if ($status_newtwork === '1' && $status_pluggin === '1') { - $status_check_connectivity = true; -} - -ui_require_css_file('mini_diagnosis'); -$table = new stdClass(); -$table->width = '60%'; -$table->class = 'filter-table-adv databox'; -$table->size = []; -$table->data = []; -$table->size[0] = '30%'; -$table->size[1] = '30%'; -$table->data[0][0] = html_print_wizard_diagnosis(__('Wizard install agent'), 'wizard_install', __('Wizard install agent'), false, true); -$table->data[0][1] = html_print_wizard_diagnosis(__('Create check web'), 'configure_email', __('Create check web'), $status_check_web, true); -$table->data[1][0] = html_print_wizard_diagnosis(__('Create basic connectivity'), 'basic_connectivity', __('Create basic connectivity'), $status_check_connectivity, true); -$table->data[1][1] = html_print_wizard_diagnosis(__('Create basic net'), 'basic_net', __('Create basic net'), true, true); -$table->data[2][0] = html_print_wizard_diagnosis(__('Create Alert Mail'), 'alert_mail', __('Create Alert Mail'), true, true); -html_print_table($table); -?> - - - - - - 9], 'status')['status']; - if ($status_webserver === '1') { - $name = array_keys(servers_get_names())[0]; - $id_group = get_parameter('id_group', 4); - - $array_other['data'] = [ - 'Goliat', - '', - 2, - $id_group, - 0, - 30, - 30, - 9, - $name, - 0, - 0, - 0, - __('Agent goliat created on welcome'), - ]; - - $id_agent = api_set_new_agent(0, '', $array_other, '', true); - if ($id_agent > 0) { - $module_name = get_parameter('module_name', 'goliat_module'); - $text_to_search = get_parameter('text_to_search', ''); - $url_goliat = get_parameter('url_goliat', 'https://pandorafms.com/en/'); - $module_latency = create_module_latency_goliat($id_agent, $module_name, $id_group, $url_goliat, $text_to_search); - $module_status = create_module_status_goliat($id_agent, $module_name, $id_group, $url_goliat, $text_to_search); - if ($module_latency > 0 && $module_status > 0) { - ui_print_success_message(__('Your check has been created, click here to view the data. Please note that it may take a few seconds to see data if your server is busy')); - } - } else { - ui_print_error_message(__('The Name is not valid for the modules.')); - } - } else { - ui_print_error_message(__('Web server is not enabled.')); - } -} - - -/** - * Create_module_latency_goliat and return module id. - * - * @param mixed $id_agent Id agent. - * @param mixed $module_name Module name. - * @param mixed $id_group Id group. - * @param mixed $url_search Url to search. - * @param mixed $string_search Text to search. - * - * @return interger Module id. - */ -function create_module_latency_goliat($id_agent, $module_name, $id_group, $url_search, $string_search='') -{ - if ($string_search !== '') { - $str_search = 'check_string '.$string_search.''; - } - - include_once 'include/functions_modules.php'; - - $array_values = [ - 'id_tipo_modulo' => '30', - 'descripcion' => '', - 'max' => '0', - 'min' => '0', - 'snmp_oid' => '', - 'snmp_community' => 'public', - 'id_module_group' => $id_group, - 'module_interval' => '300', - 'module_ff_interval' => '0', - 'ip_target' => '', - 'tcp_port' => '0', - 'tcp_rcv' => '', - 'tcp_send' => '', - 'id_export' => '0', - 'plugin_user' => '', - 'plugin_pass' => '0', - 'plugin_parameter' => 'task_begin -get '.$url_search.' -resource 1 -'.$str_search.' -task_end', - 'id_plugin' => '0', - 'post_process' => '0', - 'prediction_module' => '0', - 'max_timeout' => '0', - 'max_retries' => '0', - 'disabled' => '', - 'id_modulo' => '7', - 'custom_id' => '', - 'history_data' => '1', - 'dynamic_interval' => '0', - 'dynamic_max' => '0', - 'dynamic_min' => '0', - 'dynamic_two_tailed' => '0', - 'parent_module_id' => '0', - 'min_warning' => '0', - 'max_warning' => '0', - 'str_warning' => '', - 'min_critical' => '0', - 'max_critical' => '0', - 'str_critical' => '', - 'custom_string_1' => '', - 'custom_string_2' => '', - 'custom_string_3' => '', - 'custom_integer_1' => '0', - 'custom_integer_2' => '0', - 'min_ff_event' => '0', - 'min_ff_event_normal' => '0', - 'min_ff_event_warning' => '0', - 'min_ff_event_critical' => '0', - 'ff_type' => '0', - 'each_ff' => '0', - 'ff_timeout' => '0', - 'unit' => '', - 'macros' => '', - 'quiet' => '0', - 'cps' => '0', - 'critical_instructions' => '', - 'warning_instructions' => '', - 'unknown_instructions' => '', - 'critical_inverse' => '0', - 'warning_inverse' => '0', - 'percentage_critical' => '0', - 'percentage_warning' => '0', - 'cron_interval' => '* * * * *', - 'id_category' => '0', - 'disabled_types_event' => '{\"going_unknown\":0}', - 'module_macros' => 'W10=', - 'warning_time' => '0', - ]; - return modules_create_agent_module($id_agent, $module_name.'_latency', $array_values); -} - - -/** - * Create_module_status_goliat and return module id. - * - * @param mixed $id_agent Id agent. - * @param mixed $module_name Module name. - * @param mixed $id_group Id group. - * @param mixed $url_search Url to search. - * @param mixed $string_search Text to search. - * - * @return interger Module id. - */ -function create_module_status_goliat($id_agent, $module_name, $id_group, $url_search, $string_search='') -{ - if ($string_search !== '') { - $str_search = 'check_string '.$string_search.' '; - } - - include_once 'include/functions_modules.php'; - - $array_values = [ - 'id_tipo_modulo' => '31', - 'descripcion' => '', - 'max' => '0', - 'min' => '0', - 'snmp_oid' => '', - 'snmp_community' => 'public', - 'id_module_group' => $id_group, - 'module_interval' => '300', - 'module_ff_interval' => '0', - 'ip_target' => '', - 'tcp_port' => '0', - 'tcp_rcv' => '', - 'tcp_send' => '', - 'id_export' => '0', - 'plugin_user' => '', - 'plugin_pass' => '0', - 'plugin_parameter' => 'task_begin -get '.$url_search.' -resource 1 -'.$str_search.' -task_end', - 'id_plugin' => '0', - 'post_process' => '0', - 'prediction_module' => '0', - 'max_timeout' => '0', - 'max_retries' => '0', - 'disabled' => '', - 'id_modulo' => '7', - 'custom_id' => '', - 'history_data' => '1', - 'dynamic_interval' => '0', - 'dynamic_max' => '0', - 'dynamic_min' => '0', - 'dynamic_two_tailed' => '0', - 'parent_module_id' => '0', - 'min_warning' => '0', - 'max_warning' => '0', - 'str_warning' => '', - 'min_critical' => '0', - 'max_critical' => '0', - 'str_critical' => '', - 'custom_string_1' => '', - 'custom_string_2' => '', - 'custom_string_3' => '', - 'custom_integer_1' => '0', - 'custom_integer_2' => '0', - 'min_ff_event' => '0', - 'min_ff_event_normal' => '0', - 'min_ff_event_warning' => '0', - 'min_ff_event_critical' => '0', - 'ff_type' => '0', - 'each_ff' => '0', - 'ff_timeout' => '0', - 'unit' => '', - 'macros' => '', - 'quiet' => '0', - 'cps' => '0', - 'critical_instructions' => '', - 'warning_instructions' => '', - 'unknown_instructions' => '', - 'critical_inverse' => '0', - 'warning_inverse' => '0', - 'percentage_critical' => '0', - 'percentage_warning' => '0', - 'cron_interval' => '* * * * *', - 'id_category' => '0', - 'disabled_types_event' => '{\"going_unknown\":0}', - 'module_macros' => 'W10=', - 'warning_time' => '0', - ]; - return modules_create_agent_module($id_agent, $module_name.'_status', $array_values); -} - - -if ($create_connectivity_dialog) { - ?> - - 1], 'status')['status']; - $status_pluggin = db_get_row_filter('tserver', ['server_type' => 4], 'status')['status']; - if ($status_newtwork === '1' && $status_pluggin === '1') { - $name = array_keys(servers_get_names())[0]; - $id_group = get_parameter('id_group', 4); - $agent_name = get_parameter('agent_name', __('Agent check connectivity')); - - $array_other['data'] = [ - $agent_name, - '', - 2, - $id_group, - 0, - 30, - 30, - 9, - $name, - 0, - 0, - 0, - __('Basic connectivity'), - ]; - - $id_agent = api_set_new_agent(0, '', $array_other, '', true); - if ($id_agent > 0) { - $ip_target = get_parameter('ip_target', '127.0.0.1'); - $basic_network = create_module_basic_network($id_agent, $id_group, $ip_target); - $latency_network = create_module_latency_network($id_agent, $id_group, $ip_target); - $packet_lost = create_module_packet_lost($id_agent, $id_group, $ip_target); - if ($basic_network > 0 && $latency_network > 0 && $packet_lost > 0) { - ui_print_success_message(__('Your check has been created, click here to view the data. Please note that it may take a few seconds to see data if your server is busy')); - } - } else { - ui_print_error_message(__('The Name is not valid for the modules.')); - } - } else { - ui_print_error_message(__('Web server is not enabled.')); - } -} - - -/** - * Create module basic network and return module id. - * - * @param mixed $id_agent Id agent. - * @param mixed $id_group Id group. - * @param mixed $ip_target Ip target. - * - * @return interger Module id. - */ -function create_module_basic_network($id_agent, $id_group, $ip_target) -{ - include_once 'include/functions_modules.php'; - - $array_values = [ - 'id_tipo_modulo' => '6', - 'descripcion' => 'Basic network check (ping)', - 'max' => '0', - 'min' => '0', - 'snmp_oid' => '', - 'snmp_community' => 'public', - 'id_module_group' => $id_group, - 'module_interval' => '300', - 'module_ff_interval' => '0', - 'ip_target' => $ip_target, - 'tcp_port' => '0', - 'tcp_rcv' => '', - 'tcp_send' => '', - 'id_export' => '0', - 'plugin_user' => '', - 'plugin_pass' => '0', - 'plugin_parameter' => '', - 'id_plugin' => '0', - 'post_process' => '0', - 'prediction_module' => '0', - 'max_timeout' => '0', - 'max_retries' => '0', - 'disabled' => '', - 'id_modulo' => '2', - 'custom_id' => '', - 'history_data' => '1', - 'dynamic_interval' => '0', - 'dynamic_max' => '0', - 'dynamic_min' => '0', - 'dynamic_two_tailed' => '0', - 'parent_module_id' => '0', - 'min_warning' => '0', - 'max_warning' => '0', - 'str_warning' => '', - 'min_critical' => '0', - 'max_critical' => '0', - 'str_critical' => '', - 'custom_string_1' => '', - 'custom_string_2' => '', - 'custom_string_3' => '', - 'custom_integer_1' => '0', - 'custom_integer_2' => '0', - 'min_ff_event' => '0', - 'min_ff_event_normal' => '0', - 'min_ff_event_warning' => '0', - 'min_ff_event_critical' => '0', - 'ff_type' => '0', - 'each_ff' => '0', - 'ff_timeout' => '0', - 'unit' => '', - 'macros' => '', - 'quiet' => '0', - 'cps' => '0', - 'critical_instructions' => '', - 'warning_instructions' => '', - 'unknown_instructions' => '', - 'critical_inverse' => '0', - 'warning_inverse' => '0', - 'percentage_critical' => '0', - 'percentage_warning' => '0', - 'cron_interval' => '* * * * *', - 'id_category' => '0', - 'disabled_types_event' => '{\"going_unknown\":0}', - 'module_macros' => 'W10=', - 'warning_time' => '0', - ]; - return modules_create_agent_module($id_agent, 'Basic_Network_Check', $array_values); -} - - -/** - * Create module latency network and return module id. - * - * @param mixed $id_agent Id agent. - * @param mixed $id_group Id group. - * @param mixed $ip_target Ip target. - * - * @return interger Module id. - */ -function create_module_latency_network($id_agent, $id_group, $ip_target) -{ - include_once 'include/functions_modules.php'; - - $array_values = [ - 'id_tipo_modulo' => '7', - 'descripcion' => 'Basic network connectivity check to measure network latency in miliseconds', - 'max' => '0', - 'min' => '0', - 'snmp_oid' => '', - 'snmp_community' => 'public', - 'id_module_group' => $id_group, - 'module_interval' => '300', - 'module_ff_interval' => '0', - 'ip_target' => $ip_target, - 'tcp_port' => '0', - 'tcp_rcv' => '', - 'tcp_send' => '', - 'id_export' => '0', - 'plugin_user' => '', - 'plugin_pass' => '0', - 'plugin_parameter' => '', - 'id_plugin' => '0', - 'post_process' => '0', - 'prediction_module' => '0', - 'max_timeout' => '0', - 'max_retries' => '0', - 'disabled' => '', - 'id_modulo' => '2', - 'custom_id' => '', - 'history_data' => '1', - 'dynamic_interval' => '0', - 'dynamic_max' => '0', - 'dynamic_min' => '0', - 'dynamic_two_tailed' => '1', - 'parent_module_id' => '0', - 'min_warning' => '0', - 'max_warning' => '0', - 'str_warning' => '', - 'min_critical' => '0', - 'max_critical' => '0', - 'str_critical' => '', - 'custom_string_1' => '', - 'custom_string_2' => '', - 'custom_string_3' => '', - 'custom_integer_1' => '0', - 'custom_integer_2' => '0', - 'min_ff_event' => '0', - 'min_ff_event_normal' => '0', - 'min_ff_event_warning' => '0', - 'min_ff_event_critical' => '0', - 'ff_type' => '0', - 'each_ff' => '0', - 'ff_timeout' => '0', - 'unit' => '', - 'macros' => '', - 'quiet' => '0', - 'cps' => '0', - 'critical_instructions' => '', - 'warning_instructions' => '', - 'unknown_instructions' => '', - 'critical_inverse' => '0', - 'warning_inverse' => '0', - 'percentage_critical' => '0', - 'percentage_warning' => '0', - 'cron_interval' => '* * * * *', - 'id_category' => '0', - 'disabled_types_event' => '{\"going_unknown\":0}', - 'module_macros' => 'W10=', - 'warning_time' => '0', - ]; - return modules_create_agent_module($id_agent, 'Basic_Network_Latency', $array_values); -} - - -/** - * Create module packet lost and return module id. - * - * @param mixed $id_agent Id agent. - * @param mixed $id_group Id group. - * @param mixed $ip_target Ip target. - * - * @return interger Module id. - */ -function create_module_packet_lost($id_agent, $id_group, $ip_target) -{ - include_once 'include/functions_modules.php'; - - $array_values = [ - 'id_tipo_modulo' => '1', - 'descripcion' => 'Basic network connectivity check to measure packet loss in %', - 'max' => '0', - 'min' => '0', - 'snmp_oid' => '', - 'snmp_community' => 'public', - 'id_module_group' => $id_group, - 'module_interval' => '300', - 'module_ff_interval' => '0', - 'ip_target' => '', - 'tcp_port' => '0', - 'tcp_rcv' => '', - 'tcp_send' => '', - 'id_export' => '0', - 'plugin_user' => '', - 'plugin_pass' => '0', - 'plugin_parameter' => '', - 'id_plugin' => '9', - 'post_process' => '0', - 'prediction_module' => '0', - 'max_timeout' => '0', - 'max_retries' => '0', - 'disabled' => '', - 'id_modulo' => '4', - 'custom_id' => '', - 'history_data' => '1', - 'dynamic_interval' => '0', - 'dynamic_max' => '0', - 'dynamic_min' => '0', - 'dynamic_two_tailed' => '1', - 'parent_module_id' => '0', - 'min_warning' => '0', - 'max_warning' => '0', - 'str_warning' => '', - 'min_critical' => '0', - 'max_critical' => '0', - 'str_critical' => '', - 'custom_string_1' => '', - 'custom_string_2' => '', - 'custom_string_3' => '', - 'custom_integer_1' => '0', - 'custom_integer_2' => '0', - 'min_ff_event' => '0', - 'min_ff_event_normal' => '0', - 'min_ff_event_warning' => '0', - 'min_ff_event_critical' => '0', - 'ff_type' => '0', - 'each_ff' => '0', - 'ff_timeout' => '0', - 'unit' => '', - 'macros' => '{"1":{"macro":"_field1_","desc":"Test time","help":"","value":"8","hide":""},"2":{"macro":"_field2_","desc":"Target IP","help":"","value":"'.$ip_target.'","hide":""}}', - 'quiet' => '0', - 'cps' => '0', - 'critical_instructions' => '', - 'warning_instructions' => '', - 'unknown_instructions' => '', - 'critical_inverse' => '0', - 'warning_inverse' => '0', - 'percentage_critical' => '0', - 'percentage_warning' => '0', - 'cron_interval' => '* * * * *', - 'id_category' => '0', - 'disabled_types_event' => '{\"going_unknown\":0}', - 'module_macros' => 'W10=', - 'warning_time' => '0', - ]; - return modules_create_agent_module($id_agent, 'Basic_Network_Packetloss', $array_values); -} - - -if ($create_net_scan_dialog) { - ?> - - 0) { - $id_recon_server = db_get_row_filter('tserver', ['server_type' => SERVER_TYPE_DISCOVERY], 'id_server')['id_server']; - ui_print_success_message(__('Basic net created and scan in progress. Click here to view the data. Please note that it may take a few seconds to see data if your server is busy')); - } else { - ui_print_error_message(__('Basic net already exists. Click here to view the data')); - } -} - - -/** - * Create module packet lost and return module id. - * - * @param string $ip_target Ip and red mask. - * - * @return interger Module id. - */ -function create_net_scan($ip_target) -{ - global $config; - include_once 'HostDevices.class.php'; - $HostDevices = new HostDevices(1); - $id_recon_server = db_get_row_filter('tserver', ['server_type' => SERVER_TYPE_DISCOVERY], 'id_server')['id_server']; - - $_POST = [ - 'page' => '1', - 'interval_manual_defined' => '1', - 'interval_select' => '-1', - 'interval_text' => '0', - 'interval' => '0', - 'interval_units' => '1', - 'taskname' => __('Basic network'), - 'id_recon_server' => $id_recon_server, - 'network' => $ip_target, - 'id_group' => '8', - 'comment' => __('Created on welcome'), - ]; - $task_created = $HostDevices->parseNetScan(); - if ($task_created === true) { - $HostDevicesFinal = new HostDevices(2); - $_POST = [ - 'task' => $HostDevices->task['id_rt'], - 'page' => '2', - 'recon_ports' => '', - 'auto_monitor' => 'on', - 'id_network_profile' => ['0' => '2'], - 'review_results' => 'on', - 'review_limited' => '0', - 'snmp_enabled' => 'on', - 'snmp_version' => '1', - 'snmp_skip_non_enabled_ifs' => 'on', - 'community' => '', - 'snmp_context' => '', - 'snmp_auth_user' => '', - 'snmp_security_level' => 'authNoPriv', - 'snmp_auth_method' => 'MD5', - 'snmp_auth_pass' => '', - 'snmp_privacy_method' => 'AES', - 'snmp_privacy_pass' => '', - 'os_detect' => 'on', - 'resolve_names' => 'on', - 'parent_detection' => 'on', - 'parent_recursion' => 'on', - 'vlan_enabled' => 'on', - ]; - - $task_final_created = $HostDevicesFinal->parseNetScan(); - if ($task_final_created === true) { - $net_scan_id = $HostDevices->task['id_rt']; - unset($HostDevices, $HostDevicesFinal); - return $net_scan_id; - } - } else { - return 0; - } -} - - -if ($create_alert_mail_dialog) { - ?> - - 'Email to '.$config['id_user']], 'id')['id']; - if (!$id_action) { - $al_action = alerts_get_alert_action($id); - $id_action = alerts_clone_alert_action(1, $al_action['id_group'], 'Email to '.$config['id_user']); - } - - $id_alert_template = get_parameter('id_condition', 0); - $id_agent_module = get_parameter('id_agent_module', 0); - - $exist = db_get_value_sql( - sprintf( - 'SELECT COUNT(id) - FROM talert_template_modules - WHERE id_agent_module = %d - AND id_alert_template = %d - AND id_policy_alerts = 0 - ', - $id_agent_module, - $id_alert_template - ) - ); - - if ($exist > 0) { - ui_print_error_message(__('Alert already exists. Click here to view the data')); - } else { - $id = alerts_create_alert_agent_module($id_agent_module, $id_alert_template); - if ($id !== false) { - $values = []; - $values['fires_min'] = (int) get_parameter('fires_min'); - $values['fires_max'] = (int) get_parameter('fires_max'); - $values['module_action_threshold'] = (int) 300; - - $alert_created = alerts_add_alert_agent_module_action($id, $id_action, $values); - } - } - - if ($alert_created === true) { - ui_print_success_message(__('Congratulations, you have already created a simple alert. You can see it. Pandora FMS alerts are very flexible, you can do many more things with them, we recommend you to read the documentation for more information. You can create advanced alerts from here.')); - } -} \ No newline at end of file diff --git a/pandora_console/include/ajax/task_to_perform.php b/pandora_console/include/ajax/task_to_perform.php new file mode 100644 index 0000000000..c889c37f8d --- /dev/null +++ b/pandora_console/include/ajax/task_to_perform.php @@ -0,0 +1,181 @@ + SERVER_TYPE_WEB], 'status')['status']; + if ($status_webserver === '1') { + $name = array_keys(servers_get_names())[0]; + $id_group = get_parameter('id_group', 4); + + $array_other['data'] = [ + 'Web monitoring', + '', + 2, + $id_group, + 0, + 30, + 30, + 9, + $name, + 0, + 0, + 0, + __('Agent Web monitoring created on welcome'), + ]; + + $id_agent = api_set_new_agent(0, '', $array_other, '', true); + if ($id_agent > 0) { + $module_name = get_parameter('module_name', 'Web_monitoring_module'); + $text_to_search = get_parameter('text_to_search', ''); + $url_goliat = get_parameter('url_goliat', 'https://pandorafms.com/en/'); + $module_latency = create_module_latency_goliat($id_agent, $module_name, $id_group, $url_goliat, $text_to_search); + $module_status = create_module_status_goliat($id_agent, $module_name, $id_group, $url_goliat, $text_to_search); + if ($module_latency > 0 && $module_status > 0) { + ui_print_success_message(__('Your check has been created, click here to view the data. Please note that it may take a few seconds to see data if your server is busy')); + } + } else { + ui_print_error_message(__('The Name is not valid for the modules.')); + } + } else { + ui_print_error_message(__('Web server is not enabled.')); + } +} + +if ($check_connectivity) { + include_once '../functions_api.php'; + include_once '../functions_servers.php'; + + $status_newtwork = db_get_row_filter('tserver', ['server_type' => SERVER_TYPE_NETWORK], 'status')['status']; + $status_pluggin = db_get_row_filter('tserver', ['server_type' => SERVER_TYPE_PLUGIN], 'status')['status']; + if ($status_newtwork === '1' && $status_pluggin === '1') { + $name = array_keys(servers_get_names())[0]; + $id_group = get_parameter('id_group', 4); + $agent_name = get_parameter('agent_name', __('Agent check connectivity')); + + $array_other['data'] = [ + $agent_name, + '', + 2, + $id_group, + 0, + 30, + 30, + 9, + $name, + 0, + 0, + 0, + __('Basic connectivity'), + ]; + + $id_agent = api_set_new_agent(0, '', $array_other, '', true); + if ($id_agent > 0) { + $ip_target = get_parameter('ip_target', '127.0.0.1'); + $basic_network = create_module_basic_network($id_agent, $id_group, $ip_target); + $latency_network = create_module_latency_network($id_agent, $id_group, $ip_target); + $packet_lost = create_module_packet_lost($id_agent, $id_group, $ip_target); + if ($basic_network > 0 && $latency_network > 0 && $packet_lost > 0) { + ui_print_success_message(__('Your check has been created, click here to view the data. Please note that it may take a few seconds to see data if your server is busy')); + } + } else { + ui_print_error_message(__('The Name is not valid for the modules.')); + } + } else { + ui_print_error_message(__('Web server is not enabled.')); + } +} + +if ($create_net_scan) { + $ip_target = get_parameter('ip_target', '192.168.10.0/24'); + $id_net_scan = create_net_scan($ip_target); + if ($id_net_scan > 0) { + $id_recon_server = db_get_row_filter('tserver', ['server_type' => SERVER_TYPE_DISCOVERY], 'id_server')['id_server']; + ui_print_success_message(__('Basic net created and scan in progress. Click here to view the data. Please note that it may take a few seconds to see data if your server is busy')); + } else { + ui_print_error_message(__('Basic net already exists. Click here to view the data')); + } +} + +if ($create_mail_alert) { + include_once '../functions_alerts.php'; + $id_action = db_get_row_filter('talert_actions', ['name' => 'Email to '.$config['id_user']], 'id')['id']; + if (!$id_action) { + $al_action = alerts_get_alert_action($id); + $id_action = alerts_clone_alert_action(1, $al_action['id_group'], 'Email to '.$config['id_user']); + } + + $id_alert_template = get_parameter('id_condition', 0); + $id_agent_module = get_parameter('id_agent_module', 0); + + $exist = db_get_value_sql( + sprintf( + 'SELECT COUNT(id) + FROM talert_template_modules + WHERE id_agent_module = %d + AND id_alert_template = %d + AND id_policy_alerts = 0 + ', + $id_agent_module, + $id_alert_template + ) + ); + + if ($exist > 0) { + ui_print_error_message(__('Alert already exists. Click here to view the data')); + } else { + $id = alerts_create_alert_agent_module($id_agent_module, $id_alert_template); + if ($id !== false) { + $values = []; + $values['fires_min'] = (int) get_parameter('fires_min'); + $values['fires_max'] = (int) get_parameter('fires_max'); + $values['module_action_threshold'] = (int) 300; + + $alert_created = alerts_add_alert_agent_module_action($id, $id_action, $values); + } + } + + if ($alert_created === true) { + ui_print_success_message(__('Congratulations, you have already created a simple alert. You can see it. Pandora FMS alerts are very flexible, you can do many more things with them, we recommend you to read the documentation for more information. You can create advanced alerts from here.')); + } +} diff --git a/pandora_console/include/class/WelcomeWindow.class.php b/pandora_console/include/class/WelcomeWindow.class.php index 339d72afd8..be86c7deb6 100644 --- a/pandora_console/include/class/WelcomeWindow.class.php +++ b/pandora_console/include/class/WelcomeWindow.class.php @@ -374,34 +374,37 @@ class WelcomeWindow extends Wizard $flag_su = false; $flag_lv = false; - $btn_update_manager_class = ' pending'; - $btn_configure_mail_class = ' pending'; - $btn_servers_up_class = ' pending'; - $btn_license_valid_class = ' pending'; + $btn_update_manager_class = ' fail'; + $btn_configure_mail_class = ' fail'; + $btn_servers_up_class = ' fail'; + $btn_license_valid_class = ' fail'; $li_update_manager_class = 'row_grey'; $li_configure_mail_class = 'row_grey'; $li_servers_up_class = 'row_grey'; $li_license_valid_class = 'row_grey'; - if ($config['pandora_uid'] === 'ONLINE') { - $btn_update_manager_class = ' completed'; + include_once 'include/functions_update_manager.php'; + if (update_manager_verify_registration()) { + $btn_update_manager_class = ''; $li_update_manager_class = 'row_green'; $flag_um = true; } if (empty($config['welcome_mail_configured']) === false) { - $btn_configure_mail_class = ' completed'; + $btn_configure_mail_class = ''; + $li_configure_mail_class = 'row_green'; $flag_cm = true; } include_once 'include/functions_servers.php'; if (check_all_servers_up() === true) { - $btn_servers_up_class = ' completed'; + $btn_servers_up_class = ''; $li_servers_up_class = 'row_green'; $flag_su = true; } + $show_license = true; if (enterprise_installed()) { $license_valid = true; enterprise_include_once('include/functions_license.php'); @@ -412,10 +415,12 @@ class WelcomeWindow extends Wizard } if ($license_valid === true) { - $btn_license_valid_class = ' completed'; + $btn_license_valid_class = ''; $li_license_valid_class = 'row_green'; $flag_lv = true; } + } else { + $show_license = false; } $inputs[] = [ @@ -425,7 +430,7 @@ class WelcomeWindow extends Wizard 'direct' => 1, 'block_content' => [ [ - 'label' => __('Mini-diagnosis'), + 'label' => __('Post-installation status diagnostic'), 'arguments' => [ 'class' => 'first_lbl', 'name' => 'lbl_diagnosis', @@ -443,7 +448,7 @@ class WelcomeWindow extends Wizard 'direct' => 1, 'block_content' => [ [ - 'label' => __('Verification update manager register'), + 'label' => __('Warp Update registration'), 'arguments' => [ 'class' => 'first_lbl', 'name' => 'lbl_update_manager', @@ -471,7 +476,7 @@ class WelcomeWindow extends Wizard 'direct' => 1, 'block_content' => [ [ - 'label' => __('Please ensure mail configuration matches your needs'), + 'label' => __('Default mail to send alerts'), 'arguments' => [ 'class' => 'first_lbl', 'name' => 'lbl_create_agent', @@ -499,7 +504,7 @@ class WelcomeWindow extends Wizard 'direct' => 1, 'block_content' => [ [ - 'label' => __('All servers up'), + 'label' => __('All servers running'), 'arguments' => [ 'class' => 'first_lbl', 'name' => 'lbl_servers_up', @@ -520,36 +525,37 @@ class WelcomeWindow extends Wizard ], ], ]; - $inputs[] = [ - 'wrapper' => 'div', - 'block_id' => 'div_license_valid', - 'class' => 'hole flex-row flex-items-center w98p '.$li_license_valid_class, - 'direct' => 1, - 'block_content' => [ - [ - 'label' => __('Valid license verification and expiration greater than 30 days'), - 'arguments' => [ - 'class' => 'first_lbl', - 'name' => 'lbl_license_valid', - 'id' => 'lbl_license_valid', - ], - ], - [ - 'arguments' => [ - 'label' => '', - 'type' => 'button', - 'attributes' => [ - 'class' => (empty($btn_license_valid_class) === false) ? $btn_license_valid_class : 'invisible_important', - 'mode' => 'onlyIcon', + if ($show_license) { + $inputs[] = [ + 'wrapper' => 'div', + 'block_id' => 'div_license_valid', + 'class' => 'hole flex-row flex-items-center w98p '.$li_license_valid_class, + 'direct' => 1, + 'block_content' => [ + [ + 'label' => __('Enterprise licence valid'), + 'arguments' => [ + 'class' => 'first_lbl', + 'name' => 'lbl_license_valid', + 'id' => 'lbl_license_valid', + ], + ], + [ + 'arguments' => [ + 'label' => '', + 'type' => 'button', + 'attributes' => [ + 'class' => (empty($btn_license_valid_class) === false) ? $btn_license_valid_class : 'invisible_important', + 'mode' => 'onlyIcon', + ], + 'name' => 'btn_license_valid_conf', + 'id' => 'btn_license_valid_conf', ], - 'name' => 'btn_license_valid_conf', - 'id' => 'btn_license_valid_conf', ], ], - ], - ]; + ]; + } } else { - $key = db_get_value_sql('SELECT `value` FROM tupdate_settings WHERE `key` = "customer_key"'); $inputs[] = [ 'wrapper' => 'div', 'block_id' => 'div_all_correct', @@ -557,7 +563,7 @@ class WelcomeWindow extends Wizard 'direct' => 1, 'block_content' => [ [ - 'label' => __('It seems that your Pandora FMS is working correctly and registered with ID:
#'.$key.'.
For more information use the self-diagnosis tool.'), + 'label' => __('It seems that your Pandora FMS is working correctly and registered with ID:
#'.$config['pandora_uid'].'.
For more information use the self-diagnosis tool.'), 'arguments' => [ 'class' => 'first_lbl w98p', 'name' => 'lbl_all_correct', @@ -591,159 +597,39 @@ class WelcomeWindow extends Wizard ], ]; + $fields['wizard_agent'] = __('Agent installation wizard'); + $fields['check_web'] = __('Create WEB monitoring'); + $fields['check_connectivity'] = __('Create network monitoring'); + $fields['check_net'] = __('Discover my network'); + $fields['check_mail_alert'] = __('Create email alert'); + $inputs[] = [ 'wrapper' => 'div', 'block_id' => 'div_wizard_agent', - 'class' => 'hole flex-row flex-items-center w98p row_grey', + 'class' => 'flex space-between w98p', 'direct' => 1, 'block_content' => [ [ - 'label' => __('Wizard install agent'), 'arguments' => [ - 'class' => 'first_lbl row_grey', - 'name' => 'lbl_wizard_agent', - 'id' => 'lbl_wizard_agent', + 'type' => 'select', + 'fields' => $fields, + 'name' => 'task_to_perform', + 'selected' => '', + 'return' => true, + 'nothing' => \__('Please select one'), + 'nothing_value' => '', ], ], [ 'arguments' => [ - 'label' => '', + 'label' => __('Let`s do it!'), 'type' => 'button', 'attributes' => [ - 'class' => 'completed', - 'mode' => 'onlyIcon', + 'class' => 'secondary', + 'icon' => 'next', ], - 'name' => 'btn_wizard_agent_conf', - 'id' => 'btn_wizard_agent_conf', - ], - ], - ], - ]; - - $status_webserver = db_get_row_filter('tserver', ['server_type' => SERVER_TYPE_WEB], 'status')['status']; - $check_web_color = 'row_grey'; - if ($status_webserver === '1') { - $check_web_color = 'row_green'; - } - - $inputs[] = [ - 'wrapper' => 'div', - 'block_id' => 'div_check_web', - 'class' => 'hole flex-row flex-items-center w98p '.$check_web_color, - 'direct' => 1, - 'block_content' => [ - [ - 'label' => __('Create check web'), - 'arguments' => [ - 'class' => 'first_lbl row_grey', - 'name' => 'lbl_check_web', - 'id' => 'lbl_check_web', - ], - ], - [ - 'arguments' => [ - 'label' => '', - 'type' => 'button', - 'attributes' => [ - 'class' => 'completed', - 'mode' => 'onlyIcon', - ], - 'name' => 'btn_check_web_conf', - 'id' => 'btn_check_web_conf', - ], - ], - ], - ]; - - $status_newtwork = db_get_row_filter('tserver', ['server_type' => SERVER_TYPE_NETWORK], 'status')['status']; - $status_pluggin = db_get_row_filter('tserver', ['server_type' => SERVER_TYPE_PLUGIN], 'status')['status']; - $check_connectivity = 'row_grey'; - if ($status_newtwork === '1' && $status_pluggin === '1') { - $check_connectivity = 'row_green'; - } - - $inputs[] = [ - 'wrapper' => 'div', - 'block_id' => 'div_check_connectivity', - 'class' => 'hole flex-row flex-items-center w98p '.$check_connectivity, - 'direct' => 1, - 'block_content' => [ - [ - 'label' => __('Create basic connectivity'), - 'arguments' => [ - 'class' => 'first_lbl row_grey', - 'name' => 'lbl_check_connectivity', - 'id' => 'lbl_check_connectivity', - ], - ], - [ - 'arguments' => [ - 'label' => '', - 'type' => 'button', - 'attributes' => [ - 'class' => 'completed', - 'mode' => 'onlyIcon', - ], - 'name' => 'btn_check_connectivity_conf', - 'id' => 'btn_check_connectivity_conf', - ], - ], - ], - ]; - - $inputs[] = [ - 'wrapper' => 'div', - 'block_id' => 'div_check_net', - 'class' => 'hole flex-row flex-items-center w98p row_green', - 'direct' => 1, - 'block_content' => [ - [ - 'label' => __('Create basic net'), - 'arguments' => [ - 'class' => 'first_lbl row_grey', - 'name' => 'lbl_check_net', - 'id' => 'lbl_check_net', - ], - ], - [ - 'arguments' => [ - 'label' => '', - 'type' => 'button', - 'attributes' => [ - 'class' => 'completed', - 'mode' => 'onlyIcon', - ], - 'name' => 'btn_check_net_conf', - 'id' => 'btn_check_net_conf', - ], - ], - ], - ]; - - $inputs[] = [ - 'wrapper' => 'div', - 'block_id' => 'div_check_mail_alert', - 'class' => 'hole flex-row flex-items-center w98p row_green', - 'direct' => 1, - 'block_content' => [ - [ - 'label' => __('Create Alert Mail'), - 'arguments' => [ - 'class' => 'first_lbl row_grey', - 'name' => 'lbl_check_mail_alert', - 'id' => 'lbl_check_mail_alert', - ], - ], - [ - 'arguments' => [ - 'label' => '', - 'type' => 'button', - 'attributes' => [ - 'class' => 'completed', - 'mode' => 'onlyIcon', - ], - 'name' => 'btn_check_mail_alert_conf', - 'id' => 'btn_check_mail_alert_conf', + 'name' => 'go_wizard', + 'id' => 'go_wizard', ], ], ], @@ -759,7 +645,233 @@ class WelcomeWindow extends Wizard $output .= $this->loadJS($flag_task); echo $output; + ?> + + + + + // Task to do buttons. - document.getElementById("button-btn_wizard_agent_conf").setAttribute( - 'onclick', - 'deployAgent()' - ); + $('#button-go_wizard').click(function(){ + if ($('#task_to_perform :selected').val() === '') { + alert(""); + } else { + switch($('#task_to_perform :selected').val()) { + case 'wizard_agent': + deployAgent(); + break; + case 'check_mail_alert': + openCreateAlertMailDialog(); + break; + case 'check_connectivity': + openCreateConnectivityDialog(); + break; + case 'check_web': + openCreateModulesDialog(); + break; + case 'check_net': + openCreateBasicNetDialog(); + break; + }; + } + }); - document.getElementById("button-btn_check_web_conf").setAttribute( - 'onclick', - 'openCreateModulesDialog()' - ); + // Task to do buttons. + $('#button-go_wizard').click(function(){ + if ($('#task_to_perform :selected').val() === '') { + alert(""); + } else { + switch($('#task_to_perform :selected').val()) { + case 'wizard_agent': + deployAgent(); + break; + case 'check_mail_alert': + openCreateAlertMailDialog(); + break; + case 'check_connectivity': + openCreateConnectivityDialog(); + break; + case 'check_web': + openCreateModulesDialog(); + break; + case 'check_net': + openCreateBasicNetDialog(); + break; + }; + } + }); - document.getElementById("button-btn_check_connectivity_conf").setAttribute( - 'onclick', - 'openCreateConnectivityDialog()' - ); + // Task to do buttons. + $('#button-go_wizard').click(function(){ + if ($('#task_to_perform :selected').val() === '') { + alert(""); + } else { + switch($('#task_to_perform :selected').val()) { + case 'wizard_agent': + deployAgent(); + break; + case 'check_mail_alert': + openCreateAlertMailDialog(); + break; + case 'check_connectivity': + openCreateConnectivityDialog(); + break; + case 'check_web': + openCreateModulesDialog(); + break; + case 'check_net': + openCreateBasicNetDialog(); + break; + }; + } + }); - document.getElementById("button-btn_check_net_conf").setAttribute( - 'onclick', - 'openCreateBasicNetDialog()' - ); - - document.getElementById("button-btn_check_mail_alert_conf").setAttribute( - 'onclick', - 'openCreateAlertMailDialog()' - ); + // Task to do buttons. + $('#button-go_wizard').click(function(){ + if ($('#task_to_perform :selected').val() === '') { + alert(""); + } else { + switch($('#task_to_perform :selected').val()) { + case 'wizard_agent': + deployAgent(); + break; + case 'check_mail_alert': + openCreateAlertMailDialog(); + break; + case 'check_connectivity': + openCreateConnectivityDialog(); + break; + case 'check_web': + openCreateModulesDialog(); + break; + case 'check_net': + openCreateBasicNetDialog(); + break; + }; + } + }); function configureUpdateManager() { window.location = ''; @@ -1052,29 +1238,173 @@ class WelcomeWindow extends Wizard window.location = ''; } + // Task to do actions. function deployAgent() { window.location = ''; } function openCreateModulesDialog() { - window.location = ''; + $('#dialog_goliat').dialog({ + title: '', + resizable: true, + draggable: true, + modal: true, + close: false, + height: 375, + width: 480, + overlay: { + opacity: 0.5, + background: "black" + } + }) + .show(); } function openCreateConnectivityDialog() { - window.location = ''; + $('#dialog_connectivity').dialog({ + title: '', + resizable: true, + draggable: true, + modal: true, + close: false, + height: 350, + width: 480, + overlay: { + opacity: 0.5, + background: "black" + } + }) + .show(); } function openCreateBasicNetDialog() { - window.location = ''; + $('#dialog_basic_net').dialog({ + title: '', + resizable: true, + draggable: true, + modal: true, + close: false, + height: 200, + width: 480, + overlay: { + opacity: 0.5, + background: "black" + } + }) + .show(); } function openCreateAlertMailDialog() { - window.location = ''; + $('#dialog_alert_mail').dialog({ + title: '', + resizable: true, + draggable: true, + modal: true, + close: false, + height: 350, + width: 480, + overlay: { + opacity: 0.5, + background: "black" + } + }) + .show(); } - function cierre_dialog(){ - this.dialog("close"); - } + $('#button-create_goliat').click(function(){ + $.ajax({ + async: false, + type: "POST", + url: "include/ajax/task_to_perform.php", + data: { + check_web: 1, + id_group: $('#id_group :selected').val(), + module_name: $('#text-module_name').val(), + text_to_search: $('#text-text_to_search').val(), + url_goliat: $('#text-url_goliat').val(), + }, + success: function(data) { + if (data !== 0) { + data = data.replace(/(\r\n|\n|\r)/gm, ""); + console.log(data); + $('body').append(data); + // Close dialog + $('.ui-dialog-titlebar-close').trigger('click'); + return false; + } + } + }); + }); + + $('#button-create_conectivity').click(function(){ + $.ajax({ + async: false, + type: "POST", + url: "include/ajax/task_to_perform.php", + data: { + check_connectivity: 1, + id_group: $('#id_group :selected').val(), + ip_target: $('#text-ip_target').val(), + agent_name: $('#text-agent_name').val(), + }, + success: function(data) { + if (data !== 0) { + data = data.replace(/(\r\n|\n|\r)/gm, ""); + console.log(data); + $('body').append(data); + // Close dialog + $('.ui-dialog-titlebar-close').trigger('click'); + return false; + } + } + }); + }); + + $('#button-basic_net').click(function(){ + $.ajax({ + async: false, + type: "POST", + url: "include/ajax/task_to_perform.php", + data: { + create_net_scan: 1, + ip_target: $('#text-ip_target').val(), + }, + success: function(data) { + if (data !== 0) { + data = data.replace(/(\r\n|\n|\r)/gm, ""); + console.log(data); + $('body').append(data); + // Close dialog + $('.ui-dialog-titlebar-close').trigger('click'); + return false; + } + } + }); + }); + + $('#button-alert_mail').click(function(){ + $.ajax({ + async: false, + type: "POST", + url: "include/ajax/task_to_perform.php", + data: { + create_mail_alert: 1, + id_condition: $('#text-ip_target').val(), + id_agent_module: $('#text-ip_target').val(), + }, + success: function(data) { + if (data !== 0) { + data = data.replace(/(\r\n|\n|\r)/gm, ""); + console.log(data); + $('body').append(data); + // Close dialog + $('.ui-dialog-titlebar-close').trigger('click'); + return false; + } + } + }); + }); + '.$sub['text'].'
'; + } else if (isset($sub['subtype']) && $sub['subtype'] == 'nolink_no_arrow') { + $submenu_output .= ''; } else if (isset($sub['subtype']) && $sub['subtype'] == 'new_blank') { $submenu_output .= '
'.$sub['text'].'
'; } else { diff --git a/pandora_console/include/functions_welcome_wizard.php b/pandora_console/include/functions_welcome_wizard.php new file mode 100644 index 0000000000..6993f16224 --- /dev/null +++ b/pandora_console/include/functions_welcome_wizard.php @@ -0,0 +1,537 @@ + '30', + 'descripcion' => '', + 'max' => '0', + 'min' => '0', + 'snmp_oid' => '', + 'snmp_community' => 'public', + 'id_module_group' => $id_group, + 'module_interval' => '300', + 'module_ff_interval' => '0', + 'ip_target' => '', + 'tcp_port' => '0', + 'tcp_rcv' => '', + 'tcp_send' => '', + 'id_export' => '0', + 'plugin_user' => '', + 'plugin_pass' => '0', + 'plugin_parameter' => 'task_begin +get '.$url_search.' +resource 1 +'.$str_search.' +task_end', + 'id_plugin' => '0', + 'post_process' => '0', + 'prediction_module' => '0', + 'max_timeout' => '0', + 'max_retries' => '0', + 'disabled' => '', + 'id_modulo' => '7', + 'custom_id' => '', + 'history_data' => '1', + 'dynamic_interval' => '0', + 'dynamic_max' => '0', + 'dynamic_min' => '0', + 'dynamic_two_tailed' => '0', + 'parent_module_id' => '0', + 'min_warning' => '0', + 'max_warning' => '0', + 'str_warning' => '', + 'min_critical' => '0', + 'max_critical' => '0', + 'str_critical' => '', + 'custom_string_1' => '', + 'custom_string_2' => '', + 'custom_string_3' => '', + 'custom_integer_1' => '0', + 'custom_integer_2' => '0', + 'min_ff_event' => '0', + 'min_ff_event_normal' => '0', + 'min_ff_event_warning' => '0', + 'min_ff_event_critical' => '0', + 'ff_type' => '0', + 'each_ff' => '0', + 'ff_timeout' => '0', + 'unit' => '', + 'macros' => '', + 'quiet' => '0', + 'cps' => '0', + 'critical_instructions' => '', + 'warning_instructions' => '', + 'unknown_instructions' => '', + 'critical_inverse' => '0', + 'warning_inverse' => '0', + 'percentage_critical' => '0', + 'percentage_warning' => '0', + 'cron_interval' => '* * * * *', + 'id_category' => '0', + 'disabled_types_event' => '{\"going_unknown\":0}', + 'module_macros' => 'W10=', + 'warning_time' => '0', + ]; + return modules_create_agent_module($id_agent, $module_name.'_latency', $array_values); +} + + +/** + * Create_module_status_goliat and return module id. + * + * @param mixed $id_agent Id agent. + * @param mixed $module_name Module name. + * @param mixed $id_group Id group. + * @param mixed $url_search Url to search. + * @param mixed $string_search Text to search. + * + * @return interger Module id. + */ +function create_module_status_goliat($id_agent, $module_name, $id_group, $url_search, $string_search='') +{ + if ($string_search !== '') { + $str_search = 'check_string '.$string_search.' '; + } + + include_once 'include/functions_modules.php'; + + $array_values = [ + 'id_tipo_modulo' => '31', + 'descripcion' => '', + 'max' => '0', + 'min' => '0', + 'snmp_oid' => '', + 'snmp_community' => 'public', + 'id_module_group' => $id_group, + 'module_interval' => '300', + 'module_ff_interval' => '0', + 'ip_target' => '', + 'tcp_port' => '0', + 'tcp_rcv' => '', + 'tcp_send' => '', + 'id_export' => '0', + 'plugin_user' => '', + 'plugin_pass' => '0', + 'plugin_parameter' => 'task_begin +get '.$url_search.' +resource 1 +'.$str_search.' +task_end', + 'id_plugin' => '0', + 'post_process' => '0', + 'prediction_module' => '0', + 'max_timeout' => '0', + 'max_retries' => '0', + 'disabled' => '', + 'id_modulo' => '7', + 'custom_id' => '', + 'history_data' => '1', + 'dynamic_interval' => '0', + 'dynamic_max' => '0', + 'dynamic_min' => '0', + 'dynamic_two_tailed' => '0', + 'parent_module_id' => '0', + 'min_warning' => '0', + 'max_warning' => '0', + 'str_warning' => '', + 'min_critical' => '0', + 'max_critical' => '0', + 'str_critical' => '', + 'custom_string_1' => '', + 'custom_string_2' => '', + 'custom_string_3' => '', + 'custom_integer_1' => '0', + 'custom_integer_2' => '0', + 'min_ff_event' => '0', + 'min_ff_event_normal' => '0', + 'min_ff_event_warning' => '0', + 'min_ff_event_critical' => '0', + 'ff_type' => '0', + 'each_ff' => '0', + 'ff_timeout' => '0', + 'unit' => '', + 'macros' => '', + 'quiet' => '0', + 'cps' => '0', + 'critical_instructions' => '', + 'warning_instructions' => '', + 'unknown_instructions' => '', + 'critical_inverse' => '0', + 'warning_inverse' => '0', + 'percentage_critical' => '0', + 'percentage_warning' => '0', + 'cron_interval' => '* * * * *', + 'id_category' => '0', + 'disabled_types_event' => '{\"going_unknown\":0}', + 'module_macros' => 'W10=', + 'warning_time' => '0', + ]; + return modules_create_agent_module($id_agent, $module_name.'_status', $array_values); +} + + +/** + * Create module basic network and return module id. + * + * @param mixed $id_agent Id agent. + * @param mixed $id_group Id group. + * @param mixed $ip_target Ip target. + * + * @return interger Module id. + */ +function create_module_basic_network($id_agent, $id_group, $ip_target) +{ + include_once 'include/functions_modules.php'; + + $array_values = [ + 'id_tipo_modulo' => '6', + 'descripcion' => 'Basic network check (ping)', + 'max' => '0', + 'min' => '0', + 'snmp_oid' => '', + 'snmp_community' => 'public', + 'id_module_group' => $id_group, + 'module_interval' => '300', + 'module_ff_interval' => '0', + 'ip_target' => $ip_target, + 'tcp_port' => '0', + 'tcp_rcv' => '', + 'tcp_send' => '', + 'id_export' => '0', + 'plugin_user' => '', + 'plugin_pass' => '0', + 'plugin_parameter' => '', + 'id_plugin' => '0', + 'post_process' => '0', + 'prediction_module' => '0', + 'max_timeout' => '0', + 'max_retries' => '0', + 'disabled' => '', + 'id_modulo' => '2', + 'custom_id' => '', + 'history_data' => '1', + 'dynamic_interval' => '0', + 'dynamic_max' => '0', + 'dynamic_min' => '0', + 'dynamic_two_tailed' => '0', + 'parent_module_id' => '0', + 'min_warning' => '0', + 'max_warning' => '0', + 'str_warning' => '', + 'min_critical' => '0', + 'max_critical' => '0', + 'str_critical' => '', + 'custom_string_1' => '', + 'custom_string_2' => '', + 'custom_string_3' => '', + 'custom_integer_1' => '0', + 'custom_integer_2' => '0', + 'min_ff_event' => '0', + 'min_ff_event_normal' => '0', + 'min_ff_event_warning' => '0', + 'min_ff_event_critical' => '0', + 'ff_type' => '0', + 'each_ff' => '0', + 'ff_timeout' => '0', + 'unit' => '', + 'macros' => '', + 'quiet' => '0', + 'cps' => '0', + 'critical_instructions' => '', + 'warning_instructions' => '', + 'unknown_instructions' => '', + 'critical_inverse' => '0', + 'warning_inverse' => '0', + 'percentage_critical' => '0', + 'percentage_warning' => '0', + 'cron_interval' => '* * * * *', + 'id_category' => '0', + 'disabled_types_event' => '{\"going_unknown\":0}', + 'module_macros' => 'W10=', + 'warning_time' => '0', + ]; + return modules_create_agent_module($id_agent, 'Basic_Network_Check', $array_values); +} + + +/** + * Create module latency network and return module id. + * + * @param mixed $id_agent Id agent. + * @param mixed $id_group Id group. + * @param mixed $ip_target Ip target. + * + * @return interger Module id. + */ +function create_module_latency_network($id_agent, $id_group, $ip_target) +{ + include_once 'include/functions_modules.php'; + + $array_values = [ + 'id_tipo_modulo' => '7', + 'descripcion' => 'Basic network connectivity check to measure network latency in miliseconds', + 'max' => '0', + 'min' => '0', + 'snmp_oid' => '', + 'snmp_community' => 'public', + 'id_module_group' => $id_group, + 'module_interval' => '300', + 'module_ff_interval' => '0', + 'ip_target' => $ip_target, + 'tcp_port' => '0', + 'tcp_rcv' => '', + 'tcp_send' => '', + 'id_export' => '0', + 'plugin_user' => '', + 'plugin_pass' => '0', + 'plugin_parameter' => '', + 'id_plugin' => '0', + 'post_process' => '0', + 'prediction_module' => '0', + 'max_timeout' => '0', + 'max_retries' => '0', + 'disabled' => '', + 'id_modulo' => '2', + 'custom_id' => '', + 'history_data' => '1', + 'dynamic_interval' => '0', + 'dynamic_max' => '0', + 'dynamic_min' => '0', + 'dynamic_two_tailed' => '1', + 'parent_module_id' => '0', + 'min_warning' => '0', + 'max_warning' => '0', + 'str_warning' => '', + 'min_critical' => '0', + 'max_critical' => '0', + 'str_critical' => '', + 'custom_string_1' => '', + 'custom_string_2' => '', + 'custom_string_3' => '', + 'custom_integer_1' => '0', + 'custom_integer_2' => '0', + 'min_ff_event' => '0', + 'min_ff_event_normal' => '0', + 'min_ff_event_warning' => '0', + 'min_ff_event_critical' => '0', + 'ff_type' => '0', + 'each_ff' => '0', + 'ff_timeout' => '0', + 'unit' => '', + 'macros' => '', + 'quiet' => '0', + 'cps' => '0', + 'critical_instructions' => '', + 'warning_instructions' => '', + 'unknown_instructions' => '', + 'critical_inverse' => '0', + 'warning_inverse' => '0', + 'percentage_critical' => '0', + 'percentage_warning' => '0', + 'cron_interval' => '* * * * *', + 'id_category' => '0', + 'disabled_types_event' => '{\"going_unknown\":0}', + 'module_macros' => 'W10=', + 'warning_time' => '0', + ]; + return modules_create_agent_module($id_agent, 'Basic_Network_Latency', $array_values); +} + + +/** + * Create module packet lost and return module id. + * + * @param mixed $id_agent Id agent. + * @param mixed $id_group Id group. + * @param mixed $ip_target Ip target. + * + * @return interger Module id. + */ +function create_module_packet_lost($id_agent, $id_group, $ip_target) +{ + include_once 'include/functions_modules.php'; + + $array_values = [ + 'id_tipo_modulo' => '1', + 'descripcion' => 'Basic network connectivity check to measure packet loss in %', + 'max' => '0', + 'min' => '0', + 'snmp_oid' => '', + 'snmp_community' => 'public', + 'id_module_group' => $id_group, + 'module_interval' => '300', + 'module_ff_interval' => '0', + 'ip_target' => '', + 'tcp_port' => '0', + 'tcp_rcv' => '', + 'tcp_send' => '', + 'id_export' => '0', + 'plugin_user' => '', + 'plugin_pass' => '0', + 'plugin_parameter' => '', + 'id_plugin' => '9', + 'post_process' => '0', + 'prediction_module' => '0', + 'max_timeout' => '0', + 'max_retries' => '0', + 'disabled' => '', + 'id_modulo' => '4', + 'custom_id' => '', + 'history_data' => '1', + 'dynamic_interval' => '0', + 'dynamic_max' => '0', + 'dynamic_min' => '0', + 'dynamic_two_tailed' => '1', + 'parent_module_id' => '0', + 'min_warning' => '0', + 'max_warning' => '0', + 'str_warning' => '', + 'min_critical' => '0', + 'max_critical' => '0', + 'str_critical' => '', + 'custom_string_1' => '', + 'custom_string_2' => '', + 'custom_string_3' => '', + 'custom_integer_1' => '0', + 'custom_integer_2' => '0', + 'min_ff_event' => '0', + 'min_ff_event_normal' => '0', + 'min_ff_event_warning' => '0', + 'min_ff_event_critical' => '0', + 'ff_type' => '0', + 'each_ff' => '0', + 'ff_timeout' => '0', + 'unit' => '', + 'macros' => '{"1":{"macro":"_field1_","desc":"Test time","help":"","value":"8","hide":""},"2":{"macro":"_field2_","desc":"Target IP","help":"","value":"'.$ip_target.'","hide":""}}', + 'quiet' => '0', + 'cps' => '0', + 'critical_instructions' => '', + 'warning_instructions' => '', + 'unknown_instructions' => '', + 'critical_inverse' => '0', + 'warning_inverse' => '0', + 'percentage_critical' => '0', + 'percentage_warning' => '0', + 'cron_interval' => '* * * * *', + 'id_category' => '0', + 'disabled_types_event' => '{\"going_unknown\":0}', + 'module_macros' => 'W10=', + 'warning_time' => '0', + ]; + return modules_create_agent_module($id_agent, 'Basic_Network_Packetloss', $array_values); +} + + +/** + * Create module packet lost and return module id. + * + * @param string $ip_target Ip and red mask. + * + * @return interger Module id. + */ +function create_net_scan($ip_target) +{ + global $config; + include_once 'HostDevices.class.php'; + $HostDevices = new HostDevices(1); + $id_recon_server = db_get_row_filter('tserver', ['server_type' => SERVER_TYPE_DISCOVERY], 'id_server')['id_server']; + + $_POST = [ + 'page' => '1', + 'interval_manual_defined' => '1', + 'interval_select' => '-1', + 'interval_text' => '0', + 'interval' => '0', + 'interval_units' => '1', + 'taskname' => __('Basic network'), + 'id_recon_server' => $id_recon_server, + 'network' => $ip_target, + 'id_group' => '8', + 'comment' => __('Created on welcome'), + ]; + $task_created = $HostDevices->parseNetScan(); + if ($task_created === true) { + $HostDevicesFinal = new HostDevices(2); + $_POST = [ + 'task' => $HostDevices->task['id_rt'], + 'page' => '2', + 'recon_ports' => '', + 'auto_monitor' => 'on', + 'id_network_profile' => ['0' => '2'], + 'review_results' => 'on', + 'review_limited' => '0', + 'snmp_enabled' => 'on', + 'snmp_version' => '1', + 'snmp_skip_non_enabled_ifs' => 'on', + 'community' => '', + 'snmp_context' => '', + 'snmp_auth_user' => '', + 'snmp_security_level' => 'authNoPriv', + 'snmp_auth_method' => 'MD5', + 'snmp_auth_pass' => '', + 'snmp_privacy_method' => 'AES', + 'snmp_privacy_pass' => '', + 'os_detect' => 'on', + 'resolve_names' => 'on', + 'parent_detection' => 'on', + 'parent_recursion' => 'on', + 'vlan_enabled' => 'on', + ]; + + $task_final_created = $HostDevicesFinal->parseNetScan(); + if ($task_final_created === true) { + $net_scan_id = $HostDevices->task['id_rt']; + unset($HostDevices, $HostDevicesFinal); + return $net_scan_id; + } + } else { + return 0; + } +} diff --git a/pandora_console/include/styles/new_installation_welcome_window.css b/pandora_console/include/styles/new_installation_welcome_window.css index 0dbdcd5203..6d354b0c33 100644 --- a/pandora_console/include/styles/new_installation_welcome_window.css +++ b/pandora_console/include/styles/new_installation_welcome_window.css @@ -88,7 +88,8 @@ } #li-div_diagnosis, -#li-div_task_todo { +#li-div_task_todo, +#li-div_wizard_agent { border-left: unset !important; } @@ -96,3 +97,18 @@ #div_task_todo > label { font-weight: bold; } + +button.buttonButton.onlyIcon.fail, +button.submitButton.onlyIcon.fail { + mask: url(../../images/fail@svg.svg) no-repeat center / contain; + -webkit-mask: url(../../images/fail@svg.svg) no-repeat center / contain; +} + +.select2-container .select2-container--default .select2-container--open { + z-index: 2000; +} + +#div_wizard_agent > .select2 { + width: 75% !important; + max-width: 75% !important; +} diff --git a/pandora_console/include/styles/pandora.css b/pandora_console/include/styles/pandora.css index adf1325b07..01ba592d97 100644 --- a/pandora_console/include/styles/pandora.css +++ b/pandora_console/include/styles/pandora.css @@ -11841,10 +11841,6 @@ span.help_icon_15px > img { height: 15px !important; } -.select2-dropdown { - z-index: 1116 !important; -} - .icon_connection_check { width: 65px !important; height: 65px !important; diff --git a/pandora_console/include/styles/select2.min.css b/pandora_console/include/styles/select2.min.css index ad21d16958..9d81e83c30 100644 --- a/pandora_console/include/styles/select2.min.css +++ b/pandora_console/include/styles/select2.min.css @@ -71,7 +71,7 @@ position: absolute; left: -100000px; width: 100%; - z-index: 1115; + z-index: 1118; } .select2-results { display: block;