From a6209c15ca731a19d73922911635ca70668d7924 Mon Sep 17 00:00:00 2001 From: Arturo Gonzalez Date: Wed, 5 Apr 2017 17:44:24 +0200 Subject: [PATCH 01/15] Added event filter field to user in creation and edition --- pandora_console/godmode/users/configure_user.php | 13 ++++++++++++- pandora_console/pandoradb.sql | 1 + 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/pandora_console/godmode/users/configure_user.php b/pandora_console/godmode/users/configure_user.php index 73b1f5ede0..d64a67e278 100644 --- a/pandora_console/godmode/users/configure_user.php +++ b/pandora_console/godmode/users/configure_user.php @@ -158,6 +158,7 @@ if ($create_user) { $values['comments'] = (string) get_parameter ('comments'); $values['is_admin'] = (int) get_parameter ('is_admin', 0); $values['language'] = get_parameter ('language', 'default'); + $values['default_event_filter'] = (int) get_parameter('default_event_filter'); if ($isFunctionSkins !== ENTERPRISE_NOT_HOOK) { $values['id_skin'] = (int) get_parameter ('skin', 0); } @@ -266,6 +267,7 @@ if ($update_user) { $values['comments'] = (string) get_parameter ('comments'); $values['is_admin'] = get_parameter ('is_admin', 0 ); $values['language'] = (string) get_parameter ('language'); + $values['default_event_filter'] = (int) get_parameter('default_event_filter'); if ($isFunctionSkins !== ENTERPRISE_NOT_HOOK) { $values['id_skin'] = get_parameter ('skin', 0); } @@ -547,7 +549,16 @@ $table->data[14][1] = html_print_checkbox('strict_acl', 1, $user_info["strict_ac $table->data[15][0] = __('Session Time'); $table->data[15][0] .= ui_print_help_tip(__('This is defined in minutes, If you wish a permanent session should putting -1 in this field.'), true); $table->data[15][1] = html_print_input_text ('session_time', $user_info["session_time"], '', 5, 5, true); - + +$event_filter_data = db_get_all_rows_sql('SELECT id_name, id_filter FROM tevent_filter'); +$event_filter = array(); +$event_filter[0] = __('None'); +foreach ($event_filter_data as $filter) { + $event_filter[$filter['id_filter']] = $filter['id_name']; +} +$table->data[16][0] = __('Default event filter'); +$table->data[16][1] = html_print_select ($event_filter, 'default_event_filter', $user_info["default_event_filter"], '','', __('None'), true, false, false); + if($meta) { enterprise_include('include/functions_metaconsole.php'); $data = array(); diff --git a/pandora_console/pandoradb.sql b/pandora_console/pandoradb.sql index 2a1bded331..698ad2e8cf 100644 --- a/pandora_console/pandoradb.sql +++ b/pandora_console/pandoradb.sql @@ -1075,6 +1075,7 @@ CREATE TABLE IF NOT EXISTS `tusuario` ( `strict_acl` tinyint(1) unsigned NOT NULL DEFAULT 0, `id_filter` int(10) unsigned NULL default NULL, `session_time` int(10) signed NOT NULL default 0, + `default_event_filter` int(10) unsigned NOT NULL default 0, CONSTRAINT `fk_filter_id` FOREIGN KEY (`id_filter`) REFERENCES tevent_filter (`id_filter`) ON DELETE SET NULL, UNIQUE KEY `id_user` (`id_user`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; From 5185105c0323251d4437798b03ab1be35c7bc74c Mon Sep 17 00:00:00 2001 From: Arturo Gonzalez Date: Thu, 6 Apr 2017 11:45:22 +0200 Subject: [PATCH 02/15] Added default filter elements to filter table and filter tags. --- .../operation/events/events_list.php | 78 ++++++++++++++++++- 1 file changed, 76 insertions(+), 2 deletions(-) diff --git a/pandora_console/operation/events/events_list.php b/pandora_console/operation/events/events_list.php index 703a76c14f..2608b45601 100644 --- a/pandora_console/operation/events/events_list.php +++ b/pandora_console/operation/events/events_list.php @@ -259,6 +259,82 @@ if (check_acl ($config["id_user"], 0, "EW") || check_acl ($config["id_user"], 0, echo ''; } +/* -------------------------------------------------------------------------- */ +/* ------------------------ DEFAULT USER FILTER ----------------------------- */ +$user = $config['id_user']; +$user_filter = db_get_value_filter('default_event_filter', 'tusuario', array('id_user' => $user)); +if ($user_filter != 0 && empty($id_name)) { + $user_default_filter = db_get_all_rows_filter('tevent_filter', array('id_filter' => $user_filter)); + $user_default_filter = $user_default_filter[0]; + + // FORM + $id_name = $user_default_filter['id_name']; + $id_group = $user_default_filter['id_group']; + $event_type = $user_default_filter['event_type']; + $severity = $user_default_filter['severity']; + $status = $user_default_filter['status']; + $event_view_hr = $user_default_filter['event_view_hr']; + $group_rep = $user_default_filter['group_rep']; + $search = $user_default_filter['search']; + $id_user_ack = $user_default_filter['id_user_ack']; + $id_agent_module = $user_default_filter['id_agent_module']; + $id_agent = $user_default_filter['id_agent']; + $text_agent = $user_default_filter['text_agent']; + $filter_only_alert = $user_default_filter['filter_only_alert']; + $pagination = $user_default_filter['pagination']; + $date_from = $user_default_filter['date_from']; + $date_to = $user_default_filter['date_to']; + $tag_with = $user_default_filter['tag_with']; + $tag_without = $user_default_filter['tag_without']; + if ($tag_with != "[]") { + $tag_with_clean = io_safe_output($tag_with); + $tag_with = json_decode($tag_with_clean, true); + } + if ($tag_without != "[]") { + $tag_without_clear = io_safe_output($tag_without); + $tag_without = json_decode($tag_without_clear, true); + } + + // TAGS + $filter_resume['severity'] = $user_default_filter['severity']; + $filter_resume['status'] = $user_default_filter['status']; + $filter_resume['groups'] = $user_default_filter['id_group']; + if ($user_default_filter['id_agent'] != 0) { + $filter_resume['agent'] = $user_default_filter['id_agent']; + } + if ($user_default_filter['id_agent_module'] != 0) { + $filter_resume['module'] = $user_default_filter['id_agent_module']; + } + if ($user_default_filter['event_type'] != "") { + $filter_resume['event_type'] = $user_default_filter['event_type']; + } + if ($user_default_filter['search'] != "") { + $filter_resume['free_search'] = $user_default_filter['search']; + } + if ($user_default_filter['date_from'] != "0000-00-00") { + $filter_resume['time_from'] = $user_default_filter['date_from']; + } + if ($user_default_filter['date_to'] != "0000-00-00") { + $filter_resume['time_to'] = $user_default_filter['date_to']; + } + if ($user_default_filter['tag_with'] != "[]") { + $tag_with_clean_tag = io_safe_output($user_default_filter['tag_with']); + $filter_resume['tag_inc'] = json_decode($tag_with_clean_tag, true); + } + if ($user_default_filter['tag_without'] != "[]") { + $tag_without_clean_tag = io_safe_output($user_default_filter['tag_without']); + $filter_resume['tag_no_inc'] = json_decode($tag_without_clean_tag, true); + } + if ($user_default_filter['filter_only_alert'] != -1) { + $filter_resume['alerts'] = $user_default_filter['filter_only_alert']; + } + $filter_resume['hours_max'] = $user_default_filter['event_view_hr']; + if ($user_default_filter['id_user_ack'] != 0) { + $filter_resume['user_ack'] = $user_default_filter['id_user_ack']; + } +} +/* -------------------------------------------------------------------------- */ + // Load filter div for dialog echo ''; } -/* -------------------------------------------------------------------------- */ -/* ------------------------ DEFAULT USER FILTER ----------------------------- */ -$user = $config['id_user']; -$user_filter = db_get_value_filter('default_event_filter', 'tusuario', array('id_user' => $user)); -$update_from_filter_table = (bool)get_parameter('update_from_filter_table', false); -if ($user_filter != 0 && empty($id_name) && !$update_from_filter_table) { - $user_default_filter = db_get_all_rows_filter('tevent_filter', array('id_filter' => $user_filter)); - $user_default_filter = $user_default_filter[0]; - - // FORM - $id_name = $user_default_filter['id_name']; - $id_group = $user_default_filter['id_group']; - $event_type = $user_default_filter['event_type']; - $severity = $user_default_filter['severity']; - $status = $user_default_filter['status']; - $event_view_hr = $user_default_filter['event_view_hr']; - $group_rep = $user_default_filter['group_rep']; - $search = $user_default_filter['search']; - $id_user_ack = $user_default_filter['id_user_ack']; - $id_agent_module = $user_default_filter['id_agent_module']; - $id_agent = $user_default_filter['id_agent']; - $text_agent = $user_default_filter['text_agent']; - $filter_only_alert = $user_default_filter['filter_only_alert']; - $pagination = $user_default_filter['pagination']; - $date_from = $user_default_filter['date_from']; - $date_to = $user_default_filter['date_to']; - $tag_with = $user_default_filter['tag_with']; - $tag_without = $user_default_filter['tag_without']; - if ($tag_with != "[]") { - $tag_with_clean = io_safe_output($tag_with); - $tag_with = json_decode($tag_with_clean, true); - } - if ($tag_without != "[]") { - $tag_without_clear = io_safe_output($tag_without); - $tag_without = json_decode($tag_without_clear, true); - } - - // TAGS - $filter_resume['severity'] = $user_default_filter['severity']; - $filter_resume['status'] = $user_default_filter['status']; - $filter_resume['groups'] = $user_default_filter['id_group']; - if ($user_default_filter['id_agent'] != 0) { - $filter_resume['agent'] = $user_default_filter['id_agent']; - } - if ($user_default_filter['id_agent_module'] != 0) { - $filter_resume['module'] = $user_default_filter['id_agent_module']; - } - if ($user_default_filter['event_type'] != "") { - $filter_resume['event_type'] = $user_default_filter['event_type']; - } - if ($user_default_filter['search'] != "") { - $filter_resume['free_search'] = $user_default_filter['search']; - } - if ($user_default_filter['date_from'] != "0000-00-00") { - $filter_resume['time_from'] = $user_default_filter['date_from']; - } - if ($user_default_filter['date_to'] != "0000-00-00") { - $filter_resume['time_to'] = $user_default_filter['date_to']; - } - if (io_safe_output($user_default_filter['tag_with']) != "[]") { - $tag_with_clean_tag = io_safe_output($user_default_filter['tag_with']); - $filter_resume['tag_inc'] = json_decode($tag_with_clean_tag, true); - } - if (io_safe_output($user_default_filter['tag_without']) != "[]") { - $tag_without_clean_tag = io_safe_output($user_default_filter['tag_without']); - $filter_resume['tag_no_inc'] = json_decode($tag_without_clean_tag, true); - } - if ($user_default_filter['filter_only_alert'] != -1) { - $filter_resume['alerts'] = $user_default_filter['filter_only_alert']; - } - $filter_resume['hours_max'] = $user_default_filter['event_view_hr']; - if ($user_default_filter['id_user_ack'] != 0) { - $filter_resume['user_ack'] = $user_default_filter['id_user_ack']; - } -} -/* -------------------------------------------------------------------------- */ - // Load filter div for dialog echo '