mirror of
https://github.com/pandorafms/pandorafms.git
synced 2025-07-31 01:35:36 +02:00
add new filter search events pandora_enterprise#9135
This commit is contained in:
parent
a31733ffef
commit
4118a46b9f
@ -1,5 +1,6 @@
|
||||
START TRANSACTION;
|
||||
|
||||
ALTER TABLE `tevent_filter` ADD COLUMN `owner_user` INT NOT NULL DEFAULT 0;
|
||||
ALTER TABLE `tevent_filter` ADD COLUMN `owner_user` TEXT;
|
||||
ALTER TABLE `tevent_filter` ADD COLUMN `not_search` INT NOT NULL DEFAULT 0;
|
||||
|
||||
COMMIT;
|
@ -66,6 +66,7 @@ if ($id) {
|
||||
$severity = explode(',', $filter['severity']);
|
||||
$status = $filter['status'];
|
||||
$search = $filter['search'];
|
||||
$not_search = $filter['not_search'];
|
||||
$text_agent = $filter['text_agent'];
|
||||
$id_agent = $filter['id_agent'];
|
||||
$text_module = $filter['text_module'];
|
||||
@ -116,6 +117,7 @@ if ($id) {
|
||||
$severity = '';
|
||||
$status = '';
|
||||
$search = '';
|
||||
$not_search = 0;
|
||||
$text_agent = '';
|
||||
$pagination = '';
|
||||
$event_view_hr = '';
|
||||
@ -142,6 +144,7 @@ if ($update || $create) {
|
||||
$severity = implode(',', get_parameter('severity', -1));
|
||||
$status = get_parameter('status', '');
|
||||
$search = get_parameter('search', '');
|
||||
$not_search = get_parameter_switch('not_search', 0);
|
||||
$text_agent = get_parameter('text_agent', '');
|
||||
$id_agent = (int) get_parameter('id_agent');
|
||||
$text_module = get_parameter('text_module', '');
|
||||
@ -188,6 +191,7 @@ if ($update || $create) {
|
||||
'severity' => $severity,
|
||||
'status' => $status,
|
||||
'search' => $search,
|
||||
'not_search' => $not_search,
|
||||
'text_agent' => $text_agent,
|
||||
'id_agent_module' => $id_agent_module,
|
||||
'id_agent' => $id_agent,
|
||||
@ -380,6 +384,15 @@ $table->data[6][1] = html_print_input_text(
|
||||
255,
|
||||
true
|
||||
);
|
||||
$table->data[6][1] .= ' '.html_print_checkbox_switch(
|
||||
'not_search',
|
||||
$not_search,
|
||||
$not_search,
|
||||
true,
|
||||
false,
|
||||
'checked_slide_events(this);',
|
||||
true
|
||||
);
|
||||
|
||||
$table->data[7][0] = '<b>'.__('Agent search').'</b>';
|
||||
$params = [];
|
||||
@ -747,6 +760,14 @@ $(document).ready( function() {
|
||||
|
||||
});
|
||||
|
||||
function checked_slide_events(element) {
|
||||
var value = $("#checkbox-"+element.name).val();
|
||||
if (value == 0) {
|
||||
$("#checkbox-"+element.name).val(1);
|
||||
} else {
|
||||
$("#checkbox-"+element.name).val(0);
|
||||
}
|
||||
}
|
||||
|
||||
function click_button_remove_tag(what_button) {
|
||||
if (what_button == "with") {
|
||||
|
@ -351,6 +351,7 @@ if ($save_event_filter) {
|
||||
$values['severity'] = implode(',', get_parameter('severity', -1));
|
||||
$values['status'] = get_parameter('status');
|
||||
$values['search'] = get_parameter('search');
|
||||
$values['not_search'] = get_parameter('not_search');
|
||||
$values['text_agent'] = get_parameter('text_agent');
|
||||
$values['id_agent'] = get_parameter('id_agent');
|
||||
$values['id_agent_module'] = get_parameter('id_agent_module');
|
||||
@ -410,6 +411,7 @@ if ($update_event_filter) {
|
||||
$values['severity'] = implode(',', get_parameter('severity', -1));
|
||||
$values['status'] = get_parameter('status');
|
||||
$values['search'] = get_parameter('search');
|
||||
$values['not_search'] = get_parameter('not_search');
|
||||
$values['text_agent'] = get_parameter('text_agent');
|
||||
$values['id_agent'] = get_parameter('id_agent');
|
||||
$values['id_agent_module'] = get_parameter('id_agent_module');
|
||||
@ -645,6 +647,8 @@ function load_form_filter() {
|
||||
$("#status").val(val);
|
||||
if (i == 'search')
|
||||
$('#text-search').val(val);
|
||||
if (i == 'not_search')
|
||||
$('#checkbox-not_search').val(val);
|
||||
if (i == 'text_agent')
|
||||
$('input[name=text_agent]').val(val);
|
||||
if (i == 'id_agent')
|
||||
@ -903,6 +907,7 @@ function save_new_filter() {
|
||||
"severity" : $("#severity").val(),
|
||||
"status" : $("#status").val(),
|
||||
"search" : $("#text-search").val(),
|
||||
"not_search" : $("#checkbox-not_search").val(),
|
||||
"text_agent" : $("#text_id_agent").val(),
|
||||
"id_agent" : $('input:hidden[name=id_agent]').val(),
|
||||
"id_agent_module" : $('input:hidden[name=module_search_hidden]').val(),
|
||||
@ -981,6 +986,7 @@ function save_update_filter() {
|
||||
"severity" : $("#severity").val(),
|
||||
"status" : $("#status").val(),
|
||||
"search" : $("#text-search").val(),
|
||||
"not_search" : $("#checkbox-not_search").val(),
|
||||
"text_agent" : $("#text_id_agent").val(),
|
||||
"id_agent" : $('input:hidden[name=id_agent]').val(),
|
||||
"id_agent_module" : $('input:hidden[name=module_search_hidden]').val(),
|
||||
@ -2424,6 +2430,7 @@ if ($get_events_fired) {
|
||||
'severity' => -1,
|
||||
'status' => -1,
|
||||
'search' => '',
|
||||
'not_search' => 0,
|
||||
'text_agent' => '',
|
||||
'id_agent' => 0,
|
||||
'id_agent_module' => 0,
|
||||
|
@ -640,6 +640,7 @@ function events_update_status($id_evento, $status, $filter=null)
|
||||
* 'status'
|
||||
* 'agent_alias'
|
||||
* 'search'
|
||||
* 'not_search'
|
||||
* 'id_extra'
|
||||
* 'id_source_event'
|
||||
* 'user_comment'
|
||||
@ -1059,16 +1060,40 @@ function events_get_all(
|
||||
$custom_data_search = 'te.custom_data';
|
||||
}
|
||||
|
||||
$sql_filters[] = vsprintf(
|
||||
' AND (lower(ta.alias) like lower("%%%s%%")
|
||||
OR te.id_evento like "%%%s%%"
|
||||
OR lower(te.evento) like lower("%%%s%%")
|
||||
OR lower(te.user_comment) like lower("%%%s%%")
|
||||
OR lower(te.id_extra) like lower("%%%s%%")
|
||||
OR lower(te.source) like lower("%%%s%%")
|
||||
OR lower('.$custom_data_search.') like lower("%%%s%%") )',
|
||||
array_fill(0, 7, $filter['search'])
|
||||
);
|
||||
$not_search = '';
|
||||
$nexo = 'OR';
|
||||
$array_search = [
|
||||
'te.id_evento',
|
||||
'lower(te.evento)',
|
||||
'lower(te.user_comment)',
|
||||
'lower(te.id_extra)',
|
||||
'lower(te.source)',
|
||||
'lower('.$custom_data_search.')',
|
||||
];
|
||||
if (isset($filter['not_search']) === true
|
||||
&& empty($filter['not_search']) === false
|
||||
) {
|
||||
$not_search = 'NOT';
|
||||
$nexo = 'AND';
|
||||
} else {
|
||||
$array_search[] = 'lower(ta.alias)';
|
||||
}
|
||||
|
||||
$sql_search = ' AND (';
|
||||
foreach ($array_search as $key => $field) {
|
||||
$sql_search .= sprintf(
|
||||
'%s %s %s like lower("%%%s%%")',
|
||||
($key === 0) ? '' : $nexo,
|
||||
$field,
|
||||
$not_search,
|
||||
$filter['search']
|
||||
);
|
||||
$sql_search .= ' ';
|
||||
}
|
||||
|
||||
$sql_search .= ' )';
|
||||
|
||||
$sql_filters[] = $sql_search;
|
||||
}
|
||||
|
||||
// Free search exclude.
|
||||
|
@ -140,6 +140,11 @@ form.flex-row div.filter_input.filter_input_switch .p-slider {
|
||||
width: 30px;
|
||||
}
|
||||
|
||||
form .filter_input_not_search .p-switch {
|
||||
flex: 0 1 30px;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
fieldset {
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
@ -122,6 +122,10 @@ $search = get_parameter(
|
||||
'filter[search]',
|
||||
($filter['search'] ?? '')
|
||||
);
|
||||
$not_search = get_parameter(
|
||||
'filter[not_search]',
|
||||
0
|
||||
);
|
||||
$text_agent = get_parameter(
|
||||
'filter[text_agent]',
|
||||
($filter['text_agent'] ?? '')
|
||||
@ -1080,6 +1084,7 @@ if ($loaded_filter !== false && $from_event_graph != 1 && isset($fb64) === false
|
||||
$severity = $filter['severity'];
|
||||
$status = $filter['status'];
|
||||
$search = $filter['search'];
|
||||
$not_search = $filter['not_search'];
|
||||
$text_agent = $filter['text_agent'];
|
||||
$id_agent = $filter['id_agent'];
|
||||
$id_agent_module = $filter['id_agent_module'];
|
||||
@ -1692,7 +1697,17 @@ $inputs[] = $in;
|
||||
|
||||
// Free search.
|
||||
$data = html_print_input_text('search', $search, '', '', 255, true);
|
||||
$in = '<div class="filter_input"><label>'.__('Free search').'</label>';
|
||||
// Search recursive groups.
|
||||
$data .= html_print_checkbox_switch(
|
||||
'not_search',
|
||||
$not_search,
|
||||
$not_search,
|
||||
true,
|
||||
false,
|
||||
'checked_slide_events(this);',
|
||||
true
|
||||
);
|
||||
$in = '<div class="filter_input filter_input_not_search"><label>'.__('Free search').'</label>';
|
||||
$in .= $data.'</div>';
|
||||
$inputs[] = $in;
|
||||
|
||||
@ -1732,7 +1747,7 @@ $data = html_print_checkbox_switch(
|
||||
$search_recursive_groups,
|
||||
true,
|
||||
false,
|
||||
'search_in_secondary_groups(this);',
|
||||
'checked_slide_events(this);',
|
||||
true
|
||||
);
|
||||
|
||||
@ -1754,7 +1769,7 @@ $data = html_print_checkbox_switch(
|
||||
$search_secondary_groups,
|
||||
true,
|
||||
false,
|
||||
'search_in_secondary_groups(this);',
|
||||
'checked_slide_events(this);',
|
||||
true
|
||||
);
|
||||
|
||||
@ -3066,7 +3081,7 @@ $(document).ready( function() {
|
||||
|
||||
});
|
||||
|
||||
function search_in_secondary_groups(element) {
|
||||
function checked_slide_events(element) {
|
||||
var value = $("#checkbox-"+element.name).val();
|
||||
if (value == 0) {
|
||||
$("#checkbox-"+element.name).val(1);
|
||||
|
@ -1238,6 +1238,7 @@ CREATE TABLE IF NOT EXISTS `tevent_filter` (
|
||||
`severity` TEXT,
|
||||
`status` INT NOT NULL DEFAULT -1,
|
||||
`search` TEXT,
|
||||
`not_search` INT NOT NULL DEFAULT 0,
|
||||
`text_agent` TEXT,
|
||||
`id_agent` INT DEFAULT 0,
|
||||
`id_agent_module` INT DEFAULT 0,
|
||||
|
Loading…
x
Reference in New Issue
Block a user