diff --git a/pandora_console/include/ajax/events.php b/pandora_console/include/ajax/events.php index 6ccf7cf9b5..d9be30cc33 100644 --- a/pandora_console/include/ajax/events.php +++ b/pandora_console/include/ajax/events.php @@ -1515,9 +1515,37 @@ if ($change_status === true) { } if ($get_Acknowledged === true) { - $event_id = get_parameter('event_id'); - echo events_page_general_acknowledged($event_id); - return; + $event_id = (int) get_parameter('event_id', 0); + $server_id = (int) get_parameter('server_id', 0); + + $return = ''; + try { + if (is_metaconsole() === true + && $server_id > 0 + ) { + $node = new Node($server_id); + $node->connect(); + } + + echo events_page_general_acknowledged($event_id); + } catch (\Exception $e) { + // Unexistent agent. + if (is_metaconsole() === true + && $server_id > 0 + ) { + $node->disconnect(); + } + + $return = false; + } finally { + if (is_metaconsole() === true + && $server_id > 0 + ) { + $node->disconnect(); + } + } + + return $return; } if ($change_owner === true) { diff --git a/pandora_console/include/functions.php b/pandora_console/include/functions.php index 43fef71ced..7d4fee1d21 100644 --- a/pandora_console/include/functions.php +++ b/pandora_console/include/functions.php @@ -226,7 +226,7 @@ function format_numeric($number, $decimals=1) global $config; // Translate to float in case there are characters in the string so - // fmod doesn't throw a notice + // fmod doesn't throw a notice. $number = (float) $number; if ($number == 0) { @@ -234,10 +234,20 @@ function format_numeric($number, $decimals=1) } if (fmod($number, 1) > 0) { - return number_format($number, $decimals, $config['decimal_separator'], $config['thousand_separator']); + return number_format( + $number, + $decimals, + $config['decimal_separator'], + ($config['thousand_separator'] ?? ',') + ); } - return number_format($number, 0, $config['decimal_separator'], $config['thousand_separator']); + return number_format( + $number, + 0, + $config['decimal_separator'], + ($config['thousand_separator'] ?? ',') + ); } diff --git a/pandora_console/include/functions_events.php b/pandora_console/include/functions_events.php index fc2c0eb7d9..9c013b0ee8 100644 --- a/pandora_console/include/functions_events.php +++ b/pandora_console/include/functions_events.php @@ -496,9 +496,13 @@ function events_update_status($id_evento, $status, $filter=null) // No groups option direct update. $update_sql = sprintf( 'UPDATE tevento - SET estado = %d + SET estado = %d, + ack_utimestamp = %d, + id_usuario = "%s" WHERE id_evento = %d', $status, + time(), + $config['id_user'], $id_evento ); break; @@ -4797,14 +4801,15 @@ function events_page_general($event) $data = []; - $table_general->rowid[7] = 'general_status'; + $table_general->rowid[count($table_general->data)] = 'general_status'; + $table_general->cellclass[count($table_general->data)][1] = 'general_status'; $data[0] = __('Status'); $data[1] = $event_st['title']; $data[2] = html_print_image($event_st['img'], true); $table_general->data[] = $data; // If event is validated, show who and when acknowleded it. - $table_general->cellclass[8][1] = 'general_acknowleded'; + $table_general->cellclass[count($table_general->data)][1] = 'general_acknowleded'; $data = []; $data[0] = __('Acknowledged by'); @@ -4825,7 +4830,17 @@ function events_page_general($event) } } - $data[1] = $user_ack.' ( '.date($config['date_format'], $event['ack_utimestamp_raw']).' ) '; + $data[1] = $user_ack.' ( '; + if ($event['ack_utimestamp_raw'] !== false + && $event['ack_utimestamp_raw'] !== 'false' + ) { + $data[1] .= date( + $config['date_format'], + $event['ack_utimestamp_raw'] + ); + } + + $data[1] .= ' ) '; } else { $data[1] = ''.__('N/A').''; } @@ -4932,9 +4947,9 @@ function events_page_general_acknowledged($event_id) { global $config; $Acknowledged = ''; - $event = db_get_all_rows_filter('tevento', 'id_evento', $event_id); - - if ($event) { + $event = db_get_row('tevento', 'id_evento', $event_id); + hd($event['ack_utimestamp'], true); + if ($event !== false && $event['estado'] == 1) { $user_ack = db_get_value( 'fullname', 'tusuario', @@ -4946,7 +4961,17 @@ function events_page_general_acknowledged($event_id) $user_ack = $config['id_user']; } - $Acknowledged = $user_ack.' ( '.date($config['date_format'], $event['ack_utimestamp_raw']).' ) '; + $Acknowledged = $user_ack.' ( '; + if ($event['ack_utimestamp'] !== false + && $event['ack_utimestamp'] !== 'false' + ) { + $Acknowledged .= date( + $config['date_format'], + $event['ack_utimestamp'] + ); + } + + $Acknowledged .= ' ) '; } else { $Acknowledged = 'N/A'; } diff --git a/pandora_console/include/functions_ui.php b/pandora_console/include/functions_ui.php index df491679c8..6a658997f6 100755 --- a/pandora_console/include/functions_ui.php +++ b/pandora_console/include/functions_ui.php @@ -6597,10 +6597,10 @@ function ui_print_comments($comments) $rest_time = (time() - $last_comment['utimestamp']); $time_last = (($rest_time / 60) / 60); - $comentario = ''.number_format($time_last, 0, $config['decimal_separator'], $config['thousand_separator']).'  Hours  ('.$last_comment['id_user'].'): '.$last_comment['comment'].''; + $comentario = ''.number_format($time_last, 0, $config['decimal_separator'], ($config['thousand_separator'] ?? ',')).'  Hours  ('.$last_comment['id_user'].'): '.$last_comment['comment'].''; if (strlen($comentario) > '200px') { - $comentario = ''.number_format($time_last, 0, $config['decimal_separator'], $config['thousand_separator']).'  Hours  ('.$last_comment['id_user'].'): '.$short_comment.'...'; + $comentario = ''.number_format($time_last, 0, $config['decimal_separator'], ($config['thousand_separator'] ?? ',')).'  Hours  ('.$last_comment['id_user'].'): '.$short_comment.'...'; } } diff --git a/pandora_console/include/javascript/pandora_events.js b/pandora_console/include/javascript/pandora_events.js index 29bf447264..c2ee675f0d 100644 --- a/pandora_console/include/javascript/pandora_events.js +++ b/pandora_console/include/javascript/pandora_events.js @@ -336,19 +336,17 @@ function event_change_status(event_ids, server_id) { } if (data.status == "status_ok") { - // if (typeof dt_events !== "undefined") { - // dt_events.draw(false); - // } $.ajax({ type: "POST", url: "ajax.php", data: { page: "include/ajax/events", get_Acknowledged: 1, - event_id: event_ids + event_id: event_ids, + server_id: server_id }, success: function(response) { - $("#table4-9-1").html(response); + $(".general_acknowleded").html(response); } }); @@ -356,15 +354,6 @@ function event_change_status(event_ids, server_id) { .DataTable() .draw(false); $("#notification_status_success").show(); - if (new_status == 1) { - $("#extended_event_general_page table td.general_acknowleded").text( - data.user - ); - } else { - $("#extended_event_general_page table td.general_acknowleded").text( - "N/A" - ); - } $("#general_status") .find(".general_status")