2013-03-20 Miguel de Dios <miguel.dedios@artica.es>

* mobile/operation/events.php, mobile/include/ui.class.php,
	mobile/index.php: added first version of events section.
	
	* include/functions_incidents.php, include/functions_users.php,
	include/functions.php, include/functions_groups.php,
	include/functions_events.php, include/functions_html.php,
	operation/events/events.build_table.php,
	operation/events/events.build_query.php,
	operation/events/events_list.php: some changes for interact with
	mobile version.




git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@7872 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
This commit is contained in:
mdtrooper 2013-03-20 12:29:33 +00:00
parent 1680894b0e
commit d8d78581d5
13 changed files with 541 additions and 159 deletions

View File

@ -1,3 +1,16 @@
2013-03-20 Miguel de Dios <miguel.dedios@artica.es>
* mobile/operation/events.php, mobile/include/ui.class.php,
mobile/index.php: added first version of events section.
* include/functions_incidents.php, include/functions_users.php,
include/functions.php, include/functions_groups.php,
include/functions_events.php, include/functions_html.php,
operation/events/events.build_table.php,
operation/events/events.build_query.php,
operation/events/events_list.php: some changes for interact with
mobile version.
2013-03-20 Mario Pulido <mario.pulido@artica.es> 2013-03-20 Mario Pulido <mario.pulido@artica.es>
* godmode/setup/setup_general.php: Add help tip in Timezone Setup * godmode/setup/setup_general.php: Add help tip in Timezone Setup

View File

@ -855,6 +855,7 @@ function is_module_uncompressed ($module_type) {
if (strstr($module_type, 'async') !== false || strstr($module_type, 'log4x') !== false) { if (strstr($module_type, 'async') !== false || strstr($module_type, 'log4x') !== false) {
return true; return true;
} }
return false; return false;
} }
@ -863,7 +864,7 @@ function is_module_uncompressed ($module_type) {
* *
* @return array module_name Module name to check. * @return array module_name Module name to check.
*/ */
function get_event_types () { function get_event_types ($id_type = false) {
global $config; global $config;
$types = array (); $types = array ();
@ -888,7 +889,13 @@ function get_event_types () {
$types[$key] = ui_print_truncate_text($type, GENERIC_SIZE_TEXT, false, true, false); $types[$key] = ui_print_truncate_text($type, GENERIC_SIZE_TEXT, false, true, false);
} }
return $types; if ($id_type === false) {
return $types;
}
else {
html_debug_print($id_type);
return $types[$id_type];
}
} }
/** /**
@ -896,7 +903,7 @@ function get_event_types () {
* *
* @return array An array with all the priorities. * @return array An array with all the priorities.
*/ */
function get_priorities () { function get_priorities ($priority_param = false) {
global $config; global $config;
$priorities = array (); $priorities = array ();
@ -914,7 +921,12 @@ function get_priorities () {
$priorities[$key] = ui_print_truncate_text($priority, GENERIC_SIZE_TEXT, false, true, false); $priorities[$key] = ui_print_truncate_text($priority, GENERIC_SIZE_TEXT, false, true, false);
} }
return $priorities; if ($priority_param === false) {
return $priorities;
}
else {
return $priorities[$priority_param];
}
} }
/** /**

View File

@ -63,10 +63,11 @@ function events_get_event ($id, $fields = false) {
$event = db_get_row ('tevento', 'id_evento', $id, $fields); $event = db_get_row ('tevento', 'id_evento', $id, $fields);
if (! check_acl ($config['id_user'], $event['id_grupo'], 'ER')) if (! check_acl ($config['id_user'], $event['id_grupo'], 'ER'))
return false; return false;
return $event; return $event;
} }
function events_get_events_grouped($sql_post, $offset = 0, $pagination = 1, $meta = false, $history = false) { function events_get_events_grouped($sql_post, $offset = 0, $pagination = 1, $meta = false, $history = false, $total = false) {
global $config; global $config;
$table = events_get_events_table($meta, $history); $table = events_get_events_table($meta, $history);
@ -81,58 +82,92 @@ function events_get_events_grouped($sql_post, $offset = 0, $pagination = 1, $met
switch ($config["dbtype"]) { switch ($config["dbtype"]) {
case "mysql": case "mysql":
db_process_sql ('SET group_concat_max_len = 9999999'); db_process_sql ('SET group_concat_max_len = 9999999');
$sql = "SELECT *, MAX(id_evento) AS id_evento, if ($total) {
GROUP_CONCAT(DISTINCT user_comment SEPARATOR '<br>') AS user_comment, $sql = "SELECT COUNT(*) FROM (SELECT *
GROUP_CONCAT(DISTINCT id_evento SEPARATOR ',') AS similar_ids, FROM $table te
COUNT(*) AS event_rep, MAX(utimestamp) AS timestamp_rep, WHERE 1=1 " . $sql_post . "
MIN(utimestamp) AS timestamp_rep_min, GROUP BY estado, evento, id_agentmodule" . $groupby_extra . ") AS t";
(SELECT owner_user FROM tevento WHERE id_evento = MAX(te.id_evento)) owner_user, }
(SELECT id_usuario FROM tevento WHERE id_evento = MAX(te.id_evento)) id_usuario else {
FROM $table te $sql = "SELECT *, MAX(id_evento) AS id_evento,
WHERE 1=1 " . $sql_post . " GROUP_CONCAT(DISTINCT user_comment SEPARATOR '<br>') AS user_comment,
GROUP BY estado, evento, id_agentmodule" . $groupby_extra . " GROUP_CONCAT(DISTINCT id_evento SEPARATOR ',') AS similar_ids,
ORDER BY timestamp_rep DESC LIMIT " . $offset . "," . $pagination; COUNT(*) AS event_rep, MAX(utimestamp) AS timestamp_rep,
MIN(utimestamp) AS timestamp_rep_min,
(SELECT owner_user FROM tevento WHERE id_evento = MAX(te.id_evento)) owner_user,
(SELECT id_usuario FROM tevento WHERE id_evento = MAX(te.id_evento)) id_usuario
FROM $table te
WHERE 1=1 " . $sql_post . "
GROUP BY estado, evento, id_agentmodule" . $groupby_extra . "
ORDER BY timestamp_rep DESC LIMIT " . $offset . "," . $pagination;
}
break; break;
case "postgresql": case "postgresql":
$sql = "SELECT *, MAX(id_evento) AS id_evento, array_to_string(array_agg(DISTINCT user_comment), '<br>') AS user_comment, if ($total) {
array_to_string(array_agg(DISTINCT id_evento), ',') AS similar_ids, $sql = "SELECT COUNT(*)
COUNT(*) AS event_rep, MAX(utimestamp) AS timestamp_rep, FROM $table te
WHERE 1=1 " . $sql_post . "
GROUP BY estado, evento, id_agentmodule, id_evento, id_agente, id_usuario, id_grupo, estado, timestamp, utimestamp, event_type, id_alert_am, criticity, user_comment, tags, source, id_extra" . $groupby_extra;
}
else {
$sql = "SELECT *, MAX(id_evento) AS id_evento, array_to_string(array_agg(DISTINCT user_comment), '<br>') AS user_comment,
array_to_string(array_agg(DISTINCT id_evento), ',') AS similar_ids,
COUNT(*) AS event_rep, MAX(utimestamp) AS timestamp_rep,
MIN(utimestamp) AS timestamp_rep_min,
(SELECT owner_user FROM tevento WHERE id_evento = MAX(te.id_evento)) owner_user,
(SELECT id_usuario FROM tevento WHERE id_evento = MAX(te.id_evento)) id_usuario
FROM $table te
WHERE 1=1 " . $sql_post . "
GROUP BY estado, evento, id_agentmodule, id_evento, id_agente, id_usuario, id_grupo, estado, timestamp, utimestamp, event_type, id_alert_am, criticity, user_comment, tags, source, id_extra" . $groupby_extra . "
ORDER BY timestamp_rep DESC LIMIT " . $pagination . " OFFSET " . $offset;
}
break;
case "oracle":
if ($total) {
$sql = "SELECT COUNT(*)
FROM $table te
WHERE 1=1 " . $sql_post . "
GROUP BY estado, to_char(evento), id_agentmodule" . $groupby_extra . ") b ";
}
else {
$set = array();
$set['limit'] = $pagination;
$set['offset'] = $offset;
// TODO: Remove duplicate user comments
$sql = "SELECT a.*, b.event_rep, b.timestamp_rep
FROM (SELECT * FROM $table WHERE 1=1 " . $sql_post . ") a,
(SELECT MAX (id_evento) AS id_evento, to_char(evento) AS evento,
id_agentmodule, COUNT(*) AS event_rep,
LISTAGG(user_comment, '') AS user_comment, MAX(utimestamp) AS timestamp_rep,
LISTAGG(id_evento, '') AS similar_ids,
MIN(utimestamp) AS timestamp_rep_min, MIN(utimestamp) AS timestamp_rep_min,
(SELECT owner_user FROM tevento WHERE id_evento = MAX(te.id_evento)) owner_user, (SELECT owner_user FROM tevento WHERE id_evento = MAX(te.id_evento)) owner_user,
(SELECT id_usuario FROM tevento WHERE id_evento = MAX(te.id_evento)) id_usuario (SELECT id_usuario FROM tevento WHERE id_evento = MAX(te.id_evento)) id_usuario
FROM $table te FROM $table te
WHERE 1=1 " . $sql_post . " WHERE 1=1 " . $sql_post . "
GROUP BY estado, evento, id_agentmodule, id_evento, id_agente, id_usuario, id_grupo, estado, timestamp, utimestamp, event_type, id_alert_am, criticity, user_comment, tags, source, id_extra" . $groupby_extra . " GROUP BY estado, to_char(evento), id_agentmodule" . $groupby_extra . ") b
ORDER BY timestamp_rep DESC LIMIT " . $pagination . " OFFSET " . $offset; WHERE a.id_evento=b.id_evento AND
break; to_char(a.evento)=to_char(b.evento)
case "oracle": AND a.id_agentmodule=b.id_agentmodule";
$set = array(); $sql = oracle_recode_query ($sql, $set);
$set['limit'] = $pagination; }
$set['offset'] = $offset;
// TODO: Remove duplicate user comments
$sql = "SELECT a.*, b.event_rep, b.timestamp_rep
FROM (SELECT * FROM $table WHERE 1=1 " . $sql_post . ") a,
(SELECT MAX (id_evento) AS id_evento, to_char(evento) AS evento,
id_agentmodule, COUNT(*) AS event_rep,
LISTAGG(user_comment, '') AS user_comment, MAX(utimestamp) AS timestamp_rep,
LISTAGG(id_evento, '') AS similar_ids,
MIN(utimestamp) AS timestamp_rep_min,
(SELECT owner_user FROM tevento WHERE id_evento = MAX(te.id_evento)) owner_user,
(SELECT id_usuario FROM tevento WHERE id_evento = MAX(te.id_evento)) id_usuario
FROM $table te
WHERE 1=1 " . $sql_post . "
GROUP BY estado, to_char(evento), id_agentmodule" . $groupby_extra . ") b
WHERE a.id_evento=b.id_evento AND
to_char(a.evento)=to_char(b.evento)
AND a.id_agentmodule=b.id_agentmodule";
$sql = oracle_recode_query ($sql, $set);
break; break;
} }
//Extract the events by filter (or not) from db //Extract the events by filter (or not) from db
$events = db_get_all_rows_sql ($sql); $events = db_get_all_rows_sql ($sql);
return $events; if ($total) {
return reset($events[0]);
}
else {
return $events;
}
}
function events_get_total_events_grouped($sql_post, $meta = false, $history = false) {
return events_get_events_grouped($sql_post, 0, 0, $meta, $history, true);
} }
/** /**
@ -306,7 +341,7 @@ function events_validate_event ($id_event, $similars = true, $new_status = 1, $m
$event = events_get_event ($event); $event = events_get_event ($event);
} }
if($event['id_alert_am'] > 0 && !in_array($event['id_alert_am'], $alerts)) { if ($event['id_alert_am'] > 0 && !in_array($event['id_alert_am'], $alerts)) {
$alerts[] = $event['id_alert_am']; $alerts[] = $event['id_alert_am'];
} }
@ -385,7 +420,7 @@ function events_change_status ($id_event, $new_status, $meta = false, $history =
$ack_user = ''; $ack_user = '';
} }
switch($new_status) { switch ($new_status) {
case EVENT_STATUS_NEW: case EVENT_STATUS_NEW:
$status_string = 'New'; $status_string = 'New';
break; break;
@ -403,7 +438,7 @@ function events_change_status ($id_event, $new_status, $meta = false, $history =
$alerts = array(); $alerts = array();
foreach ($id_event as $k => $id) { foreach ($id_event as $k => $id) {
if($meta) { if ($meta) {
$event_group = events_meta_get_group ($id, $history); $event_group = events_meta_get_group ($id, $history);
$event = events_meta_get_event ($id, false, $history); $event = events_meta_get_event ($id, false, $history);
$server_id = $event['server_id']; $server_id = $event['server_id'];
@ -413,7 +448,7 @@ function events_change_status ($id_event, $new_status, $meta = false, $history =
$event = events_get_event ($id); $event = events_get_event ($id);
} }
if($event['id_alert_am'] > 0 && !in_array($event['id_alert_am'], $alerts)) { if ($event['id_alert_am'] > 0 && !in_array($event['id_alert_am'], $alerts)) {
$alerts[] = $event['id_alert_am']; $alerts[] = $event['id_alert_am'];
} }
@ -487,7 +522,7 @@ function events_change_owner ($id_event, $new_owner = false, $force = false, $me
$id_event = (array) safe_int ($id_event, 1); $id_event = (array) safe_int ($id_event, 1);
foreach ($id_event as $k => $id) { foreach ($id_event as $k => $id) {
if($meta) { if ($meta) {
$event_group = events_meta_get_group ($id, $history); $event_group = events_meta_get_group ($id, $history);
} }
else { else {
@ -499,17 +534,17 @@ function events_change_owner ($id_event, $new_owner = false, $force = false, $me
} }
} }
if(empty($id_event)) { if (empty($id_event)) {
return false; return false;
} }
// If no new_owner is provided, the current user will be the owner // If no new_owner is provided, the current user will be the owner
if(empty($new_owner)) { if (empty($new_owner)) {
$new_owner = $config['id_user']; $new_owner = $config['id_user'];
} }
// Only generate comment when is forced (sometimes is changed the owner when comment) // Only generate comment when is forced (sometimes is changed the owner when comment)
if($force) { if ($force) {
events_comment($id_event, '', "Change owner to $new_owner", $meta, $history); events_comment($id_event, '', "Change owner to $new_owner", $meta, $history);
} }
@ -518,7 +553,7 @@ function events_change_owner ($id_event, $new_owner = false, $force = false, $me
$where = array('id_evento' => $id_event); $where = array('id_evento' => $id_event);
// If not force, add to where if owner_user = '' // If not force, add to where if owner_user = ''
if(!$force) { if (!$force) {
$where['owner_user'] = ''; $where['owner_user'] = '';
} }
@ -534,7 +569,7 @@ function events_change_owner ($id_event, $new_owner = false, $force = false, $me
function events_get_events_table($meta, $history) { function events_get_events_table($meta, $history) {
if ($meta) { if ($meta) {
if($history) { if ($history) {
$event_table = 'tmetaconsole_event_history'; $event_table = 'tmetaconsole_event_history';
} }
else { else {
@ -1416,18 +1451,23 @@ function events_get_all_status (){
* *
* @return string Status description. * @return string Status description.
*/ */
function events_get_status ($status_id){ function events_get_status ($status_id) {
switch($status_id) { switch ($status_id) {
case -1: $status_desc = __('All event'); case -1:
break; $status_desc = __('All event');
case 0: $status_desc = __('Only new'); break;
break; case 0:
case 1: $status_desc = __('Only validated'); $status_desc = __('Only new');
break; break;
case 2: $status_desc = __('Only in process'); case 1:
break; $status_desc = __('Only validated');
case 3: $status_desc = __('Only not validated'); break;
break; case 2:
$status_desc = __('Only in process');
break;
case 3:
$status_desc = __('Only not validated');
break;
} }
return $status_desc; return $status_desc;

View File

@ -471,7 +471,8 @@ function groups_get_groups_tree_recursive($groups, $parent = 0, $deep = 0) {
$return = array(); $return = array();
foreach ($groups as $key => $group) { foreach ($groups as $key => $group) {
if (($key === 0 || $key === __('All')) && ($parent === 0 || $parent === __('All'))) { //When the groups is the all group if (($key === 0 || $key === __('All')) && ($parent === 0 || $parent === __('All'))) {
//When the groups is the all group
$group['deep'] = $deep; $group['deep'] = $deep;
$group['hash_branch'] = true; $group['hash_branch'] = true;
$deep ++; $deep ++;

View File

@ -362,10 +362,13 @@ function html_print_select_style ($fields, $name, $selected = '', $style='', $sc
* *
* @return string HTML code if return parameter is true. * @return string HTML code if return parameter is true.
*/ */
function html_print_select_groups($id_user = false, $privilege = "AR", $returnAllGroup = true, function html_print_select_groups($id_user = false, $privilege = "AR",
$name, $selected = '', $script = '', $nothing = '', $nothing_value = 0, $return = false, $returnAllGroup = true, $name, $selected = '', $script = '',
$multiple = false, $sort = true, $class = '', $disabled = false, $style = false, $option_style = false, $nothing = '', $nothing_value = 0, $return = false,
$id_group = false, $keys_field = 'id_grupo') { $multiple = false, $sort = true, $class = '', $disabled = false,
$style = false, $option_style = false, $id_group = false,
$keys_field = 'id_grupo') {
global $config; global $config;
$fields = users_get_groups_for_select($id_user, $privilege, $fields = users_get_groups_for_select($id_user, $privilege,

View File

@ -24,7 +24,7 @@
* *
* @return array The several priorities with their values * @return array The several priorities with their values
*/ */
function incidents_get_priorities () { function incidents_get_priorities ($priority = false) {
$fields = array(); $fields = array();
$fields[0] = __('Informative'); $fields[0] = __('Informative');
$fields[1] = __('Low'); $fields[1] = __('Low');
@ -33,7 +33,12 @@ function incidents_get_priorities () {
$fields[4] = __('Very serious'); $fields[4] = __('Very serious');
$fields[10] = __('Maintenance'); $fields[10] = __('Maintenance');
return $fields; if ($priority === false) {
return $fields;
}
else {
return $fields[$priority];
}
} }
/** /**

View File

@ -31,10 +31,12 @@ require_once($config['homedir'] . "/include/functions_groups.php");
*/ */
function users_get_info ($order = "fullname", $info = "fullname") { function users_get_info ($order = "fullname", $info = "fullname") {
$users = get_users ($order); $users = get_users ($order);
$ret = array (); $ret = array ();
foreach ($users as $user_id => $user_info) { foreach ($users as $user_id => $user_info) {
$ret[$user_id] = $user_info[$info]; $ret[$user_id] = $user_info[$info];
} }
return $ret; return $ret;
} }
@ -60,12 +62,13 @@ function users_disable ($user_id, $new_disabled_value) {
*/ */
function users_get_all_model_groups () { function users_get_all_model_groups () {
$groups = db_get_all_rows_in_table ('tmodule_group'); $groups = db_get_all_rows_in_table ('tmodule_group');
if($groups === false) { if ($groups === false) {
$groups = array(); $groups = array();
} }
$returnGroups = array(); $returnGroups = array();
foreach ($groups as $group) foreach ($groups as $group)
$returnGroups[$group['id_mg']] = $group['name']; $returnGroups[$group['id_mg']] = $group['name'];
$returnGroups[0] = "Not assigned"; //Module group external to DB but it exist $returnGroups[0] = "Not assigned"; //Module group external to DB but it exist
@ -86,12 +89,12 @@ function users_get_all_model_groups () {
* @return array A list of the groups the user has certain privileges. * @return array A list of the groups the user has certain privileges.
*/ */
function users_get_groups_for_select($id_user, $privilege = "AR", $returnAllGroup = true, $returnAllColumns = false, $id_groups = null, $keys_field = 'id_grupo') { function users_get_groups_for_select($id_user, $privilege = "AR", $returnAllGroup = true, $returnAllColumns = false, $id_groups = null, $keys_field = 'id_grupo') {
if($id_groups === false) { if ($id_groups === false) {
$id_groups = null; $id_groups = null;
} }
$user_groups = users_get_groups ($id_user, $privilege, $returnAllGroup, $returnAllColumns, null); $user_groups = users_get_groups ($id_user, $privilege, $returnAllGroup, $returnAllColumns, null);
if ($id_groups !== null) { if ($id_groups !== null) {
$childrens = groups_get_childrens($id_groups); $childrens = groups_get_childrens($id_groups);
foreach ($childrens as $child) { foreach ($childrens as $child) {
@ -251,7 +254,7 @@ function users_get_first_group ($id_user = false, $privilege = "AR", $all_group
*/ */
function users_access_to_agent ($id_agent, $mode = "AR", $id_user = false) { function users_access_to_agent ($id_agent, $mode = "AR", $id_user = false) {
if (empty ($id_agent)) if (empty ($id_agent))
return false; return false;
if ($id_user == false) { if ($id_user == false) {
global $config; global $config;
@ -259,6 +262,7 @@ function users_access_to_agent ($id_agent, $mode = "AR", $id_user = false) {
} }
$id_group = (int) db_get_value ('id_grupo', 'tagente', 'id_agente', (int) $id_agent); $id_group = (int) db_get_value ('id_grupo', 'tagente', 'id_agente', (int) $id_agent);
return (bool) check_acl ($id_user, $id_group, $mode); return (bool) check_acl ($id_user, $id_group, $mode);
} }
@ -353,7 +357,7 @@ function users_save_login() {
$user = db_get_row_filter('tusuario', $user = db_get_row_filter('tusuario',
array('id_user' => $config['id_user'])); array('id_user' => $config['id_user']));
$message = sprintf(__('User %s login at %s'), $user['fullname'], $message = sprintf(__('User %s login at %s'), $user['fullname'],
date($config['date_format'])); date($config['date_format']));
users_save_text_message($message, 'notification'); users_save_text_message($message, 'notification');
@ -796,7 +800,7 @@ function users_can_manage_group_all($id_group = 0) {
} }
$is_admin = db_get_value('is_admin', 'tusuario', 'id_user', $config['id_user']); $is_admin = db_get_value('is_admin', 'tusuario', 'id_user', $config['id_user']);
if (check_acl ($config['id_user'], 0, "PM") || $is_admin) { if (check_acl ($config['id_user'], 0, "PM") || $is_admin) {
return true; return true;
} }

View File

@ -472,7 +472,14 @@ class Ui {
$item_value = $item; $item_value = $item;
} }
$html .= "<option value='" . $item_id . "'>" . $item_value . "</option>\n"; $selected = '';
if (isset($options['selected'])) {
if ($options['selected'] == $item_id) {
$selected = "selected = 'selected'";
}
}
$html .= "<option " . $selected . " value='" . $item_id . "'>" . $item_value . "</option>\n";
} }
$html .= "</select>\n"; $html .= "</select>\n";

View File

@ -47,6 +47,18 @@ if (!$user->isLogged()) {
} }
switch ($action) { switch ($action) {
case 'ajax':
$parameter1 = $system->getRequest('parameter1', false);
$parameter2 = $system->getRequest('parameter2', false);
switch ($parameter1) {
case 'events':
$events = new Events();
$events->ajax($parameter2);
break;
}
return;
break;
case 'login': case 'login':
if (!$user->checkLogin()) { if (!$user->checkLogin()) {
$user->showLogin(); $user->showLogin();

View File

@ -18,10 +18,11 @@ class Events {
private $default = true; private $default = true;
private $free_search = ''; private $free_search = '';
private $hours_old = 8; private $hours_old = 8;
private $status = 2 private $status = 3;
private $type = ""; private $type = "";
private $severity = -1; private $severity = -1;
private $filter = 0; private $filter = 0;
private $group = 0;
function __construct() { function __construct() {
$system = System::getInstance(); $system = System::getInstance();
@ -34,6 +35,64 @@ class Events {
} }
} }
public function ajax($parameter2 = false) {
$system = System::getInstance();
if (!$this->correct_acl) {
return;
}
else {
switch ($parameter2) {
case 'get_events':
$this->eventsGetFilters();
$page = $system->getRequest('page', 0);
$system = System::getInstance();
$listEvents = $this->getListEvents($page);
$events_db = $listEvents['events'];
$total_events = $listEvents['total'];
$events = array();
$end = 1;
foreach ($events_db as $event) {
$end = 0;
$row = array();
$row[] = $event['evento'];
switch ($event['estado']) {
case 0:
$img_st = "images/star.png";
$title_st = __('New event');
break;
case 1:
$img_st = "images/tick.png";
$title_st = __('Event validated');
break;
case 2:
$img_st = "images/hourglass.png";
$title_st = __('Event in process');
break;
}
$row[] = html_print_image ($img_st, true,
array ("class" => "image_status",
"width" => 16,
"height" => 16,
"title" => $title_st,
"id" => 'status_img_' . $event["id_evento"]));
$row[] = ui_print_timestamp ($event['timestamp_rep'], true);
$row[] = ui_print_agent_name ($event["id_agente"], true);
$events[$event['id_evento']] = $row;
}
echo json_encode(array('end' => $end, 'events' => $events));
break;
}
}
}
private function eventsGetFilters() { private function eventsGetFilters() {
$system = System::getInstance(); $system = System::getInstance();
@ -41,17 +100,20 @@ class Events {
if ($this->hours_old != 8) { if ($this->hours_old != 8) {
$this->default = false; $this->default = false;
} }
$this->free_search = $system->getRequest('free_search', ''); $this->free_search = $system->getRequest('free_search', '');
if ($this->free_search != '') { if ($this->free_search != '') {
$this->default = false; $this->default = false;
} }
$this->status = $system->getRequest('status', __("Status")); $this->status = $system->getRequest('status', __("Status"));
if ($this->status === __("Status")) { if ($this->status === __("Status")) {
$this->status = 2; $this->status = 3;
} }
else { else {
$this->default = false; $this->default = false;
} }
$this->type = $system->getRequest('type', __("Type")); $this->type = $system->getRequest('type', __("Type"));
if ($this->type === __("Type")) { if ($this->type === __("Type")) {
$this->type = ""; $this->type = "";
@ -59,6 +121,15 @@ class Events {
else { else {
$this->default = false; $this->default = false;
} }
$this->severity = $system->getRequest('group', __("Group"));
if ($this->severity === __("Group")) {
$this->severity = 0;
}
else {
$this->default = false;
}
$this->severity = $system->getRequest('severity', __("Severity")); $this->severity = $system->getRequest('severity', __("Severity"));
if ($this->severity === __("Severity")) { if ($this->severity === __("Severity")) {
$this->severity = -1; $this->severity = -1;
@ -76,10 +147,19 @@ class Events {
} }
///The user set a preset filter ///The user set a preset filter
$this->loadPresetFilter() if ($this->filter > 0) {
$this->loadPresetFilter();
}
} }
private loadPresetFilter() { private function loadPresetFilter() {
$filter = db_get_row('tevent_filter', 'id_filter', $this->filter);
$this->free_search = $filter['search'];
$this->hours_old = $filter['event_view_hr'];
$this->status = $filter['status'];
$this->type = $filter['type'];
$this->severity = $filter['severity'];
} }
public function show() { public function show() {
@ -117,56 +197,66 @@ class Events {
'value' => 'events' 'value' => 'events'
); );
$ui->formAddInput($options); $ui->formAddInput($options);
$items = array('caca' => 'caca', 'pis' => 'pis',
'pedo' => 'pedo'); $items = db_get_all_rows_in_table('tevent_filter');
$items[] = array('id_filter' => 0, 'id_name' => __('None'));
$options = array( $options = array(
'name' => 'filter', 'name' => 'filter',
'title' => __('Preset Filters'), 'title' => __('Preset Filters'),
'label' => __('Preset Filters'), 'label' => __('Preset Filters'),
'items' => $items 'items' => $items,
'item_id' => 'id_filter',
'item_value' => 'id_name',
'selected' => $this->filter
); );
$ui->formAddSelectBox($options); $ui->formAddSelectBox($options);
$items = array('caca' => 'caca', 'pis' => 'pis',
'pedo' => 'pedo'); $system = System::getInstance();
$groups = users_get_groups_for_select(
$system->getConfig('id_user'), "ER", true, true, false, 'id_grupo');
$options = array( $options = array(
'name' => 'group', 'name' => 'group',
'title' => __('Group'), 'title' => __('Group'),
'label' => __('Group'), 'label' => __('Group'),
'items' => $items 'items' => $groups,
'selected' => $this->group
); );
$items = array('caca' => 'caca', 'pis' => 'pis', $ui->formAddSelectBox($options);
'pedo' => 'pedo');
$options = array( $options = array(
'name' => 'status', 'name' => 'status',
'title' => __('Status'), 'title' => __('Status'),
'label' => __('Status'), 'label' => __('Status'),
'items' => $items 'items' => events_get_all_status(),
'selected' => $this->status
); );
$ui->formAddSelectBox($options); $ui->formAddSelectBox($options);
$items = array('caca' => 'caca', 'pis' => 'pis',
'pedo' => 'pedo');
$options = array( $options = array(
'name' => 'type', 'name' => 'type',
'title' => __('Type'), 'title' => __('Type'),
'label' => __('Type'), 'label' => __('Type'),
'items' => $items 'items' => get_event_types(),
'selected' => $this->type
); );
$ui->formAddSelectBox($options); $ui->formAddSelectBox($options);
$items = array('caca' => 'caca', 'pis' => 'pis',
'pedo' => 'pedo');
$options = array( $options = array(
'name' => 'severity', 'name' => 'severity',
'title' => __('Severity'), 'title' => __('Severity'),
'label' => __('Severity'), 'label' => __('Severity'),
'items' => $items 'items' => get_priorities(),
'selected' => $this->severity
); );
$ui->formAddSelectBox($options); $ui->formAddSelectBox($options);
$options = array( $options = array(
'name' => 'free_search', 'name' => 'free_search',
'value' => $this->free_search, 'value' => $this->free_search,
'placeholder' => __('Free search') 'placeholder' => __('Free search')
); );
$ui->formAddInputSearch($options); $ui->formAddInputSearch($options);
$options = array( $options = array(
'label' => __('Max. hours old'), 'label' => __('Max. hours old'),
'name' => 'hours_old', 'name' => 'hours_old',
@ -176,6 +266,7 @@ class Events {
'step' => 8 'step' => 8
); );
$ui->formAddSlider($options); $ui->formAddSlider($options);
$options = array( $options = array(
'icon' => 'refresh', 'icon' => 'refresh',
'icon_pos' => 'right', 'icon_pos' => 'right',
@ -185,52 +276,239 @@ class Events {
$html = $ui->getEndForm(); $html = $ui->getEndForm();
$ui->contentCollapsibleAddItem($html); $ui->contentCollapsibleAddItem($html);
$ui->contentEndCollapsible(); $ui->contentEndCollapsible();
$this->listEvents(); $this->listEventsHtml();
$ui->endContent(); $ui->endContent();
$ui->showPage(); $ui->showPage();
} }
function listEvents() { private function getListEvents($page = 0) {
$ui = Ui::getInstance();
$system = System::getInstance(); $system = System::getInstance();
//--------------Fill the SQL POST-------------------------------
$sql_post = ''; $sql_post = '';
$result = events_get_events_grouped($sql_post,
0, $system->getPageSize(), false, false);
$events = array( switch ($this->status) {
array( case 0:
__('Status') => 'icon', case 1:
__('Event Name') => 'nombre del evento', case 2:
__('Timestamp') => '2 days', $sql_post .= " AND estado = " . $this->status;
__('Agent') => 'pepito'), break;
array( case 3:
__('Status') => 'icon', $sql_post .= " AND (estado = 0 OR estado = 2)";
__('Event Name') => 'nombre del evento', break;
__('Timestamp') => '2 days', }
__('Agent') => 'pepito'));
if ($this->free_search != "") {
$sql_post .= " AND evento LIKE '%" . io_safe_input($this->free_search) . "%'";
}
if ($this->severity != -1) {
switch ($this->severity) {
case EVENT_CRIT_WARNING_OR_CRITICAL:
$sql_post .= " AND (criticity = " . EVENT_CRIT_WARNING . " OR
criticity = " . EVENT_CRIT_CRITICAL . ")";
break;
case EVENT_CRIT_NOT_NORMAL:
$sql_post .= " AND criticity != " . EVENT_CRIT_NORMAL;
break;
default:
$sql_post .= " AND criticity = " . $this->severity;
break;
}
}
if ($this->hours_old > 0) {
$unixtime = get_system_time () - ($this->hours_old * SECONDS_1HOUR);
$sql_post .= " AND (utimestamp > " . $unixtime . ")";
}
if ($this->type != "") {
// If normal, warning, could be several (going_up_warning, going_down_warning... too complex
// for the user so for him is presented only "warning, critical and normal"
if ($this->type == "warning" || $this->type == "critical"
|| $this->type == "normal") {
$sql_post .= " AND event_type LIKE '%" . $this->type . "%' ";
}
elseif ($this->type == "not_normal") {
$sql_post .= " AND event_type LIKE '%warning%' OR event_type LIKE '%critical%' OR event_type LIKE '%unknown%' ";
}
elseif ($this->type != "all") {
$sql_post .= " AND event_type = '" . $this->type."'";
}
}
if ($this->group > 0) {
//If a group is selected and it's in the groups allowed
$sql_post = " AND id_grupo = " . $this->group;
}
//--------------------------------------------------------------
$events_db = events_get_events_grouped($sql_post,
$page * $system->getPageSize(), $system->getPageSize(), false, false);
if (empty($events_db)) {
$events_db = array();
}
$total_events = events_get_total_events_grouped($sql_post);
return array('events' => $events_db, 'total' => $total_events);
}
private function listEventsHtml($page = 0) {
$system = System::getInstance();
$listEvents = $this->getListEvents($page);
$events_db = $listEvents['events'];
$total_events = $listEvents['total'];
if (empty($events_db))
$events_db = array();
$events = array();
$field_event_name = __('Event Name');
$field_status = __('Status');
$field_timestamp = __('Timestamp');
$field_agent = __('Agent');
foreach ($events_db as $event) {
$row = array();
$row[$field_event_name] = $event['evento'];
switch ($event['estado']) {
case 0:
$img_st = "images/star.png";
$title_st = __('New event');
break;
case 1:
$img_st = "images/tick.png";
$title_st = __('Event validated');
break;
case 2:
$img_st = "images/hourglass.png";
$title_st = __('Event in process');
break;
}
$row[$field_status] = html_print_image ($img_st, true,
array ("class" => "image_status",
"width" => 16,
"height" => 16,
"title" => $title_st,
"id" => 'status_img_' . $event["id_evento"]));
$row[$field_timestamp] = ui_print_timestamp ($event['timestamp_rep'], true);
$row[$field_agent] = ui_print_agent_name ($event["id_agente"], true);
$events[$event['id_evento']] = $row;
}
$ui = Ui::getInstance(); $ui = Ui::getInstance();
$table = new Table(); if (empty($events)) {
$table->importFromHash($events); $ui->contentAddHtml('<p style="color: #ff0000;">' . __('No events') . '</p>');
$ui->contentAddHtml($table->getHTML()); }
else {
$table = new Table();
$table->importFromHash($events);
$ui->contentAddHtml($table->getHTML());
if ($system->getPageSize() < $total_events) {
$ui->contentAddHtml('<div id="loading_rows">' .
html_print_image('images/spinner.gif', true) .
' ' . __('Loading...') .
'</div>');
$this->addJavascriptAddBottom();
}
}
}
private function addJavascriptAddBottom() {
$ui = Ui::getInstance();
$ui->contentAddHtml("<script type=\"text/javascript\">
var load_more_rows = 1;
var page = 1;
$(document).ready(function() {
$(window).bind(\"scroll\", function () {
if (load_more_rows) {
if ($(this).scrollTop() + $(this).height()
>= ($(document).height() - 100)) {
load_more_rows = 0;
postvars = {};
postvars[\"action\"] = \"ajax\";
postvars[\"parameter1\"] = \"events\";
postvars[\"parameter2\"] = \"get_events\";
postvars[\"filter\"] = $(\"select[name='filter']\").val();
postvars[\"group\"] = $(\"select[name='group']\").val();
postvars[\"status\"] = $(\"select[name='status']\").val();
postvars[\"type\"] = $(\"select[name='type']\").val();
postvars[\"severity\"] = $(\"select[name='severity']\").val();
postvars[\"free_search\"] = $(\"input[name='free_search']\").val();
postvars[\"hours_old\"] = $(\"input[name='hours_old']\").val();
postvars[\"page\"] = page;
page++;
$.post(\"index.php\",
postvars,
function (data) {
if (data.end) {
$(\"#loading_rows\").hide();
}
else {
$.each(data.events, function(key, event) {
$(\"table tbody\").append(\"<tr>\" +
\"<th></th>\" +
\"<td>\" + event[0] + \"</td>\" +
\"<td>\" + event[1] + \"</td>\" +
\"<td>\" + event[2] + \"</td>\" +
\"<td>\" + event[3] + \"</td>\" +
\"</tr>\");
});
load_more_rows = 1;
}
},
\"json\");
}
}
});
});
</script>");
} }
private function filterEventsGetString() { private function filterEventsGetString() {
if ($this->default) if ($this->default) {
return __("(Default)"); return __("(Default)");
}
else { else {
if ($this->filter) { if ($this->filter) {
//TODO put the name of filter $filter = db_get_row('tevent_filter', 'id_filter', $this->filter);
return sprintf(__('Filter: %s'), $filter['id_name']);
} }
else { else {
/* $status = "";
$string = sprintf(__("(Status: %s Hours: %s Type: %s Severity: %s Free Search: %s)"), if (!empty($this->status))
$this->hours_old, $status = events_get_status($this->status);
$type = "";
if (!empty($this->empty))
$type = get_event_types($this->type);
$severity = "";
if ($this->severity != -1)
$severity = get_priorities($this->severity);
$string = sprintf(
__("(Status: %s - Hours: %s - Type: %s - Severity: %s - Free Search: %s)"),
$status, $this->hours_old, $type, $severity,
$this->free_search);
return $string; return $string;
*/
} }
} }
} }

View File

@ -17,8 +17,8 @@ $groups = users_get_groups($id_user, 'ER');
//Group selection //Group selection
if ($ev_group > 0 && in_array ($ev_group, array_keys ($groups))) { if ($ev_group > 0 && in_array ($ev_group, array_keys ($groups))) {
if($meta) { if ($meta) {
// In metaconsole the group search is performed by name // In metaconsole the group search is performed by name
$group_name = groups_get_name ($ev_group); $group_name = groups_get_name ($ev_group);
$sql_post = " AND group_name = '$group_name'"; $sql_post = " AND group_name = '$group_name'";
@ -73,11 +73,11 @@ if ($event_type != "") {
elseif ($event_type != "all") { elseif ($event_type != "all") {
$sql_post .= " AND event_type = '" . $event_type."'"; $sql_post .= " AND event_type = '" . $event_type."'";
} }
} }
if ($severity != -1) { if ($severity != -1) {
switch($severity) { switch ($severity) {
case EVENT_CRIT_WARNING_OR_CRITICAL: case EVENT_CRIT_WARNING_OR_CRITICAL:
$sql_post .= " AND (criticity = " . EVENT_CRIT_WARNING . " OR $sql_post .= " AND (criticity = " . EVENT_CRIT_WARNING . " OR
criticity = " . EVENT_CRIT_CRITICAL . ")"; criticity = " . EVENT_CRIT_CRITICAL . ")";
@ -92,8 +92,8 @@ if ($severity != -1) {
} }
// In metaconsole mode the agent search is performed by name // In metaconsole mode the agent search is performed by name
if($meta) { if ($meta) {
if($text_agent != __('All')) { if ($text_agent != __('All')) {
$sql_post .= " AND agent_name LIKE '%$text_agent%'"; $sql_post .= " AND agent_name LIKE '%$text_agent%'";
} }
} }
@ -137,6 +137,7 @@ if (!empty($tag_without)) {
foreach ($tag_without as $id_tag) { foreach ($tag_without as $id_tag) {
if ($first) $first = false; if ($first) $first = false;
else $sql_post .= " AND "; else $sql_post .= " AND ";
$sql_post .= "tags NOT LIKE '%" . tags_get_name($id_tag) . "%'"; $sql_post .= "tags NOT LIKE '%" . tags_get_name($id_tag) . "%'";
} }
$sql_post .= ' ) '; $sql_post .= ' ) ';
@ -163,15 +164,15 @@ $tags_acls_condition = tags_get_acl_tags($id_user, $group_array, 'ER', 'event_co
$sql_post .= $tags_acls_condition; $sql_post .= $tags_acls_condition;
// Metaconsole fitlers // Metaconsole fitlers
if($meta) { if ($meta) {
$enabled_nodes = db_get_all_rows_sql('SELECT id FROM tmetaconsole_setup WHERE disabled = 0'); $enabled_nodes = db_get_all_rows_sql('SELECT id FROM tmetaconsole_setup WHERE disabled = 0');
if(empty($enabled_nodes)) { if (empty($enabled_nodes)) {
$sql_post .= ' AND 1 = 0'; $sql_post .= ' AND 1 = 0';
} }
else { else {
$enabled_nodes_id = array(); $enabled_nodes_id = array();
foreach($enabled_nodes as $en) { foreach ($enabled_nodes as $en) {
$enabled_nodes_id[] = $en['id']; $enabled_nodes_id[] = $en['id'];
} }
$sql_post .= ' AND server_id IN ('.implode(',',$enabled_nodes_id).')'; $sql_post .= ' AND server_id IN ('.implode(',',$enabled_nodes_id).')';

View File

@ -185,7 +185,7 @@ foreach ($result as $event) {
$data[$i] = "#".$event["id_evento"]; $data[$i] = "#".$event["id_evento"];
// Pass grouped values in hidden fields to use it from modal window // Pass grouped values in hidden fields to use it from modal window
if($group_rep) { if ($group_rep) {
$similar_ids = $event['similar_ids']; $similar_ids = $event['similar_ids'];
$timestamp_first = $event['timestamp_rep_min']; $timestamp_first = $event['timestamp_rep_min'];
$timestamp_last = $event['timestamp_rep']; $timestamp_last = $event['timestamp_rep'];
@ -224,7 +224,7 @@ foreach ($result as $event) {
$i++; $i++;
if (in_array('server_name',$show_fields)) { if (in_array('server_name',$show_fields)) {
if($meta) { if ($meta) {
$data[$i] = "<a href='" . $event["server_url"] . "/index.php?sec=estado&sec2=operation/agentes/group_view" . $event['server_url_hash'] . "'>" . $event["server_name"] . "</a>"; $data[$i] = "<a href='" . $event["server_url"] . "/index.php?sec=estado&sec2=operation/agentes/group_view" . $event['server_url_hash'] . "'>" . $event["server_name"] . "</a>";
} }
else { else {
@ -290,7 +290,7 @@ foreach ($result as $event) {
if ($event["id_agente"] > 0) { if ($event["id_agente"] > 0) {
// Agent name // Agent name
if($meta) { if ($meta) {
$data[$i] = '<b><a href="'.$event["server_url"].'/index.php?sec=estado&amp;sec2=operation/agentes/ver_agente&amp;id_agente=' . $event["id_agente"] . $event["server_url_hash"] . '">'; $data[$i] = '<b><a href="'.$event["server_url"].'/index.php?sec=estado&amp;sec2=operation/agentes/ver_agente&amp;id_agente=' . $event["id_agente"] . $event["server_url_hash"] . '">';
$data[$i] .= $event["agent_name"]; $data[$i] .= $event["agent_name"];
$data[$i] .= "</a></b>"; $data[$i] .= "</a></b>";
@ -338,7 +338,7 @@ foreach ($result as $event) {
} }
if (in_array('id_grupo',$show_fields)) { if (in_array('id_grupo',$show_fields)) {
if($meta) { if ($meta) {
$data[$i] = $event['group_name']; $data[$i] = $event['group_name'];
} }
else { else {
@ -358,7 +358,7 @@ foreach ($result as $event) {
} }
if (in_array('id_agentmodule',$show_fields)) { if (in_array('id_agentmodule',$show_fields)) {
if($meta) { if ($meta) {
$data[$i] = '<b><a href="'.$event["server_url"].'/index.php?sec=estado&amp;sec2=operation/agentes/ver_agente&amp;id_agente=' . $event["id_agente"] . $event["server_url_hash"] . '">'; $data[$i] = '<b><a href="'.$event["server_url"].'/index.php?sec=estado&amp;sec2=operation/agentes/ver_agente&amp;id_agente=' . $event["id_agente"] . $event["server_url_hash"] . '">';
$data[$i] .= $event["module_name"]; $data[$i] .= $event["module_name"];
$data[$i] .= "</a></b>"; $data[$i] .= "</a></b>";
@ -379,8 +379,8 @@ foreach ($result as $event) {
$sql = 'SELECT name $sql = 'SELECT name
FROM talert_templates FROM talert_templates
WHERE id IN (SELECT id_alert_template WHERE id IN (SELECT id_alert_template
FROM talert_template_modules FROM talert_template_modules
WHERE id = ' . $event["id_alert_am"] . ');'; WHERE id = ' . $event["id_alert_am"] . ');';
$templateName = db_get_sql($sql); $templateName = db_get_sql($sql);
$data[$i] = '<a href="index.php?sec=estado&amp;sec2=operation/agentes/ver_agente&amp;id_agente='.$event["id_agente"].'&amp;tab=alert">'.$templateName.'</a>'; $data[$i] = '<a href="index.php?sec=estado&amp;sec2=operation/agentes/ver_agente&amp;id_agente='.$event["id_agente"].'&amp;tab=alert">'.$templateName.'</a>';

View File

@ -154,25 +154,29 @@ echo "<br>";
$update_pressed = get_parameter_post('update', ''); $update_pressed = get_parameter_post('update', '');
$update_pressed = (int) !empty($update_pressed); $update_pressed = (int) !empty($update_pressed);
if ($update_pressed || $open_filter){ if ($update_pressed || $open_filter) {
$open_filter = true; $open_filter = true;
} }
//Link to toggle filter //Link to toggle filter
if ($open_filter) { if ($open_filter) {
echo '<a href="#" id="tgl_event_control"><b>'.__('Event control filter').'</b>&nbsp;'.html_print_image ("images/go.png", true, array ("title" => __('Toggle filter(s)'), "id" => 'toggle_arrow')).'</a><br><br>'; echo '<a href="#" id="tgl_event_control"><b>' . __('Event control filter') . '</b>&nbsp;'.html_print_image ("images/go.png", true, array ("title" => __('Toggle filter(s)'), "id" => 'toggle_arrow')).'</a><br><br>';
} }
else { else {
echo '<a href="#" id="tgl_event_control"><b>'.__('Event control filter').'</b>&nbsp;'.html_print_image ("images/down.png", true, array ("title" => __('Toggle filter(s)'), "id" => 'toggle_arrow')).'</a><br><br>'; echo '<a href="#" id="tgl_event_control"><b>' . __('Event control filter') . '</b>&nbsp;'.html_print_image ("images/down.png", true, array ("title" => __('Toggle filter(s)'), "id" => 'toggle_arrow')).'</a><br><br>';
} }
$filters = events_get_event_filter_select(); $filters = events_get_event_filter_select();
// Some translated words to be used from javascript // Some translated words to be used from javascript
html_print_div(array('hidden' => true, 'id' => 'not_filter_loaded_text', 'content' => __('No filter loaded'))); html_print_div(array('hidden' => true,
html_print_div(array('hidden' => true, 'id' => 'filter_loaded_text', 'content' => __('Filter loaded'))); 'id' => 'not_filter_loaded_text', 'content' => __('No filter loaded')));
html_print_div(array('hidden' => true, 'id' => 'save_filter_text', 'content' => __('Save filter'))); html_print_div(array('hidden' => true,
html_print_div(array('hidden' => true, 'id' => 'load_filter_text', 'content' => __('Load filter'))); 'id' => 'filter_loaded_text', 'content' => __('Filter loaded')));
html_print_div(array('hidden' => true,
'id' => 'save_filter_text', 'content' => __('Save filter')));
html_print_div(array('hidden' => true,
'id' => 'load_filter_text', 'content' => __('Load filter')));
// Save filter div for dialog // Save filter div for dialog
echo '<div id="save_filter_layer" style="display: none">'; echo '<div id="save_filter_layer" style="display: none">';
@ -320,7 +324,7 @@ html_print_input_hidden('id_name', $id_name);
// Hidden open filter flag // Hidden open filter flag
// If autoupdate is in use collapse filter // If autoupdate is in use collapse filter
if ($open_filter){ if ($open_filter) {
html_print_input_hidden('open_filter', 'true'); html_print_input_hidden('open_filter', 'true');
} }
else{ else{
@ -337,7 +341,8 @@ $table->data = array();
$data = array(); $data = array();
$data[0] = __('Group') . '<br>'; $data[0] = __('Group') . '<br>';
$data[0] .= html_print_select_groups($config["id_user"], "ER", true, 'id_group', $id_group, '', '', 0, true, false, false, 'w130'); $data[0] .= html_print_select_groups($config["id_user"], "ER", true,
'id_group', $id_group, '', '', 0, true, false, false, 'w130');
$data[1] = __('Event type') . '<br>'; $data[1] = __('Event type') . '<br>';
$types = get_event_types (); $types = get_event_types ();
// Expand standard array to add not_normal (not exist in the array, used only for searches) // Expand standard array to add not_normal (not exist in the array, used only for searches)
@ -386,7 +391,8 @@ else {
$data[1] .= ui_print_agent_autocomplete_input($params); $data[1] .= ui_print_agent_autocomplete_input($params);
$data[2] = __('User ack.') . '<br>'; $data[2] = __('User ack.') . '<br>';
$users = users_get_info (); $users = users_get_info ();
$data[2] .= html_print_select ($users, "id_user_ack", $id_user_ack, '', __('Any'), 0, true); $data[2] .= html_print_select($users, "id_user_ack", $id_user_ack, '',
__('Any'), 0, true);
$table->data[] = $data; $table->data[] = $data;
$table->rowclass[] = ''; $table->rowclass[] = '';
@ -444,13 +450,13 @@ if ($group_rep == 0) {
case "mysql": case "mysql":
$sql = "SELECT *, 1 event_rep $sql = "SELECT *, 1 event_rep
FROM $event_table FROM $event_table
WHERE 1=1 ".$sql_post." WHERE 1=1 " . $sql_post . "
ORDER BY utimestamp DESC LIMIT ".$offset.",".$pagination; ORDER BY utimestamp DESC LIMIT ".$offset.",".$pagination;
break; break;
case "postgresql": case "postgresql":
$sql = "SELECT *, 1 event_rep $sql = "SELECT *, 1 event_rep
FROM $event_table FROM $event_table
WHERE 1=1 ".$sql_post." WHERE 1=1 " . $sql_post . "
ORDER BY utimestamp DESC LIMIT ".$pagination." OFFSET ".$offset; ORDER BY utimestamp DESC LIMIT ".$pagination." OFFSET ".$offset;
break; break;
case "oracle": case "oracle":
@ -459,7 +465,7 @@ if ($group_rep == 0) {
$set['offset'] = $offset; $set['offset'] = $offset;
$sql = "SELECT *, 1 event_rep $sql = "SELECT *, 1 event_rep
FROM $event_table FROM $event_table
WHERE 1=1 ".$sql_post." WHERE 1=1 " . $sql_post . "
ORDER BY utimestamp DESC"; ORDER BY utimestamp DESC";
$sql = oracle_recode_query ($sql, $set); $sql = oracle_recode_query ($sql, $set);
break; break;
@ -472,7 +478,7 @@ else {
$result = events_get_events_grouped($sql_post, $offset, $pagination, $meta, $history); $result = events_get_events_grouped($sql_post, $offset, $pagination, $meta, $history);
} }
if(!empty($result)) { if (!empty($result)) {
$params = array(); $params = array();
$params['position'] = 'right'; $params['position'] = 'right';
$params['icon_closed'] = 'images/setup.png'; $params['icon_closed'] = 'images/setup.png';
@ -485,7 +491,7 @@ if(!empty($result)) {
$params['autotop'] = 'menu_tab_frame_view'; $params['autotop'] = 'menu_tab_frame_view';
$params['icon_width'] = 16; $params['icon_width'] = 16;
$params['icon_height'] = 16; $params['icon_height'] = 16;
html_print_side_layer($params); html_print_side_layer($params);
} }