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 = '
'; 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 '