Added checkbox to free search on agents data view
This commit is contained in:
parent
2adf951121
commit
443163515d
|
@ -124,6 +124,7 @@ if ($get_module_detail) {
|
|||
$date_to = (string) get_parameter ('date_to', date ('Y-m-j'));
|
||||
$time_to = (string) get_parameter ('time_to', date ('h:iA'));
|
||||
$freesearch = (string) get_parameter ('freesearch', '');
|
||||
$free_checkbox = (bool) get_parameter ('free_checkbox', false);
|
||||
|
||||
$formtable->width = '98%';
|
||||
$formtable->class = "databox";
|
||||
|
@ -152,18 +153,13 @@ if ($get_module_detail) {
|
|||
"selection_mode", 'fromnow', '', $selection_mode, false, '',
|
||||
'style="margin-right: 15px;"', true) . __("Choose a time from now");
|
||||
$formtable->data[0][1] = html_print_select ($periods, 'period', $period, '', '', 0, true, false, false);
|
||||
if (preg_match("/_string/", $moduletype_name)) {
|
||||
$formtable->data[0][2] = __('Free search') . ' ';
|
||||
$formtable->data[0][2] .= html_print_input_text ('freesearch', $freesearch, '', 25, null, true);
|
||||
} else {
|
||||
$freesearch = '';
|
||||
$formtable->data[0][2] = '';
|
||||
}
|
||||
$formtable->cellstyle[0][3] = 'vertical-align: middle;';
|
||||
$formtable->data[0][2] = '';
|
||||
$formtable->data[0][3] = "<a href='javascript: show_module_detail_dialog(" . $module_id .", ". $agentId.", \"" . $server_name .
|
||||
"\", 0, -1,\"" . modules_get_agentmodule_name( $module_id ) . "\")'>" .
|
||||
html_print_image ("images/refresh.png", true, array ("style" => 'vertical-align: middle;', "border" => "0" )) .
|
||||
"</a>";
|
||||
$formtable->rowspan[0][3] = 2;
|
||||
$formtable->cellstyle[0][3] = 'vertical-align: middle;';
|
||||
|
||||
$formtable->data[1][0] = html_print_radio_button_extended(
|
||||
"selection_mode", 'range','', $selection_mode, false, '',
|
||||
|
@ -184,6 +180,18 @@ if ($get_module_detail) {
|
|||
$formtable->data[1][2] .= html_print_input_text('time_to', $time_to,
|
||||
'', 9, 7, true);
|
||||
|
||||
$freesearch_object = '';
|
||||
if (preg_match("/_string/", $moduletype_name)) {
|
||||
$formtable->data[2][0] = __('Free search') . ' ';
|
||||
$formtable->data[2][1] = html_print_input_text ('freesearch', $freesearch, '', 20, null, true);
|
||||
$formtable->data[2][2] = html_print_checkbox('free_checkbox', 1, $free_checkbox, true) .
|
||||
$formtable->data[2][2] .= ' ' . __('Exact phrase');
|
||||
$freesearch_object = json_encode( array(
|
||||
'value' => io_safe_output($freesearch),
|
||||
'exact' => (bool)$free_checkbox
|
||||
));
|
||||
}
|
||||
|
||||
html_print_table($formtable);
|
||||
|
||||
$offset = (int) get_parameter("offset");
|
||||
|
@ -228,10 +236,10 @@ if ($get_module_detail) {
|
|||
}
|
||||
|
||||
$count = modules_get_agentmodule_data ($module_id, $period,
|
||||
$date, true, $conexion, 'ASC', $freesearch);
|
||||
$date, true, $conexion, 'ASC', $freesearch_object);
|
||||
|
||||
$module_data = modules_get_agentmodule_data ($module_id, $period,
|
||||
$date, false, $conexion, 'DESC', $freesearch);
|
||||
$date, false, $conexion, 'DESC', $freesearch_object);
|
||||
|
||||
if (empty($module_data)) {
|
||||
$result = array();
|
||||
|
|
|
@ -1716,6 +1716,13 @@ function modules_get_next_data ($id_agent_module, $utimestamp = 0, $string = 0)
|
|||
* @param int Agent module id
|
||||
* @param int Period of time to check (in seconds)
|
||||
* @param int Top date to check the values. Default current time.
|
||||
* @param
|
||||
* @param
|
||||
* @param string 'ASC' od 'DESC'
|
||||
* @param string with a json with parameters to filter data
|
||||
* string object:
|
||||
* value: Text to search
|
||||
* exact: Boolean. True if search exact phrase or false to content
|
||||
*
|
||||
* @return array The module value and the timestamp
|
||||
*/
|
||||
|
@ -1743,6 +1750,17 @@ function modules_get_agentmodule_data ($id_agent_module, $period,
|
|||
case 17:
|
||||
//async_string
|
||||
case 23:
|
||||
// Free search is a json with value and exact modifier
|
||||
$freesearch = json_decode($freesearch, true);
|
||||
$freesearch_sql = '';
|
||||
if (isset($freesearch['value']) && !empty($freesearch['value'])) {
|
||||
$freesearch_sql = " AND datos ";
|
||||
if ($freesearch['exact']){
|
||||
$freesearch_sql .= "='" . $freesearch['value'] . "' ";
|
||||
} else {
|
||||
$freesearch_sql .= " LIKE '%" . $freesearch['value'] . "%' ";
|
||||
}
|
||||
}
|
||||
$sql = sprintf (
|
||||
"SELECT datos AS data, utimestamp FROM tagente_datos_string
|
||||
WHERE id_agente_modulo = %d
|
||||
|
@ -1750,7 +1768,7 @@ function modules_get_agentmodule_data ($id_agent_module, $period,
|
|||
AND utimestamp > %d AND utimestamp <= %d
|
||||
ORDER BY utimestamp %s",
|
||||
$id_agent_module,
|
||||
!empty($freesearch) ? " AND datos REGEXP '" . $freesearch . "' " : "",
|
||||
$freesearch_sql,
|
||||
$datelimit, $date,
|
||||
$order
|
||||
);
|
||||
|
|
|
@ -367,8 +367,15 @@ ui_require_jquery_file("ui.datepicker-" . get_user_language(), "include/javascri
|
|||
|
||||
// Get the free text in both options
|
||||
var freesearch = $('#text-freesearch').val();
|
||||
if (freesearch == null) freesearch = '';
|
||||
extra_parameters += '&freesearch=' + freesearch;
|
||||
if (freesearch != null && freesearch !== '') {
|
||||
var free_checkbox = $('input[name=free_checkbox]:checked').val();
|
||||
extra_parameters += '&freesearch=' + freesearch;
|
||||
if (free_checkbox == 1) {
|
||||
extra_parameters += '&free_checkbox=1';
|
||||
} else {
|
||||
extra_parameters += '&free_checkbox=0';
|
||||
}
|
||||
}
|
||||
|
||||
title = <?php echo "\"" . __("Module: ") . "\"" ?>;
|
||||
$.ajax({
|
||||
|
|
Loading…
Reference in New Issue