diff --git a/pandora_console/godmode/events/events.php b/pandora_console/godmode/events/events.php index c937ad281c..72ae001fe1 100644 --- a/pandora_console/godmode/events/events.php +++ b/pandora_console/godmode/events/events.php @@ -50,17 +50,10 @@ if (check_acl($config['id_user'], 0, 'PM')) { 'text' => ''.html_print_image('images/event_responses.png', true, ['title' => __('Event responses')]).'', ]; - if (!is_metaconsole()) { - $buttons['fields'] = [ - 'active' => false, - 'text' => ''.html_print_image('images/custom_columns.png', true, ['title' => __('Custom fields')]).'', - ]; - } else { - $buttons['fields'] = [ - 'active' => false, - 'text' => ''.html_print_image('images/custom_columns.png', true, ['title' => __('Custom fields')]).'', - ]; - } + $buttons['fields'] = [ + 'active' => false, + 'text' => ''.html_print_image('images/custom_columns.png', true, ['title' => __('Custom fields')]).'', + ]; } switch ($section) { diff --git a/pandora_console/include/ajax/events.php b/pandora_console/include/ajax/events.php index d6b4e61eaa..05a6e3ad07 100644 --- a/pandora_console/include/ajax/events.php +++ b/pandora_console/include/ajax/events.php @@ -75,13 +75,20 @@ $graphic_event_group = (bool) get_parameter('graphic_event_group'); $get_table_response_command = (bool) get_parameter('get_table_response_command'); $save_filter_modal = get_parameter('save_filter_modal', 0); $load_filter_modal = get_parameter('load_filter_modal', 0); -$save_filter = get_parameter('save_filter', 0); $get_filter_values = get_parameter('get_filter_values', 0); $update_event_filter = get_parameter('update_event_filter', 0); $save_event_filter = get_parameter('save_event_filter', 0); $in_process_event = get_parameter('in_process_event', 0); $validate_event = get_parameter('validate_event', 0); $delete_event = get_parameter('delete_event', 0); +$get_event_filters = get_parameter('get_event_filters', 0); + + +if ($get_event_filters) { + $event_filter = events_get_event_filter_select(); + + echo io_json_mb_encode($event_filter); +} // Delete event (filtered or not). if ($delete_event) { @@ -601,7 +608,7 @@ function save_new_filter() { jQuery.post ("", { - "page" : "operation/events/events_list", + "page" : "include/ajax/events", "save_event_filter" : 1, "id_name" : $("#text-id_name").val(), "id_group" : $("select#id_group").val(), @@ -670,7 +677,7 @@ function save_update_filter() { var name_filter_update = $("#overwrite_filter option[value='"+id_filter_update+"']").text(); jQuery.post ("", - {"page" : "operation/events/events_list", + {"page" : "include/ajax/events", "update_event_filter" : 1, "id" : $("#overwrite_filter").val(), "id_group" : $("select#id_group").val(), @@ -723,7 +730,7 @@ function save_update_filter() { $('#filter_id').append ($('').html ( ).attr ("value", 0)); // Reload filters select jQuery.post ("", - {"page" : "operation/events/events_list", + {"page" : "include/ajax/events", "get_event_filters" : 1 }, function (data) { diff --git a/pandora_console/include/functions_events.php b/pandora_console/include/functions_events.php index a958a3a957..0f72e0b55c 100644 --- a/pandora_console/include/functions_events.php +++ b/pandora_console/include/functions_events.php @@ -1197,6 +1197,19 @@ function events_get_all( } } + $server_join = ''; + if (is_metaconsole()) { + $server_join = ' LEFT JOIN tmetaconsole_setup ts + ON ts.id = te.server_id'; + if (!empty($filter['server_id'])) { + $server_join = sprintf( + ' LEFT JOIN tmetaconsole_setup ts + ON ts.id = te.server_id AND ts.id= %d', + $filter['server_id'] + ); + } + } + // Secondary groups. db_process_sql('SET group_concat_max_len = 9999999'); $event_lj = events_get_secondary_groups_left_join($table); @@ -1229,6 +1242,7 @@ function events_get_all( %s JOIN tgrupo tg ON te.id_grupo = tg.id_grupo %s + %s WHERE 1=1 %s %s @@ -1247,6 +1261,7 @@ function events_get_all( join(' ', $agent_join_filters), $tgrupo_join, join(' ', $tgrupo_join_filters), + $server_join, join(' ', $sql_filters), $group_by, $order_by, diff --git a/pandora_console/operation/events/events.php b/pandora_console/operation/events/events.php index 3f730325d8..2ee276c820 100644 --- a/pandora_console/operation/events/events.php +++ b/pandora_console/operation/events/events.php @@ -44,9 +44,13 @@ require_once $config['homedir'].'/include/functions_ui.php'; // Check access. check_login(); -if (! check_acl($config['id_user'], 0, 'ER') - && ! check_acl($config['id_user'], 0, 'EW') - && ! check_acl($config['id_user'], 0, 'EM') +$event_a = check_acl($config['id_user'], 0, 'ER'); +$event_w = check_acl($config['id_user'], 0, 'EW'); +$event_m = check_acl($config['id_user'], 0, 'EM'); + +if (! $event_a + && ! $event_w + && ! $event_m ) { db_pandora_audit( 'ACL Violation', @@ -61,9 +65,6 @@ if (! check_acl($config['id_user'], 0, 'ER') } -$event_a = check_acl($config['id_user'], 0, 'ER'); -$event_w = check_acl($config['id_user'], 0, 'EW'); -$event_m = check_acl($config['id_user'], 0, 'EM'); $access = ($event_a == true) ? 'ER' : (($event_w == true) ? 'EW' : (($event_m == true) ? 'EM' : 'ER')); @@ -237,6 +238,9 @@ if (is_ajax()) { ]; if (!is_metaconsole()) { $fields[] = 'am.nombre as id_agentmodule'; + $fields[] = 'ta.server_name as server_name'; + } else { + $fields[] = 'ts.server_name as server_name'; } $events = events_get_all( @@ -603,7 +607,7 @@ if ($pure) { $sound_event['text'] = ''.html_print_image('images/sound.png', true, ['title' => __('Sound events')]).''; // If the user has administrator permission display manage tab. - if (check_acl($config['id_user'], 0, 'EW') || check_acl($config['id_user'], 0, 'EM')) { + if ($event_w || $event_m) { // Manage events. $manage_events['active'] = false; $manage_events['text'] = ''.html_print_image('images/setup.png', true, ['title' => __('Manage events')]).''; @@ -880,12 +884,14 @@ $buttons[] = [ 'onclick' => '', ]; -$buttons[] = [ - 'id' => 'save-filter', - 'class' => 'float-left margin-right-2 sub wand', - 'text' => __('Save filter'), - 'onclick' => '', -]; +if ($event_w || $event_m) { + $buttons[] = [ + 'id' => 'save-filter', + 'class' => 'float-left margin-right-2 sub wand', + 'text' => __('Save filter'), + 'onclick' => '', + ]; +} /* * Advanced filter. @@ -1374,12 +1380,12 @@ $sql_event_resp = "SELECT id, name FROM tevent_response WHERE type LIKE 'command $event_responses = db_get_all_rows_sql($sql_event_resp); if ($config['event_replication'] != 1) { - if (check_acl($config['id_user'], 0, 'EW') == 1 && !$readonly) { + if ($event_w && !$readonly) { $array_events_actions['in_progress_selected'] = __('In progress selected'); $array_events_actions['validate_selected'] = __('Validate selected'); } - if (check_acl($config['id_user'], 0, 'EM') == 1 && !$readonly) { + if ($event_m == 1 && !$readonly) { $array_events_actions['delete_selected'] = __('Delete selected'); } }