Merge branch 'ent-11763-15982-regex-en-busqueda-de-eventos' into 'develop'
Ent 11763 15982 regex en busqueda de eventos See merge request artica/pandorafms!6512
This commit is contained in:
commit
39c6420d2c
|
@ -18,6 +18,8 @@ ALTER TABLE `tevent_rule` DROP COLUMN `operator_user_comment`;
|
|||
|
||||
ALTER TABLE treport_content ADD check_unknowns_graph tinyint DEFAULT 0 NULL;
|
||||
|
||||
ALTER TABLE `tevent_filter`
|
||||
ADD COLUMN `regex` TEXT NULL AFTER `private_filter_user`;
|
||||
-- Update macros for plugin oracle
|
||||
|
||||
UPDATE `tdiscovery_apps` SET `version` = '1.1' WHERE `short_name` = 'pandorafms.oracle';
|
||||
|
|
|
@ -314,6 +314,7 @@ if ($save_event_filter) {
|
|||
$values['severity'] = implode(',', get_parameter('severity', -1));
|
||||
$values['status'] = get_parameter('status');
|
||||
$values['search'] = get_parameter('search');
|
||||
$values['regex'] = get_parameter('regex');
|
||||
$values['not_search'] = get_parameter('not_search');
|
||||
$values['text_agent'] = get_parameter('text_agent');
|
||||
$values['id_agent'] = get_parameter('id_agent');
|
||||
|
@ -382,6 +383,7 @@ if ($update_event_filter) {
|
|||
$values['severity'] = implode(',', get_parameter('severity', -1));
|
||||
$values['status'] = get_parameter('status');
|
||||
$values['search'] = get_parameter('search');
|
||||
$values['regex'] = get_parameter('regex');
|
||||
$values['not_search'] = get_parameter('not_search');
|
||||
$values['text_agent'] = get_parameter('text_agent');
|
||||
$values['id_agent'] = get_parameter('id_agent');
|
||||
|
@ -641,6 +643,8 @@ function load_form_filter() {
|
|||
$("#status").val(val);
|
||||
if (i == 'search')
|
||||
$('#text-search').val(val);
|
||||
if (i == 'regex')
|
||||
$('#text-regex').val(val);
|
||||
if (i == 'not_search')
|
||||
$('#checkbox-not_search').val(val);
|
||||
if (i == 'text_agent')
|
||||
|
@ -971,6 +975,7 @@ function save_new_filter() {
|
|||
"severity" : $("#severity").val(),
|
||||
"status" : $("#status").val(),
|
||||
"search" : $("#text-search").val(),
|
||||
"regex" : $('#text-regex').val(),
|
||||
"not_search" : $("#checkbox-not_search").val(),
|
||||
"text_agent" : $("#text_id_agent").val(),
|
||||
"id_agent" : $('input:hidden[name=id_agent]').val(),
|
||||
|
@ -1051,6 +1056,7 @@ function save_update_filter() {
|
|||
"severity" : $("#severity").val(),
|
||||
"status" : $("#status").val(),
|
||||
"search" : $("#text-search").val(),
|
||||
"regex" : $('#text-regex').val(),
|
||||
"not_search" : $("#checkbox-not_search").val(),
|
||||
"text_agent" : $("#text_id_agent").val(),
|
||||
"id_agent" : $('input:hidden[name=id_agent]').val(),
|
||||
|
|
|
@ -130,6 +130,11 @@ $severity = get_parameter(
|
|||
'filter[severity]',
|
||||
($filter['severity'] ?? '')
|
||||
);
|
||||
$regex = get_parameter(
|
||||
'filter[regex]',
|
||||
(io_safe_output($filter['regex']) ?? '')
|
||||
);
|
||||
unset($filter['regex']);
|
||||
$status = get_parameter(
|
||||
'filter[status]',
|
||||
($filter['status'] ?? '')
|
||||
|
@ -473,7 +478,7 @@ if (is_ajax() === true) {
|
|||
|
||||
$data = array_reduce(
|
||||
$events,
|
||||
function ($carry, $item) use ($table_id, &$redirection_form_id, $filter, $compact_date, $external_url, $compact_name_event) {
|
||||
function ($carry, $item) use ($table_id, &$redirection_form_id, $filter, $compact_date, $external_url, $compact_name_event, $regex) {
|
||||
global $config;
|
||||
|
||||
$tmp = (object) $item;
|
||||
|
@ -1208,12 +1213,34 @@ if (is_ajax() === true) {
|
|||
}
|
||||
}
|
||||
|
||||
if (empty($tmp) === false && $regex !== '') {
|
||||
$regex_validation = false;
|
||||
foreach (json_decode(json_encode($tmp), true) as $key => $field) {
|
||||
if (preg_match('/'.$regex.'/', $field)) {
|
||||
$regex_validation = true;
|
||||
}
|
||||
}
|
||||
|
||||
if ($regex_validation === false) {
|
||||
unset($tmp);
|
||||
}
|
||||
}
|
||||
|
||||
$carry[] = $tmp;
|
||||
return $carry;
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
$data = array_values(
|
||||
array_filter(
|
||||
$data,
|
||||
function ($item) {
|
||||
return (bool) (array) $item;
|
||||
}
|
||||
)
|
||||
);
|
||||
$count = count($data);
|
||||
// RecordsTotal && recordsfiltered resultados totales.
|
||||
echo json_encode(
|
||||
[
|
||||
|
@ -1294,6 +1321,7 @@ if ($loaded_filter !== false && $from_event_graph != 1 && isset($fb64) === false
|
|||
$severity = $filter['severity'];
|
||||
$status = $filter['status'];
|
||||
$search = $filter['search'];
|
||||
$regex = $filter['regex'];
|
||||
$not_search = $filter['not_search'];
|
||||
$text_agent = $filter['text_agent'];
|
||||
$id_agent = $filter['id_agent'];
|
||||
|
@ -2058,6 +2086,12 @@ $in = '<div class="filter_input"><label>'.__('Severity').'</label>';
|
|||
$in .= $data.'</div>';
|
||||
$inputs[] = $in;
|
||||
|
||||
// REGEX search datatable.
|
||||
$in = '<div class="filter_input"><label>'.__('Regex search').ui_print_help_tip(__('Regular expresion to filter.'), true).'</label>';
|
||||
$in .= html_print_input_text('regex', $regex, '', '', 255, true);
|
||||
$in .= '</div>';
|
||||
$inputs[] = $in;
|
||||
|
||||
// User private filter.
|
||||
$inputs[] = html_print_input_hidden('private_filter_event', $private_filter_event, true);
|
||||
// Trick view in table.
|
||||
|
@ -3489,6 +3523,10 @@ $(document).ready( function() {
|
|||
click_button_remove_tag("without");
|
||||
});
|
||||
|
||||
$('#myInputTextField').keyup(function(){
|
||||
$("#table_events").search($(this).val()).draw() ;
|
||||
});
|
||||
|
||||
$("#button-events_form_search_bt").click(function(){
|
||||
show_events_graph();
|
||||
});
|
||||
|
|
|
@ -1272,6 +1272,7 @@ CREATE TABLE IF NOT EXISTS `tevent_filter` (
|
|||
`custom_data_filter_type` TINYINT UNSIGNED DEFAULT 0,
|
||||
`owner_user` TEXT,
|
||||
`private_filter_user` TEXT,
|
||||
`regex` TEXT,
|
||||
PRIMARY KEY (`id_filter`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=UTF8MB4;
|
||||
|
||||
|
|
Loading…
Reference in New Issue