2, // networkmap type 'id_tipo_modulo' => [ '<>2', // != generic_proc '<>6', // != remote_icmp_proc '<>9', // != remote_tcp_proc '<>6', // != remote_tcp_proc '<>18', // != remote_snmp_proc '<>21', // != async_proc '<>31', ], // != web_proc ] ); if (empty($modules_networkmap_no_proc)) { $modules_networkmap_no_proc = []; } $modules_others = agents_get_modules( $id_agente, false, [ 'id_tipo_modulo' => [ '<>2', // != generic_proc '<>6', // != remote_icmp_proc '<>9', // != remote_tcp_proc '<>6', // != remote_tcp_proc '<>18', // != remote_snmp_proc '<>21', // != async_proc '<>31', ], // != web_proc ] ); if (empty($modules_others)) { $modules_others = []; } $modules_boolean = agents_get_modules( $id_agente, false, [ 'id_tipo_modulo' => [ '<>1', '<>3', '<>4', '<>5', '<>7', '<>8', '<>10', '<>11', '<>15', '<>16', '<>17', '<>22', '<>23', '<>24', '<>30', '<>32', '<>33', '<>100', ], ] ); if (empty($modules_boolean)) { $modules_boolean = []; } // Cleaned the duplicate $modules and other things $modules_others = array_diff_key( $modules_others, $modules_networkmap_no_proc ); foreach ($modules_others as $i => $m) { $modules_others[$i] = [ 'optgroup' => __('Other modules'), 'name' => $m, ]; } foreach ($modules_networkmap_no_proc as $i => $m) { $modules_networkmap_no_proc[$i] = [ 'optgroup' => __('Modules network no proc'), 'name' => $m, ]; } foreach ($modules_boolean as $i => $m) { $modules_boolean[$i] = [ 'optgroup' => __('Modules boolean'), 'name' => $m, ]; } $list_modules = ($modules_networkmap_no_proc + $modules_others + $modules_boolean); // ---------------------------------------------------------------------- if (empty($modules)) { // Selected the first 6 modules. $module_ids = array_keys($list_modules); $module_ids = array_slice($module_ids, 0, 6); $modules = $module_ids; } $table = new stdClass(); $table->width = '100%'; $table->class = 'databox filters'; $table->style[0] = 'font-weight: bolder; text-align: left;'; $table->size[0] = '10%'; $table->style[1] = 'font-weight: bolder; text-align: left;'; $table->size[1] = '15%'; $table->style[2] = 'font-weight: bolder; text-align: left;'; $table->size[2] = '10%'; $table->style[3] = 'font-weight: bolder; text-align: left;'; $table->size[3] = '20%'; $table->rowspan[0][0] = 7; $table->rowspan[0][1] = 7; $table->data[0][0] = __('Modules'); $table->data[0][1] = html_print_select( $list_modules, 'modules[]', $modules, '', '', 0, true, true, true, '', false, 'min-width:200px;max-width:460px;height: 200px;' ); $table->rowspan[2][0] = 7; $table->data[2][0] = ''; $table->data[2][1] = __('Begin date'); $table->data[2][2] = html_print_input_text('start_date', substr($start_date, 0, 10), '', 10, 40, true); $table->data[2][2] .= html_print_image( 'images/calendar_view_day.png', true, [ 'class' => 'invert_filter', 'onclick' => "scwShow(scwID('text-start_date'),this);", ] ); $table->data[3][1] = __('Time range'); $table->data[3][2] = html_print_extended_select_for_time('period', $period, '', '', 0, 7, true); $table->data[4][2] = __('Show events'); $table->data[4][3] = html_print_checkbox('draw_events', 1, (bool) $draw_events, true); $table->data[5][2] = __('Show alerts').ui_print_help_tip(__('the combined graph does not show the alerts into this graph'), true); $table->data[5][3] = html_print_checkbox('draw_alerts', 1, (bool) $draw_alerts, true); $table->data[6][2] = __('Show as one combined graph'); $graph_option_one_or_several = [ 0 => __('several graphs for each module'), 1 => __('One combined graph'), ]; $table->data[6][3] = html_print_select($graph_option_one_or_several, 'combined', $combined, '', '', 1, true); $table->data[7][2] = __('Chart type'); if ($combined == 1) { $graph_option_type = [ 0 => __('Area'), 1 => __('Area stack'), 2 => __('Line'), 3 => __('Line stack'), ]; } else { $graph_option_type = [ 0 => __('Area'), 2 => __('Line'), ]; } $table->data[7][3] = html_print_select($graph_option_type, 'option_type', $option_type, '', '', 1, true); $htmlForm = '
'; $htmlForm .= html_print_table($table, true); $htmlForm .= html_print_input_hidden('filter', 1, true); $htmlForm .= '
'; if (check_acl($config['id_user'], 0, 'RW') || check_acl($config['id_user'], 0, 'RM')) { $htmlForm .= html_print_button( __('Save as custom graph'), 'save_custom_graph', false, '', 'class="sub add" ', true ); } $htmlForm .= '  '.html_print_submit_button(__('Filter'), 'filter_button', false, 'class="sub upd" ', true); $htmlForm .= '
'; $htmlForm .= '
'; ui_toggle($htmlForm, __('Filter graphs'), __('Toggle filter(s)'), '', false); $utime = get_system_time(); $current = date('Y-m-d', $utime); if ($start_date != $current) { $date = strtotime($start_date); } else { $date = $utime; } if ($combined) { // Pass the $modules before the ajax call echo '
'.html_print_image('images/spinner.gif', true).'
'; } else { foreach ($modules as $id_module) { $title = modules_get_agentmodule_name($id_module); $unit = modules_get_unit($id_module); echo '

'.$title.'

'; echo '
'.html_print_image('images/spinner.gif', true).'
'; } } echo "
"; echo ''; // Dialog to save the custom graph echo "'; ?>