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;
|
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;
|
COMMIT;
|
@ -66,6 +66,7 @@ if ($id) {
|
|||||||
$severity = explode(',', $filter['severity']);
|
$severity = explode(',', $filter['severity']);
|
||||||
$status = $filter['status'];
|
$status = $filter['status'];
|
||||||
$search = $filter['search'];
|
$search = $filter['search'];
|
||||||
|
$not_search = $filter['not_search'];
|
||||||
$text_agent = $filter['text_agent'];
|
$text_agent = $filter['text_agent'];
|
||||||
$id_agent = $filter['id_agent'];
|
$id_agent = $filter['id_agent'];
|
||||||
$text_module = $filter['text_module'];
|
$text_module = $filter['text_module'];
|
||||||
@ -116,6 +117,7 @@ if ($id) {
|
|||||||
$severity = '';
|
$severity = '';
|
||||||
$status = '';
|
$status = '';
|
||||||
$search = '';
|
$search = '';
|
||||||
|
$not_search = 0;
|
||||||
$text_agent = '';
|
$text_agent = '';
|
||||||
$pagination = '';
|
$pagination = '';
|
||||||
$event_view_hr = '';
|
$event_view_hr = '';
|
||||||
@ -142,6 +144,7 @@ if ($update || $create) {
|
|||||||
$severity = implode(',', get_parameter('severity', -1));
|
$severity = implode(',', get_parameter('severity', -1));
|
||||||
$status = get_parameter('status', '');
|
$status = get_parameter('status', '');
|
||||||
$search = get_parameter('search', '');
|
$search = get_parameter('search', '');
|
||||||
|
$not_search = get_parameter_switch('not_search', 0);
|
||||||
$text_agent = get_parameter('text_agent', '');
|
$text_agent = get_parameter('text_agent', '');
|
||||||
$id_agent = (int) get_parameter('id_agent');
|
$id_agent = (int) get_parameter('id_agent');
|
||||||
$text_module = get_parameter('text_module', '');
|
$text_module = get_parameter('text_module', '');
|
||||||
@ -188,6 +191,7 @@ if ($update || $create) {
|
|||||||
'severity' => $severity,
|
'severity' => $severity,
|
||||||
'status' => $status,
|
'status' => $status,
|
||||||
'search' => $search,
|
'search' => $search,
|
||||||
|
'not_search' => $not_search,
|
||||||
'text_agent' => $text_agent,
|
'text_agent' => $text_agent,
|
||||||
'id_agent_module' => $id_agent_module,
|
'id_agent_module' => $id_agent_module,
|
||||||
'id_agent' => $id_agent,
|
'id_agent' => $id_agent,
|
||||||
@ -380,6 +384,15 @@ $table->data[6][1] = html_print_input_text(
|
|||||||
255,
|
255,
|
||||||
true
|
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>';
|
$table->data[7][0] = '<b>'.__('Agent search').'</b>';
|
||||||
$params = [];
|
$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) {
|
function click_button_remove_tag(what_button) {
|
||||||
if (what_button == "with") {
|
if (what_button == "with") {
|
||||||
|
@ -351,6 +351,7 @@ if ($save_event_filter) {
|
|||||||
$values['severity'] = implode(',', get_parameter('severity', -1));
|
$values['severity'] = implode(',', get_parameter('severity', -1));
|
||||||
$values['status'] = get_parameter('status');
|
$values['status'] = get_parameter('status');
|
||||||
$values['search'] = get_parameter('search');
|
$values['search'] = get_parameter('search');
|
||||||
|
$values['not_search'] = get_parameter('not_search');
|
||||||
$values['text_agent'] = get_parameter('text_agent');
|
$values['text_agent'] = get_parameter('text_agent');
|
||||||
$values['id_agent'] = get_parameter('id_agent');
|
$values['id_agent'] = get_parameter('id_agent');
|
||||||
$values['id_agent_module'] = get_parameter('id_agent_module');
|
$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['severity'] = implode(',', get_parameter('severity', -1));
|
||||||
$values['status'] = get_parameter('status');
|
$values['status'] = get_parameter('status');
|
||||||
$values['search'] = get_parameter('search');
|
$values['search'] = get_parameter('search');
|
||||||
|
$values['not_search'] = get_parameter('not_search');
|
||||||
$values['text_agent'] = get_parameter('text_agent');
|
$values['text_agent'] = get_parameter('text_agent');
|
||||||
$values['id_agent'] = get_parameter('id_agent');
|
$values['id_agent'] = get_parameter('id_agent');
|
||||||
$values['id_agent_module'] = get_parameter('id_agent_module');
|
$values['id_agent_module'] = get_parameter('id_agent_module');
|
||||||
@ -645,6 +647,8 @@ function load_form_filter() {
|
|||||||
$("#status").val(val);
|
$("#status").val(val);
|
||||||
if (i == 'search')
|
if (i == 'search')
|
||||||
$('#text-search').val(val);
|
$('#text-search').val(val);
|
||||||
|
if (i == 'not_search')
|
||||||
|
$('#checkbox-not_search').val(val);
|
||||||
if (i == 'text_agent')
|
if (i == 'text_agent')
|
||||||
$('input[name=text_agent]').val(val);
|
$('input[name=text_agent]').val(val);
|
||||||
if (i == 'id_agent')
|
if (i == 'id_agent')
|
||||||
@ -903,6 +907,7 @@ function save_new_filter() {
|
|||||||
"severity" : $("#severity").val(),
|
"severity" : $("#severity").val(),
|
||||||
"status" : $("#status").val(),
|
"status" : $("#status").val(),
|
||||||
"search" : $("#text-search").val(),
|
"search" : $("#text-search").val(),
|
||||||
|
"not_search" : $("#checkbox-not_search").val(),
|
||||||
"text_agent" : $("#text_id_agent").val(),
|
"text_agent" : $("#text_id_agent").val(),
|
||||||
"id_agent" : $('input:hidden[name=id_agent]').val(),
|
"id_agent" : $('input:hidden[name=id_agent]').val(),
|
||||||
"id_agent_module" : $('input:hidden[name=module_search_hidden]').val(),
|
"id_agent_module" : $('input:hidden[name=module_search_hidden]').val(),
|
||||||
@ -981,6 +986,7 @@ function save_update_filter() {
|
|||||||
"severity" : $("#severity").val(),
|
"severity" : $("#severity").val(),
|
||||||
"status" : $("#status").val(),
|
"status" : $("#status").val(),
|
||||||
"search" : $("#text-search").val(),
|
"search" : $("#text-search").val(),
|
||||||
|
"not_search" : $("#checkbox-not_search").val(),
|
||||||
"text_agent" : $("#text_id_agent").val(),
|
"text_agent" : $("#text_id_agent").val(),
|
||||||
"id_agent" : $('input:hidden[name=id_agent]').val(),
|
"id_agent" : $('input:hidden[name=id_agent]').val(),
|
||||||
"id_agent_module" : $('input:hidden[name=module_search_hidden]').val(),
|
"id_agent_module" : $('input:hidden[name=module_search_hidden]').val(),
|
||||||
@ -2424,6 +2430,7 @@ if ($get_events_fired) {
|
|||||||
'severity' => -1,
|
'severity' => -1,
|
||||||
'status' => -1,
|
'status' => -1,
|
||||||
'search' => '',
|
'search' => '',
|
||||||
|
'not_search' => 0,
|
||||||
'text_agent' => '',
|
'text_agent' => '',
|
||||||
'id_agent' => 0,
|
'id_agent' => 0,
|
||||||
'id_agent_module' => 0,
|
'id_agent_module' => 0,
|
||||||
|
@ -640,6 +640,7 @@ function events_update_status($id_evento, $status, $filter=null)
|
|||||||
* 'status'
|
* 'status'
|
||||||
* 'agent_alias'
|
* 'agent_alias'
|
||||||
* 'search'
|
* 'search'
|
||||||
|
* 'not_search'
|
||||||
* 'id_extra'
|
* 'id_extra'
|
||||||
* 'id_source_event'
|
* 'id_source_event'
|
||||||
* 'user_comment'
|
* 'user_comment'
|
||||||
@ -1059,16 +1060,40 @@ function events_get_all(
|
|||||||
$custom_data_search = 'te.custom_data';
|
$custom_data_search = 'te.custom_data';
|
||||||
}
|
}
|
||||||
|
|
||||||
$sql_filters[] = vsprintf(
|
$not_search = '';
|
||||||
' AND (lower(ta.alias) like lower("%%%s%%")
|
$nexo = 'OR';
|
||||||
OR te.id_evento like "%%%s%%"
|
$array_search = [
|
||||||
OR lower(te.evento) like lower("%%%s%%")
|
'te.id_evento',
|
||||||
OR lower(te.user_comment) like lower("%%%s%%")
|
'lower(te.evento)',
|
||||||
OR lower(te.id_extra) like lower("%%%s%%")
|
'lower(te.user_comment)',
|
||||||
OR lower(te.source) like lower("%%%s%%")
|
'lower(te.id_extra)',
|
||||||
OR lower('.$custom_data_search.') like lower("%%%s%%") )',
|
'lower(te.source)',
|
||||||
array_fill(0, 7, $filter['search'])
|
'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.
|
// Free search exclude.
|
||||||
|
@ -140,6 +140,11 @@ form.flex-row div.filter_input.filter_input_switch .p-slider {
|
|||||||
width: 30px;
|
width: 30px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
form .filter_input_not_search .p-switch {
|
||||||
|
flex: 0 1 30px;
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
|
||||||
fieldset {
|
fieldset {
|
||||||
margin: 0 auto;
|
margin: 0 auto;
|
||||||
}
|
}
|
||||||
|
@ -122,6 +122,10 @@ $search = get_parameter(
|
|||||||
'filter[search]',
|
'filter[search]',
|
||||||
($filter['search'] ?? '')
|
($filter['search'] ?? '')
|
||||||
);
|
);
|
||||||
|
$not_search = get_parameter(
|
||||||
|
'filter[not_search]',
|
||||||
|
0
|
||||||
|
);
|
||||||
$text_agent = get_parameter(
|
$text_agent = get_parameter(
|
||||||
'filter[text_agent]',
|
'filter[text_agent]',
|
||||||
($filter['text_agent'] ?? '')
|
($filter['text_agent'] ?? '')
|
||||||
@ -1080,6 +1084,7 @@ if ($loaded_filter !== false && $from_event_graph != 1 && isset($fb64) === false
|
|||||||
$severity = $filter['severity'];
|
$severity = $filter['severity'];
|
||||||
$status = $filter['status'];
|
$status = $filter['status'];
|
||||||
$search = $filter['search'];
|
$search = $filter['search'];
|
||||||
|
$not_search = $filter['not_search'];
|
||||||
$text_agent = $filter['text_agent'];
|
$text_agent = $filter['text_agent'];
|
||||||
$id_agent = $filter['id_agent'];
|
$id_agent = $filter['id_agent'];
|
||||||
$id_agent_module = $filter['id_agent_module'];
|
$id_agent_module = $filter['id_agent_module'];
|
||||||
@ -1692,7 +1697,17 @@ $inputs[] = $in;
|
|||||||
|
|
||||||
// Free search.
|
// Free search.
|
||||||
$data = html_print_input_text('search', $search, '', '', 255, true);
|
$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>';
|
$in .= $data.'</div>';
|
||||||
$inputs[] = $in;
|
$inputs[] = $in;
|
||||||
|
|
||||||
@ -1732,7 +1747,7 @@ $data = html_print_checkbox_switch(
|
|||||||
$search_recursive_groups,
|
$search_recursive_groups,
|
||||||
true,
|
true,
|
||||||
false,
|
false,
|
||||||
'search_in_secondary_groups(this);',
|
'checked_slide_events(this);',
|
||||||
true
|
true
|
||||||
);
|
);
|
||||||
|
|
||||||
@ -1754,7 +1769,7 @@ $data = html_print_checkbox_switch(
|
|||||||
$search_secondary_groups,
|
$search_secondary_groups,
|
||||||
true,
|
true,
|
||||||
false,
|
false,
|
||||||
'search_in_secondary_groups(this);',
|
'checked_slide_events(this);',
|
||||||
true
|
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();
|
var value = $("#checkbox-"+element.name).val();
|
||||||
if (value == 0) {
|
if (value == 0) {
|
||||||
$("#checkbox-"+element.name).val(1);
|
$("#checkbox-"+element.name).val(1);
|
||||||
|
@ -1238,6 +1238,7 @@ CREATE TABLE IF NOT EXISTS `tevent_filter` (
|
|||||||
`severity` TEXT,
|
`severity` TEXT,
|
||||||
`status` INT NOT NULL DEFAULT -1,
|
`status` INT NOT NULL DEFAULT -1,
|
||||||
`search` TEXT,
|
`search` TEXT,
|
||||||
|
`not_search` INT NOT NULL DEFAULT 0,
|
||||||
`text_agent` TEXT,
|
`text_agent` TEXT,
|
||||||
`id_agent` INT DEFAULT 0,
|
`id_agent` INT DEFAULT 0,
|
||||||
`id_agent_module` INT DEFAULT 0,
|
`id_agent_module` INT DEFAULT 0,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user