diff --git a/pandora_console/include/functions_html.php b/pandora_console/include/functions_html.php index bee6de0c11..6a92a99016 100644 --- a/pandora_console/include/functions_html.php +++ b/pandora_console/include/functions_html.php @@ -3535,7 +3535,8 @@ function html_print_input_text( $disabled=false, $list='', $placeholder=null, - $pattern=null + $pattern=null, + $id=false ) { if ($maxlength == 0) { $maxlength = 255; @@ -3593,7 +3594,7 @@ function html_print_input_text( return html_print_input_text_extended( $name, $value, - 'text-'.$name, + (($id === false) ? 'text-'.$name : $id), $alt, $size, $maxlength, @@ -6861,6 +6862,11 @@ function html_print_input($data, $wrapper='div', $input_only=false) (isset($data['time_end']) === true) ? $data['time_end'] : '', (isset($data['date_text']) === true) ? $data['date_text'] : SECONDS_1DAY, (isset($data['class']) === true) ? $data['class'] : 'w100p', + (isset($data['date_format_php']) === true) ? $data['date_format_php'] : 'Y/m/d', + (isset($data['time_format_php']) === true) ? $data['time_format_php'] : 'H:i:s', + (isset($data['date_format_js']) === true) ? $data['date_format_js'] : 'yy/mm/dd', + (isset($data['time_format_js']) === true) ? $data['time_format_js'] : 'HH/mm/ss', + (isset($data['id']) === true) ? $data['id'] : '', ); break; @@ -7843,7 +7849,8 @@ function html_print_select_date_range( $date_format_php='Y/m/d', $time_format_php='H:i:s', $date_format_js='yy/mm/dd', - $time_format_js='HH:mm:ss' + $time_format_js='HH:mm:ss', + $id='', ) { global $config; @@ -7894,7 +7901,7 @@ function html_print_select_date_range( $fields['chose_range'] = __('Chose start/end date period'); $fields['none'] = __('None'); - $output = html_print_input_hidden('custom_date', $custom_date, true); + $output = html_print_input_hidden('custom_date', $custom_date, true, false, false, 'hidden-custom_date'.$id); $output .= '
'; $output .= html_print_select( $fields, @@ -7914,13 +7921,101 @@ function html_print_select_date_range( $table->data = []; $table->class = 'table-adv-filter'; $table->data[0][0] = '
'.__('From').':
'; - $table->data[0][0] .= html_print_input_text('date_init', $date_init, '', 12, 10, true).' '; - $table->data[0][0] .= html_print_input_text('time_init', $time_init, '', 10, 7, true).' '; + $table->data[0][0] .= html_print_input_text( + 'date_init', + $date_init, + '', + 12, + 10, + true, + false, + false, + '', + '', + '', + 'off', + false, + '', + '', + '', + false, + '', + null, + null, + (empty($id) === false) ? 'text-date_init'.$id : false, + ).' '; + $table->data[0][0] .= html_print_input_text( + 'time_init', + $time_init, + '', + 10, + 7, + true, + false, + false, + '', + '', + '', + 'off', + false, + '', + '', + '', + false, + '', + null, + null, + (empty($id) === false) ? 'text-time_init'.$id : false, + ).' '; $table->data[0][0] .= '
'; $table->data[0][0] .= '
'.__('to').':
'; - $table->data[0][0] .= html_print_input_text('date_end', $date_end, '', 12, 10, true).' '; + $table->data[0][0] .= html_print_input_text( + 'date_end', + $date_end, + '', + 12, + 10, + true, + false, + false, + '', + '', + '', + 'off', + false, + '', + '', + '', + false, + '', + null, + null, + (empty($id) === false) ? 'text-date_end'.$id : false, + ).' '; $table->data[0][0] .= '
'; - $table->data[0][0] .= html_print_input_text('time_end', $time_end, '', 10, 7, true).' '; + $table->data[0][0] .= html_print_input_text( + 'time_end', + $time_end, + '', + 10, + 7, + true, + false, + false, + '', + '', + '', + 'off', + false, + '', + '', + '', + false, + '', + null, + null, + (empty($id) === false) ? 'text-time_end'.$id : false, + ).' '; $table->data[0][0] .= ' '.html_print_image( 'images/logs@svg.svg', true, @@ -7991,13 +8086,13 @@ function html_print_select_date_range( $('#".$name."_range').show(); $('#".$name."_default').hide(); $('#".$name."_extend').hide(); - $('#hidden-custom_date').val('1'); + $('#hidden-custom_date".$id."').val('1'); $('.filter_label_position_before').addClass('filter_label_position_after'); } else if ($(this).val() === 'custom') { $('#".$name."_range').hide(); $('#".$name."_default').hide(); $('#".$name."_extend').show(); - $('#hidden-custom_date').val('2'); + $('#hidden-custom_date".$id."').val('2'); $('.filter_label_position_before').removeClass('filter_label_position_after'); } else { $('.filter_label_position_before').removeClass('filter_label_position_after'); @@ -8015,8 +8110,8 @@ function html_print_select_date_range( $('#".$name."_range').show(); $('#".$name."_default').hide(); $('#".$name."_extend').hide(); - position_top_init = $('#text-date_init').offset().top + $('#text-date_init').outerHeight(); - position_top_end = $('#text-date_end').offset().top + $('#text-date_end').outerHeight(); + position_top_init = $('[id^=text-date_init".$id."]').offset().top + $('[id^=text-date_init".$id."]').outerHeight(); + position_top_end = $('[id^=text-date_end".$id."]').offset().top + $('[id^=text-date_end".$id."]').outerHeight(); if(def_state_range){ $('#".$name."_range').show(); } else { @@ -8042,7 +8137,7 @@ function html_print_select_date_range( $('#".$name."_range').hide(); $('#".$name."_extend').hide(); $('#".$name."').val('".SECONDS_1DAY."').trigger('change'); - $('#hidden-custom_date').val('0'); + $('#hidden-custom_date".$id."').val('0'); } $('#text-date').datepicker({ @@ -8052,7 +8147,7 @@ function html_print_select_date_range( showAnim: 'slideDown' }); - $('[id^=text-time_init]').timepicker({ + $('[id^=text-time_init".$id."]').timepicker({ showSecond: true, timeFormat: '".$time_format_js."', timeOnlyTitle: '".__('Choose time')."', @@ -8064,7 +8159,7 @@ function html_print_select_date_range( closeText: '".__('Close')."' }); - $('[id^=text-date_init]').datepicker ({ + $('[id^=text-date_init".$id."]').datepicker ({ dateFormat: '".$date_format_js."', changeMonth: true, changeYear: true, @@ -8073,9 +8168,9 @@ function html_print_select_date_range( beforeShowDay: function (date) { show_datepicker = 'date_init'; var date_now = date.getTime(); - var date_ini_split = $('[id^=text-date_init]').val().split('/'); + var date_ini_split = $('[id^=text-date_init".$id."]').val().split('/'); var date_ini = new Date(date_ini_split[1]+'/'+date_ini_split[2]+'/'+date_ini_split[0]).getTime(); - var date_end_split = $('[id^=text-date_end]').val().split('/'); + var date_end_split = $('[id^=text-date_end".$id."]').val().split('/'); var date_end = new Date(date_end_split[1]+'/'+date_end_split[2]+'/'+date_end_split[0]).getTime(); if (date_now > date_ini && date_now < date_end) { return [true, 'ui-date-range-in', 'prueba']; @@ -8086,7 +8181,7 @@ function html_print_select_date_range( } }); - $('[id^=text-date_end]').datepicker ({ + $('[id^=text-date_end".$id."]').datepicker ({ dateFormat: '".$date_format_js."', changeMonth: true, changeYear: true, @@ -8095,9 +8190,9 @@ function html_print_select_date_range( beforeShowDay: function (date) { show_datepicker = 'date_end'; var date_now = date.getTime(); - var date_ini_split = $('[id^=text-date_init]').val().split('/'); + var date_ini_split = $('[id^=text-date_init".$id."]').val().split('/'); var date_ini = new Date(date_ini_split[1]+'/'+date_ini_split[2]+'/'+date_ini_split[0]).getTime(); - var date_end_split = $('[id^=text-date_end]').val().split('/'); + var date_end_split = $('[id^=text-date_end".$id."]').val().split('/'); var date_end = new Date(date_end_split[1]+'/'+date_end_split[2]+'/'+date_end_split[0]).getTime(); if (date_now > date_ini && date_now < date_end) { return [true, 'ui-date-range-in', 'prueba']; @@ -8105,10 +8200,10 @@ function html_print_select_date_range( return [true, 'ui-datepicker-current-day', '']; } return [true, '', '']; - } + }, }); - $('[id^=text-time_end]').timepicker({ + $('[id^=text-time_end".$id."]').timepicker({ showSecond: true, timeFormat: '".$time_format_js."', timeOnlyTitle: '".__('Choose time')."', diff --git a/pandora_console/include/javascript/pandora_dashboards.js b/pandora_console/include/javascript/pandora_dashboards.js index f7d84f2314..853379a2aa 100644 --- a/pandora_console/include/javascript/pandora_dashboards.js +++ b/pandora_console/include/javascript/pandora_dashboards.js @@ -24,12 +24,6 @@ function show_option_dialog(settings) { method: "updateDashboard", dataType: "json" }, - oncancel: { - reload: true - }, - onclose: { - reload: true - }, ajax_callback: update_dashboard }); } @@ -483,10 +477,6 @@ function initialiceLayout(data) { function configurationWidget(cellId, widgetId, size) { var reload = 0; var overlay = false; - if (widgetId == 46) { - reload = 1; - overlay = true; - } title = $("#hidden-widget_name_" + cellId).val(); load_modal({ target: $("#modal-config-widget"), diff --git a/pandora_console/include/javascript/pandora_events.js b/pandora_console/include/javascript/pandora_events.js index fd20082b9c..09ddee825c 100644 --- a/pandora_console/include/javascript/pandora_events.js +++ b/pandora_console/include/javascript/pandora_events.js @@ -1338,7 +1338,6 @@ function listen_event_sound(settings) { ); } -let sound_listener; function check_event_sound(settings) { // Update elements time. $(".elements-discovered-alerts ul li").each(function() { @@ -1382,7 +1381,7 @@ function check_event_sound(settings) { }, function(data) { if (data != false) { - clearTimeout(sound_listener); + clearTimeout(window.sound_listener); // Hide empty. $("#tabs-sound-modal .empty-discovered-alerts").addClass( "invisible_important" @@ -1434,7 +1433,7 @@ function check_event_sound(settings) { }); // -100 delay sound. - sound_listener = setTimeout( + window.sound_listener = setTimeout( remove_audio, parseInt($("#tabs-sound-modal #time_sound").val()) * 1000 - 100 ); diff --git a/pandora_console/include/lib/Dashboard/Widgets/security_hardening.php b/pandora_console/include/lib/Dashboard/Widgets/security_hardening.php index 88e37c58b5..5faddcba17 100644 --- a/pandora_console/include/lib/Dashboard/Widgets/security_hardening.php +++ b/pandora_console/include/lib/Dashboard/Widgets/security_hardening.php @@ -270,8 +270,8 @@ class SecurityHardening extends Widget 'id' => 'row_date', 'class' => 'row_input', 'arguments' => [ - 'id' => 'range', - 'name' => 'range', + 'id' => '_range_vulnerability', + 'name' => 'range_vulnerability', 'type' => 'date_range', 'selected' => 'chose_range', 'date_init' => date('Y/m/d', $values['date_init']), @@ -301,7 +301,7 @@ class SecurityHardening extends Widget $values['limit'] = \get_parameter('limit', 10); $values['category'] = \get_parameter('category', 6); $values['ignore_skipped'] = \get_parameter_switch('ignore_skipped', 0); - $date = $this->getDateParameter(); + $date = \get_parameter_date('range_vulnerability', '', 'U'); $values['date_init'] = $date['date_init']; $values['date_end'] = $date['date_end']; return $values; @@ -366,75 +366,6 @@ class SecurityHardening extends Widget } - /** - * Returns the date in an object obtained by parameter. - * - * @return object Object with date_init, date_end and period. - */ - private function getDateParameter() - { - $date_end = get_parameter('date_end', 0); - $time_end = get_parameter('time_end'); - $datetime_end = strtotime($date_end.' '.$time_end); - - $custom_date = get_parameter('custom_date', 0); - $range = get_parameter('range', SECONDS_1DAY); - $date_text = get_parameter('range_text', SECONDS_1DAY); - $date_init_less = (strtotime(date('Y/m/d')) - SECONDS_1DAY); - $date_init = get_parameter('date_init', date(DATE_FORMAT, $date_init_less)); - $time_init = get_parameter('time_init', date(TIME_FORMAT, $date_init_less)); - $datetime_init = strtotime($date_init.' '.$time_init); - if ($custom_date === '1') { - if ($datetime_init >= $datetime_end) { - $datetime_init = $date_init_less; - } - - $date_init = date('Y/m/d H:i:s', $datetime_init); - $date_end = date('Y/m/d H:i:s', $datetime_end); - $period = ($datetime_end - $datetime_init); - } else if ($custom_date === '2') { - $date_units = get_parameter('range_units'); - $date_end = date('Y/m/d H:i:s'); - $date_init = date('Y/m/d H:i:s', (strtotime($date_end) - ((int) $date_text * (int) $date_units))); - $period = (strtotime($date_end) - strtotime($date_init)); - } else if (in_array($range, ['this_week', 'this_month', 'past_week', 'past_month'])) { - if ($range === 'this_week') { - $monday = date('Y/m/d', strtotime('last monday')); - - $sunday = date('Y/m/d', strtotime($monday.' +6 days')); - $period = (strtotime($sunday) - strtotime($monday)); - $date_init = $monday; - $date_end = $sunday; - } else if ($range === 'this_month') { - $date_end = date('Y/m/d', strtotime('last day of this month')); - $first_of_month = date('Y/m/d', strtotime('first day of this month')); - $date_init = $first_of_month; - $period = (strtotime($date_end) - strtotime($first_of_month)); - } else if ($range === 'past_month') { - $date_end = date('Y/m/d', strtotime('last day of previous month')); - $first_of_month = date('Y/m/d', strtotime('first day of previous month')); - $date_init = $first_of_month; - $period = (strtotime($date_end) - strtotime($first_of_month)); - } else if ($range === 'past_week') { - $date_end = date('Y/m/d', strtotime('sunday', strtotime('last week'))); - $first_of_week = date('Y/m/d', strtotime('monday', strtotime('last week'))); - $date_init = $first_of_week; - $period = (strtotime($date_end) - strtotime($first_of_week)); - } - } else { - $date_end = date('Y/m/d H:i:s'); - $date_init = date('Y/m/d H:i:s', (strtotime($date_end) - $range)); - $period = (strtotime($date_end) - strtotime($date_init)); - } - - return [ - 'date_init' => strtotime($date_init), - 'date_end' => strtotime($date_end), - 'period' => $period, - ]; - } - - /** * Check user's acl using group. * @@ -692,6 +623,7 @@ class SecurityHardening extends Widget */ private function vulnerabilitiesByCategory($group, $category, $ignore_skipped=true) { + global $config; $labels = [ __('Passed'), __('Failed'), @@ -749,7 +681,7 @@ class SecurityHardening extends Widget $total = (count($vulnerabilities['pass']) + count($vulnerabilities['fail'])); - if ($ignore_skipped === false) { + if ($ignore_skipped === false && isset($vulnerabilities['skipped']) === true) { $data[] = count($vulnerabilities['skipped']); $total += count($vulnerabilities['skipped']); $labels[] = __('Skipped'); @@ -763,18 +695,19 @@ class SecurityHardening extends Widget 'display' => true, 'position' => 'right', 'align' => 'center', + 'fonts' => [ 'size' => '12' ], ], 'elements' => [ 'center' => [ 'text' => $total, - 'color' => '#2c3e50', + 'color' => ($config['style'] === 'pandora_black') ? '#ffffff' : '#2c3e50', ], ], 'labels' => $labels, 'colors' => [ '#82b92e', '#e63c52', - '#E4E4E4', + ($config['style'] === 'pandora_black') ? '#666' : '#E4E4E4', ], ] );