Merge branch 'develop' of https://github.com/pandorafms/pandorafms into develop
This commit is contained in:
commit
5ca2a7ea3a
|
@ -49,7 +49,3 @@ CREATE TABLE IF NOT EXISTS `tuser_double_auth` (
|
|||
-- ----------------------------------------------------------------------
|
||||
INSERT INTO `ttipo_modulo` VALUES (5,'generic_data_inc_abs',0,'Generic numeric incremental (absolute)','mod_data_inc_abs.png');
|
||||
|
||||
-- ---------------------------------------------------------------------
|
||||
-- Table `tusuario`
|
||||
-- ---------------------------------------------------------------------
|
||||
ALTER TABLE `tusuario` ADD COLUMN `strict_acl` tinyint(1) DEFAULT 0;
|
||||
|
|
|
@ -36,8 +36,3 @@ CREATE OR REPLACE TRIGGER tuser_double_auth_inc BEFORE INSERT ON tuser_double_au
|
|||
-- Table `ttipo_modulo`
|
||||
-- ----------------------------------------------------------------------
|
||||
INSERT INTO ttipo_modulo VALUES (5,'generic_data_inc_abs',0,'Generic numeric incremental (absolute)','mod_data_inc_abs.png');
|
||||
|
||||
-- ---------------------------------------------------------------------
|
||||
-- Table `tusuario`
|
||||
-- ---------------------------------------------------------------------
|
||||
ALTER TABLE tusuario ADD COLUMN strict_acl NUMBER(5,0) DEFAULT 0;
|
||||
|
|
|
@ -34,8 +34,3 @@ CREATE TABLE "tuser_double_auth" (
|
|||
-- Table `ttipo_modulo`
|
||||
-- ----------------------------------------------------------------------
|
||||
INSERT INTO "ttipo_modulo" VALUES (5,'generic_data_inc_abs',0,'Generic numeric incremental (absolute)','mod_data_inc_abs.png');
|
||||
|
||||
-- ---------------------------------------------------------------------
|
||||
-- Table `tusuario`
|
||||
-- ---------------------------------------------------------------------
|
||||
ALTER TABLE "tusuario" ADD COLUMN "strict_acl" SMALLINT NOT NULL default 0;
|
||||
|
|
|
@ -123,7 +123,6 @@ if ($new_user && $config['admin_can_add_user']) {
|
|||
$user_info['is_admin'] = 0;
|
||||
$user_info['language'] = 'default';
|
||||
$user_info["not_login"] = false;
|
||||
$user_info["strict_acl"] = false;
|
||||
if ($isFunctionSkins !== ENTERPRISE_NOT_HOOK) {
|
||||
$user_info['id_skin'] = '';
|
||||
}
|
||||
|
@ -173,7 +172,6 @@ if ($create_user) {
|
|||
}
|
||||
}
|
||||
$values["not_login"] = (bool)get_parameter ('not_login', false);
|
||||
$values["strict_acl"] = (bool)get_parameter ('strict_acl', false);
|
||||
|
||||
if ($id == '') {
|
||||
ui_print_error_message (__('User ID cannot be empty'));
|
||||
|
@ -237,11 +235,6 @@ if ($create_user) {
|
|||
$password_confirm = '';
|
||||
|
||||
if($result) {
|
||||
if ($values["strict_acl"]) {
|
||||
if ($values['is_admin']) {
|
||||
ui_print_info_message (__('Strict ACL is not recommended for admin users because performance could be affected.'));
|
||||
}
|
||||
}
|
||||
$user_info = get_user_info ($id);
|
||||
$new_user = false;
|
||||
}
|
||||
|
@ -276,7 +269,6 @@ if ($update_user) {
|
|||
$values['metaconsole_access_node'] = get_parameter ('metaconsole_access_node', '0');
|
||||
}
|
||||
$values["not_login"] = (bool)get_parameter ('not_login', false);
|
||||
$values["strict_acl"] = (bool)get_parameter ('strict_acl', false);
|
||||
|
||||
$res1 = update_user ($id, $values);
|
||||
|
||||
|
@ -344,25 +336,6 @@ if ($update_user) {
|
|||
__('Error updating user info (no change?)'));
|
||||
}
|
||||
|
||||
if ($values['strict_acl']) {
|
||||
$count_groups = 0;
|
||||
$count_tags = 0;
|
||||
|
||||
$profiles = db_get_all_rows_field_filter ("tusuario_perfil", "id_usuario", $id);
|
||||
if ($profiles === false) {
|
||||
$profiles = array ();
|
||||
}
|
||||
foreach ($profiles as $profile) {
|
||||
$count_groups = $count_groups+1;
|
||||
$arr_tags = explode(',', $profile['tags']);
|
||||
$count_tags = $count_tags + count($arr_tags);
|
||||
}
|
||||
|
||||
if (($count_groups > 3) && ($count_tags > 10)) {
|
||||
ui_print_info_message(__('Strict ACL is not recommended for this user. Performance could be affected.'));
|
||||
}
|
||||
}
|
||||
|
||||
$user_info = $values;
|
||||
}
|
||||
|
||||
|
@ -523,10 +496,6 @@ $table->data[13][0] = __('Not Login');
|
|||
$table->data[13][0] .= ui_print_help_tip(__('The user with not login set only can access to API.'), true);
|
||||
$table->data[13][1] = html_print_checkbox('not_login', 1, $user_info["not_login"], true);
|
||||
|
||||
$table->data[14][0] = __('Strict ACL');
|
||||
$table->data[14][0] .= ui_print_help_tip(__('With this option enabled, the user will can access to accurate information. It is not recommended for admin users because performance could be affected'), true);
|
||||
$table->data[14][1] = html_print_checkbox('strict_acl', 1, $user_info["strict_acl"], true);
|
||||
|
||||
if($meta) {
|
||||
enterprise_include('include/functions_metaconsole.php');
|
||||
$data = array();
|
||||
|
|
|
@ -1,65 +0,0 @@
|
|||
<?php
|
||||
|
||||
//Pandora FMS- http://pandorafms.com
|
||||
// ==================================================
|
||||
// Copyright (c) 2005-2010 Artica Soluciones Tecnologicas
|
||||
// Please see http://pandorafms.org for full contribution list
|
||||
|
||||
// This program is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU Lesser General Public License
|
||||
// as published by the Free Software Foundation; version 2
|
||||
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
|
||||
global $config;
|
||||
|
||||
require_once ($config['homedir'] . '/include/functions_tags.php');
|
||||
|
||||
$action = get_parameter('action');
|
||||
|
||||
switch($action) {
|
||||
case 'get_tag_agents':
|
||||
$id_tag = get_parameter('id_tag');
|
||||
$id_user = get_parameter('id_user');
|
||||
$keys_prefix = get_parameter('keys_prefix');
|
||||
$only_meta = get_parameter('only_meta');
|
||||
$agent_search = get_parameter('agent_search');
|
||||
$assigned_server = get_parameter('assigned_server');
|
||||
$show_void_agents = get_parameter('show_void_agents', false);
|
||||
$no_filter_tag = get_parameter('no_filter_tag', false);
|
||||
echo wizard_get_tag_agents($id_tag, $id_user, $keys_prefix, $agent_search, $only_meta, $assigned_server, $show_void_agents, $no_filter_tag);
|
||||
break;
|
||||
}
|
||||
|
||||
function wizard_get_tag_agents($id_tag, $id_user, $keys_prefix, $agent_search, $only_meta, $assigned_server, $show_void_agents, $no_filter_tag) {
|
||||
global $config;
|
||||
|
||||
$strict_user = db_get_value('strict_acl', 'tusuario', 'id_user', $config['id_user']);
|
||||
$acltags = tags_get_user_module_and_tags($config['id_user']);
|
||||
|
||||
$filter['search'] = $agent_search;
|
||||
$filter['show_void_agents'] = $show_void_agents;
|
||||
|
||||
|
||||
$fields = array ('tagente.id_agente', 'tagente.nombre');
|
||||
|
||||
$agents = tags_get_all_user_agents ($id_tag, $id_user, $acltags, $filter, $fields, false, $strict_user);
|
||||
|
||||
// Add keys prefix
|
||||
if (!empty($agents)) {
|
||||
if ($keys_prefix !== "") {
|
||||
foreach($agents as $k => $v) {
|
||||
$agents_aux[$keys_prefix . $k] = $v;
|
||||
//unset($agents[$k]);
|
||||
}
|
||||
}
|
||||
$agents = $agents_aux;
|
||||
}
|
||||
|
||||
echo json_encode ($agents);
|
||||
return;
|
||||
}
|
||||
?>
|
|
@ -114,7 +114,8 @@ function agents_create_agent ($name, $id_group, $interval, $ip_address, $values
|
|||
* @return array All simple alerts defined for an agent. Empty array if no
|
||||
* alerts found.
|
||||
*/
|
||||
function agents_get_alerts_simple ($id_agent = false, $filter = '', $options = false, $where = '', $allModules = false, $orderby = false, $idGroup = false, $count = false, $strict_user = false, $tag = false) {
|
||||
function agents_get_alerts_simple ($id_agent = false, $filter = '', $options = false, $where = '',
|
||||
$allModules = false, $orderby = false, $idGroup = false, $count = false) {
|
||||
global $config;
|
||||
|
||||
if (is_array($filter)) {
|
||||
|
@ -148,10 +149,7 @@ function agents_get_alerts_simple ($id_agent = false, $filter = '', $options = f
|
|||
$filter .= '';
|
||||
break;
|
||||
}
|
||||
|
||||
if ($tag) {
|
||||
$filter .= ' AND (id_agent_module IN (SELECT id_agente_modulo FROM ttag_module WHERE id_tag IN ('.$tag.')))';
|
||||
}
|
||||
|
||||
if (is_array ($options)) {
|
||||
$filter .= db_format_array_where_clause_sql ($options);
|
||||
}
|
||||
|
@ -159,7 +157,7 @@ function agents_get_alerts_simple ($id_agent = false, $filter = '', $options = f
|
|||
if (($id_agent !== false) && ($idGroup !== false)) {
|
||||
$groups = users_get_groups($config["id_user"]);
|
||||
|
||||
//$where_tags = tags_get_acl_tags($config['id_user'], $groups, 'AR', 'module_condition', 'AND', 'tagente_modulo');
|
||||
$where_tags = tags_get_acl_tags($config['id_user'], $groups, 'AR', 'module_condition', 'AND', 'tagente_modulo');
|
||||
if ($idGroup != 0) { //All group
|
||||
$subQuery = 'SELECT id_agente_modulo
|
||||
FROM tagente_modulo
|
||||
|
@ -170,15 +168,12 @@ function agents_get_alerts_simple ($id_agent = false, $filter = '', $options = f
|
|||
FROM tagente_modulo WHERE delete_pending = 0';
|
||||
}
|
||||
|
||||
if ($strict_user) {
|
||||
$where_tags = tags_get_acl_tags($config['id_user'], $groups, 'AR', 'module_condition', 'AND', 'tagente_modulo');
|
||||
// If there are any errors add imposible condition
|
||||
if(in_array($where_tags, array(ERR_WRONG_PARAMETERS, ERR_ACL))) {
|
||||
$subQuery .= ' AND 1 = 0';
|
||||
}
|
||||
else {
|
||||
$subQuery .= $where_tags;
|
||||
}
|
||||
// If there are any errors add imposible condition
|
||||
if(in_array($where_tags, array(ERR_WRONG_PARAMETERS, ERR_ACL))) {
|
||||
$subQuery .= ' AND 1 = 0';
|
||||
}
|
||||
else {
|
||||
$subQuery .= $where_tags;
|
||||
}
|
||||
}
|
||||
else if ($id_agent === false) {
|
||||
|
|
|
@ -1521,8 +1521,8 @@ function get_alert_fires_in_period ($id_alert_module, $period, $date = 0) {
|
|||
*/
|
||||
function get_group_alerts($id_group, $filter = '', $options = false,
|
||||
$where = '', $allModules = false, $orderby = false,
|
||||
$idGroup = false, $count = false, $strict_user = false, $tag = false) {
|
||||
|
||||
$idGroup = false, $count = false) {
|
||||
|
||||
global $config;
|
||||
|
||||
$group_query = '';
|
||||
|
@ -1561,20 +1561,18 @@ function get_group_alerts($id_group, $filter = '', $options = false,
|
|||
$filter .= '';
|
||||
break;
|
||||
}
|
||||
|
||||
if ($tag) {
|
||||
$filter .= ' AND (id_agent_module IN (SELECT id_agente_modulo FROM ttag_module WHERE id_tag IN ('.$tag.')))';
|
||||
}
|
||||
|
||||
if (is_array ($options)) {
|
||||
$filter .= db_format_array_where_clause_sql ($options);
|
||||
}
|
||||
|
||||
|
||||
if ($id_group !== false) {
|
||||
$groups = users_get_groups($config["id_user"], "AR");
|
||||
|
||||
//$where_tags = tags_get_acl_tags($config['id_user'], array_keys($groups), 'AR', 'module_condition', 'AND', 'tagente_modulo');
|
||||
|
||||
$groups = users_get_groups($config["id_user"]);
|
||||
|
||||
$where_tags = tags_get_acl_tags($config['id_user'],
|
||||
array_keys($groups), 'AR', 'module_condition', 'AND', 'tagente_modulo');
|
||||
|
||||
if ($id_group != 0) {
|
||||
if (is_array($id_group)) {
|
||||
if (in_array(0, $id_group)) {
|
||||
|
@ -1611,23 +1609,13 @@ function get_group_alerts($id_group, $filter = '', $options = false,
|
|||
$subQuery = 'SELECT id_agente_modulo
|
||||
FROM tagente_modulo WHERE delete_pending = 0';
|
||||
}
|
||||
|
||||
if ($strict_user) {
|
||||
$groups = users_get_groups($config["id_user"]);
|
||||
|
||||
if ($idGroup !== 0) {
|
||||
$where_tags = tags_get_acl_tags($config['id_user'], $idGroup, 'AR', 'module_condition', 'AND', 'tagente_modulo', true, array(), true);
|
||||
} else {
|
||||
$where_tags = tags_get_acl_tags($config['id_user'], array_keys($groups), 'AR', 'module_condition', 'AND', 'tagente_modulo', true, array(), true);
|
||||
}
|
||||
|
||||
// If there are any errors add imposible condition
|
||||
if (in_array($where_tags, array(ERR_WRONG_PARAMETERS, ERR_ACL))) {
|
||||
$subQuery .= ' AND 1 = 0';
|
||||
}
|
||||
else {
|
||||
$subQuery .= $where_tags;
|
||||
}
|
||||
// If there are any errors add imposible condition
|
||||
if (in_array($where_tags, array(ERR_WRONG_PARAMETERS, ERR_ACL))) {
|
||||
$subQuery .= ' AND 1 = 0';
|
||||
}
|
||||
else {
|
||||
$subQuery .= $where_tags;
|
||||
}
|
||||
}
|
||||
else {
|
||||
|
|
|
@ -1125,7 +1125,7 @@ function groups_create_group($group_name, $rest_values){
|
|||
|
||||
// Get agents NOT INIT
|
||||
|
||||
function groups_agent_not_init ($group_array, $strict_user = false, $id_group_strict = false) {
|
||||
function groups_agent_not_init ($group_array) {
|
||||
|
||||
// If there are not groups to query, we jump to nextone
|
||||
|
||||
|
@ -1140,28 +1140,14 @@ function groups_agent_not_init ($group_array, $strict_user = false, $id_group_st
|
|||
$group_clause = implode (",", $group_array);
|
||||
$group_clause = "(" . $group_clause . ")";
|
||||
|
||||
if ($strict_user) {
|
||||
$tags_clause = " AND tagente.id_agente IN (SELECT id_agente FROM tagente_modulo
|
||||
WHERE id_agente_modulo NOT IN (SELECT id_agente_modulo FROM ttag_module))";
|
||||
$sql = "SELECT COUNT(*) FROM tagente WHERE tagente.disabled=0
|
||||
AND id_grupo=$id_group_strict
|
||||
AND critical_count = 0
|
||||
AND warning_count = 0
|
||||
AND unknown_count = 0
|
||||
AND (notinit_count > 0 OR total_count = 0)
|
||||
$tags_clause";
|
||||
|
||||
$count = db_get_sql ($sql);
|
||||
} else {
|
||||
$count = db_get_sql ("SELECT COUNT(*)
|
||||
FROM tagente
|
||||
WHERE disabled = 0
|
||||
AND critical_count = 0
|
||||
AND warning_count = 0
|
||||
AND unknown_count = 0
|
||||
AND (notinit_count > 0 OR total_count = 0)
|
||||
AND id_grupo IN $group_clause");
|
||||
}
|
||||
$count = db_get_sql ("SELECT COUNT(*)
|
||||
FROM tagente
|
||||
WHERE disabled = 0
|
||||
AND critical_count = 0
|
||||
AND warning_count = 0
|
||||
AND unknown_count = 0
|
||||
AND (notinit_count > 0 OR total_count = 0)
|
||||
AND id_grupo IN $group_clause");
|
||||
|
||||
return $count > 0 ? $count : 0;
|
||||
}
|
||||
|
@ -1169,7 +1155,7 @@ function groups_agent_not_init ($group_array, $strict_user = false, $id_group_st
|
|||
|
||||
// Get unknown agents by using the status code in modules.
|
||||
|
||||
function groups_agent_unknown ($group_array, $strict_user = false, $id_group_strict = false) {
|
||||
function groups_agent_unknown ($group_array) {
|
||||
|
||||
if (empty ($group_array)) {
|
||||
return 0;
|
||||
|
@ -1181,24 +1167,12 @@ function groups_agent_unknown ($group_array, $strict_user = false, $id_group_str
|
|||
$group_clause = implode (",", $group_array);
|
||||
$group_clause = "(" . $group_clause . ")";
|
||||
|
||||
if ($strict_user) {
|
||||
$tags_clause = " AND tagente.id_agente IN (SELECT id_agente FROM tagente_modulo
|
||||
WHERE id_agente_modulo NOT IN (SELECT id_agente_modulo FROM ttag_module))";
|
||||
$sql = "SELECT COUNT(*) FROM tagente WHERE tagente.disabled=0
|
||||
AND id_grupo=$id_group_strict
|
||||
AND critical_count=0
|
||||
AND warning_count=0 AND unknown_count>0
|
||||
$tags_clause";
|
||||
|
||||
$count = db_get_sql ($sql);
|
||||
} else {
|
||||
$count = db_get_sql ("SELECT COUNT(*) FROM tagente WHERE tagente.disabled=0 AND critical_count=0 AND warning_count=0 AND unknown_count>0 AND id_grupo IN $group_clause");
|
||||
}
|
||||
$count = db_get_sql ("SELECT COUNT(*) FROM tagente WHERE tagente.disabled=0 AND critical_count=0 AND warning_count=0 AND unknown_count>0 AND id_grupo IN $group_clause");
|
||||
|
||||
return $count > 0 ? $count : 0;
|
||||
}
|
||||
|
||||
function groups_agent_total($group_array, $strict_user = false, $id_group_strict = false) {
|
||||
function groups_agent_total($group_array) {
|
||||
|
||||
if (empty ($group_array)) {
|
||||
return 0;
|
||||
|
@ -1210,30 +1184,19 @@ function groups_agent_total($group_array, $strict_user = false, $id_group_strict
|
|||
$group_clause = implode (",", $group_array);
|
||||
$group_clause = "(" . $group_clause . ")";
|
||||
|
||||
if ($strict_user) {
|
||||
|
||||
$tags_clause = " AND tagente.id_agente IN (SELECT id_agente FROM tagente_modulo
|
||||
WHERE id_agente_modulo NOT IN (SELECT id_agente_modulo FROM ttag_module))";
|
||||
$sql = "SELECT COUNT(*) FROM tagente
|
||||
WHERE tagente.disabled = 0
|
||||
AND id_grupo = ".$id_group_strict .
|
||||
$tags_clause;
|
||||
|
||||
$count = db_get_sql($sql);
|
||||
|
||||
} else {
|
||||
$count = db_get_sql ("SELECT COUNT(*)
|
||||
$count = db_get_sql ("SELECT COUNT(*)
|
||||
FROM tagente
|
||||
WHERE tagente.disabled = 0
|
||||
AND id_grupo IN $group_clause");
|
||||
}
|
||||
AND id_grupo IN $group_clause");
|
||||
|
||||
|
||||
|
||||
return $count > 0 ? $count : 0;
|
||||
}
|
||||
|
||||
// Get ok agents by using the status code in modules.
|
||||
|
||||
function groups_agent_ok ($group_array, $strict_user = false, $id_group_strict = false) {
|
||||
function groups_agent_ok ($group_array) {
|
||||
|
||||
if (empty ($group_array)) {
|
||||
return 0;
|
||||
|
@ -1246,30 +1209,179 @@ function groups_agent_ok ($group_array, $strict_user = false, $id_group_strict =
|
|||
$group_clause = implode (",", $group_array);
|
||||
$group_clause = "(" . $group_clause . ")";
|
||||
|
||||
if ($strict_user) {
|
||||
$tags_clause = " AND tagente.id_agente IN (SELECT id_agente FROM tagente_modulo
|
||||
WHERE id_agente_modulo NOT IN (SELECT id_agente_modulo FROM ttag_module))";
|
||||
$sql = "SELECT COUNT(*) FROM tagente WHERE tagente.disabled=0
|
||||
AND id_grupo=$id_group_strict
|
||||
AND critical_count=0
|
||||
AND warning_count=0 AND normal_count = total_count
|
||||
$tags_clause";
|
||||
|
||||
$count = db_get_sql ($sql);
|
||||
} else {
|
||||
$count = db_get_sql ("SELECT COUNT(*)
|
||||
FROM tagente
|
||||
WHERE tagente.disabled = 0
|
||||
AND normal_count = total_count
|
||||
AND id_grupo IN $group_clause");
|
||||
}
|
||||
|
||||
$count = db_get_sql ("SELECT COUNT(*)
|
||||
FROM tagente
|
||||
WHERE tagente.disabled = 0
|
||||
AND normal_count = total_count
|
||||
AND id_grupo IN $group_clause");
|
||||
|
||||
|
||||
|
||||
return $count > 0 ? $count : 0;
|
||||
}
|
||||
|
||||
// Get critical agents by using the status code in modules.
|
||||
|
||||
function groups_agent_critical ($group_array, $strict_user = false, $id_group_strict = false) {
|
||||
function groups_agent_critical ($group_array) {
|
||||
|
||||
if (empty ($group_array)) {
|
||||
return 0;
|
||||
|
||||
}
|
||||
else if (!is_array ($group_array)) {
|
||||
$group_array = array($group_array);
|
||||
}
|
||||
|
||||
$group_clause = implode (",", $group_array);
|
||||
$group_clause = "(" . $group_clause . ")";
|
||||
|
||||
//TODO REVIEW ORACLE AND POSTGRES
|
||||
$count = db_get_sql ("SELECT COUNT(*) FROM tagente WHERE tagente.disabled=0 AND critical_count>0 AND id_grupo IN $group_clause");
|
||||
|
||||
return $count > 0 ? $count : 0;
|
||||
}
|
||||
|
||||
// Get warning agents by using the status code in modules.
|
||||
|
||||
function groups_agent_warning ($group_array) {
|
||||
|
||||
if (empty ($group_array)) {
|
||||
return 0;
|
||||
|
||||
}
|
||||
else if (!is_array ($group_array)) {
|
||||
$group_array = array($group_array);
|
||||
}
|
||||
|
||||
$group_clause = implode (",", $group_array);
|
||||
$group_clause = "(" . $group_clause . ")";
|
||||
|
||||
$count = db_get_sql ("SELECT COUNT(*) FROM tagente WHERE tagente.disabled=0 AND critical_count=0 AND warning_count>0 AND id_grupo IN $group_clause");
|
||||
|
||||
return $count > 0 ? $count : 0;
|
||||
}
|
||||
|
||||
|
||||
// Get monitor NOT INIT, except disabled AND async modules
|
||||
|
||||
function groups_monitor_not_init ($group_array) {
|
||||
|
||||
// If there are not groups to query, we jump to nextone
|
||||
|
||||
if (empty ($group_array)) {
|
||||
return 0;
|
||||
|
||||
}
|
||||
else if (!is_array ($group_array)) {
|
||||
$group_array = array($group_array);
|
||||
}
|
||||
|
||||
$group_clause = implode (",", $group_array);
|
||||
$group_clause = "(" . $group_clause . ")";
|
||||
|
||||
//TODO REVIEW ORACLE AND POSTGRES
|
||||
$count = db_get_sql ("SELECT SUM(notinit_count) FROM tagente WHERE disabled = 0 AND id_grupo IN $group_clause");
|
||||
|
||||
return $count > 0 ? $count : 0;
|
||||
}
|
||||
|
||||
// Get monitor OK, except disabled and non-init
|
||||
|
||||
function groups_monitor_ok ($group_array) {
|
||||
|
||||
// If there are not groups to query, we jump to nextone
|
||||
|
||||
if (empty ($group_array)) {
|
||||
return 0;
|
||||
|
||||
}
|
||||
else if (!is_array ($group_array)) {
|
||||
$group_array = array($group_array);
|
||||
}
|
||||
|
||||
$group_clause = implode (",", $group_array);
|
||||
$group_clause = "(" . $group_clause . ")";
|
||||
|
||||
//TODO REVIEW ORACLE AND POSTGRES
|
||||
$count = db_get_sql ("SELECT SUM(normal_count) FROM tagente WHERE disabled = 0 AND id_grupo IN $group_clause");
|
||||
|
||||
return $count > 0 ? $count : 0;
|
||||
}
|
||||
|
||||
// Get monitor CRITICAL, except disabled and non-init
|
||||
|
||||
function groups_monitor_critical ($group_array) {
|
||||
|
||||
// If there are not groups to query, we jump to nextone
|
||||
|
||||
if (empty ($group_array)) {
|
||||
return 0;
|
||||
|
||||
}
|
||||
else if (!is_array ($group_array)) {
|
||||
$group_array = array($group_array);
|
||||
}
|
||||
|
||||
$group_clause = implode (",", $group_array);
|
||||
$group_clause = "(" . $group_clause . ")";
|
||||
|
||||
//TODO REVIEW ORACLE AND POSTGRES
|
||||
$count = db_get_sql ("SELECT SUM(critical_count) FROM tagente WHERE disabled = 0 AND id_grupo IN $group_clause");
|
||||
|
||||
return $count > 0 ? $count : 0;
|
||||
}
|
||||
|
||||
// Get monitor WARNING, except disabled and non-init
|
||||
|
||||
function groups_monitor_warning ($group_array) {
|
||||
|
||||
// If there are not groups to query, we jump to nextone
|
||||
|
||||
if (empty ($group_array)) {
|
||||
return 0;
|
||||
|
||||
}
|
||||
else if (!is_array ($group_array)) {
|
||||
$group_array = array($group_array);
|
||||
}
|
||||
|
||||
$group_clause = implode (",", $group_array);
|
||||
$group_clause = "(" . $group_clause . ")";
|
||||
|
||||
//TODO REVIEW ORACLE AND POSTGRES
|
||||
$count = db_get_sql ("SELECT SUM(warning_count) FROM tagente WHERE disabled = 0 AND id_grupo IN $group_clause");
|
||||
|
||||
return $count > 0 ? $count : 0;
|
||||
}
|
||||
|
||||
// Get monitor UNKNOWN, except disabled and non-init
|
||||
|
||||
function groups_monitor_unknown ($group_array) {
|
||||
|
||||
// If there are not groups to query, we jump to nextone
|
||||
|
||||
if (empty ($group_array)) {
|
||||
return 0;
|
||||
|
||||
}
|
||||
else if (!is_array ($group_array)) {
|
||||
$group_array = array($group_array);
|
||||
}
|
||||
|
||||
$group_clause = implode (",", $group_array);
|
||||
$group_clause = "(" . $group_clause . ")";
|
||||
|
||||
//TODO REVIEW ORACLE AND POSTGRES
|
||||
$count = db_get_sql ("SELECT SUM(unknown_count) FROM tagente WHERE disabled = 0 AND id_grupo IN $group_clause");
|
||||
|
||||
return $count > 0 ? $count : 0;
|
||||
}
|
||||
|
||||
// Get alerts defined for a given group, except disabled
|
||||
|
||||
function groups_monitor_alerts ($group_array) {
|
||||
|
||||
// If there are not groups to query, we jump to nextone
|
||||
|
||||
if (empty ($group_array)) {
|
||||
return 0;
|
||||
|
@ -1284,281 +1396,18 @@ function groups_agent_critical ($group_array, $strict_user = false, $id_group_st
|
|||
|
||||
//TODO REVIEW ORACLE AND POSTGRES
|
||||
|
||||
if ($strict_user) {
|
||||
$tags_clause = " AND tagente.id_agente IN (SELECT id_agente FROM tagente_modulo
|
||||
WHERE id_agente_modulo NOT IN (SELECT id_agente_modulo FROM ttag_module))";
|
||||
$sql = "SELECT COUNT(*) FROM tagente WHERE tagente.disabled=0
|
||||
AND id_grupo=$id_group_strict
|
||||
AND critical_count>0
|
||||
$tags_clause";
|
||||
|
||||
$count = db_get_sql ($sql);
|
||||
} else {
|
||||
$count = db_get_sql ("SELECT COUNT(*) FROM tagente WHERE tagente.disabled=0 AND critical_count>0 AND id_grupo IN $group_clause");
|
||||
}
|
||||
|
||||
return $count > 0 ? $count : 0;
|
||||
}
|
||||
|
||||
// Get warning agents by using the status code in modules.
|
||||
|
||||
function groups_agent_warning ($group_array, $strict_user = false, $id_group_strict = false) {
|
||||
|
||||
if (empty ($group_array)) {
|
||||
return 0;
|
||||
|
||||
}
|
||||
else if (!is_array ($group_array)) {
|
||||
$group_array = array($group_array);
|
||||
}
|
||||
|
||||
$group_clause = implode (",", $group_array);
|
||||
$group_clause = "(" . $group_clause . ")";
|
||||
|
||||
if ($strict_user) {
|
||||
$tags_clause = " AND tagente.id_agente IN (SELECT id_agente FROM tagente_modulo
|
||||
WHERE id_agente_modulo NOT IN (SELECT id_agente_modulo FROM ttag_module))";
|
||||
$sql = "SELECT COUNT(*) FROM tagente WHERE tagente.disabled=0
|
||||
AND id_grupo=$id_group_strict
|
||||
AND critical_count=0
|
||||
AND warning_count>0
|
||||
$tags_clause";
|
||||
|
||||
$count = db_get_sql ($sql);
|
||||
} else {
|
||||
$count = db_get_sql ("SELECT COUNT(*) FROM tagente WHERE tagente.disabled=0 AND critical_count=0 AND warning_count>0 AND id_grupo IN $group_clause");
|
||||
}
|
||||
|
||||
return $count > 0 ? $count : 0;
|
||||
}
|
||||
|
||||
|
||||
// Get monitor NOT INIT, except disabled AND async modules
|
||||
|
||||
function groups_monitor_not_init ($group_array, $strict_user = false, $id_group_strict = false) {
|
||||
|
||||
// If there are not groups to query, we jump to nextone
|
||||
|
||||
if (empty ($group_array)) {
|
||||
return 0;
|
||||
|
||||
}
|
||||
else if (!is_array ($group_array)) {
|
||||
$group_array = array($group_array);
|
||||
}
|
||||
|
||||
$group_clause = implode (",", $group_array);
|
||||
$group_clause = "(" . $group_clause . ")";
|
||||
|
||||
if ($strict_user) {
|
||||
|
||||
$tags_clause = "AND tagente_modulo.id_agente_modulo NOT IN (SELECT id_agente_modulo FROM ttag_module)";
|
||||
|
||||
$count = db_get_sql ("SELECT COUNT(*) FROM tagente_modulo, tagente_estado
|
||||
WHERE tagente_modulo.id_agente_modulo=tagente_estado.id_agente_modulo
|
||||
AND tagente_estado.estado = 5
|
||||
AND tagente_modulo.id_agente IN ( SELECT id_agente FROM tagente
|
||||
WHERE disabled = 0
|
||||
AND tagente.id_grupo = $id_group_strict
|
||||
) ". $tags_clause);
|
||||
|
||||
} else {
|
||||
//TODO REVIEW ORACLE AND POSTGRES
|
||||
$count = db_get_sql ("SELECT SUM(notinit_count) FROM tagente WHERE disabled = 0 AND id_grupo IN $group_clause");
|
||||
}
|
||||
|
||||
return $count > 0 ? $count : 0;
|
||||
}
|
||||
|
||||
// Get monitor OK, except disabled and non-init
|
||||
|
||||
function groups_monitor_ok ($group_array, $strict_user = false, $id_group_strict = false) {
|
||||
|
||||
// If there are not groups to query, we jump to nextone
|
||||
|
||||
if (empty ($group_array)) {
|
||||
return 0;
|
||||
|
||||
}
|
||||
else if (!is_array ($group_array)) {
|
||||
$group_array = array($group_array);
|
||||
}
|
||||
|
||||
$group_clause = implode (",", $group_array);
|
||||
$group_clause = "(" . $group_clause . ")";
|
||||
|
||||
|
||||
if ($strict_user) {
|
||||
$tags_clause = "AND tagente_modulo.id_agente_modulo NOT IN (SELECT id_agente_modulo FROM ttag_module)";
|
||||
|
||||
$count = db_get_sql ("SELECT COUNT(*) FROM tagente_modulo, tagente_estado
|
||||
WHERE tagente_modulo.id_agente_modulo=tagente_estado.id_agente_modulo
|
||||
AND tagente_estado.estado = 0
|
||||
AND tagente_modulo.id_agente IN ( SELECT id_agente FROM tagente
|
||||
WHERE disabled = 0
|
||||
AND tagente.id_grupo = $id_group_strict
|
||||
) ". $tags_clause);
|
||||
} else {
|
||||
//TODO REVIEW ORACLE AND POSTGRES
|
||||
$count = db_get_sql ("SELECT SUM(normal_count) FROM tagente WHERE disabled = 0 AND id_grupo IN $group_clause");
|
||||
}
|
||||
|
||||
return $count > 0 ? $count : 0;
|
||||
}
|
||||
|
||||
// Get monitor CRITICAL, except disabled and non-init
|
||||
|
||||
function groups_monitor_critical ($group_array, $strict_user = false, $id_group_strict = false) {
|
||||
|
||||
// If there are not groups to query, we jump to nextone
|
||||
|
||||
if (empty ($group_array)) {
|
||||
return 0;
|
||||
|
||||
}
|
||||
else if (!is_array ($group_array)) {
|
||||
$group_array = array($group_array);
|
||||
}
|
||||
|
||||
$group_clause = implode (",", $group_array);
|
||||
$group_clause = "(" . $group_clause . ")";
|
||||
|
||||
|
||||
if ($strict_user) {
|
||||
|
||||
$tags_clause = "AND tagente_modulo.id_agente_modulo NOT IN (SELECT id_agente_modulo FROM ttag_module)";
|
||||
$count = db_get_sql ("SELECT COUNT(*) FROM tagente_modulo, tagente_estado
|
||||
WHERE tagente_modulo.id_agente_modulo=tagente_estado.id_agente_modulo
|
||||
AND tagente_estado.estado = 1
|
||||
AND tagente_modulo.id_agente IN ( SELECT id_agente FROM tagente
|
||||
WHERE disabled = 0
|
||||
AND tagente.id_grupo = $id_group_strict
|
||||
) ". $tags_clause);
|
||||
} else {
|
||||
//TODO REVIEW ORACLE AND POSTGRES
|
||||
$count = db_get_sql ("SELECT SUM(critical_count) FROM tagente WHERE disabled = 0 AND id_grupo IN $group_clause");
|
||||
}
|
||||
|
||||
return $count > 0 ? $count : 0;
|
||||
}
|
||||
|
||||
// Get monitor WARNING, except disabled and non-init
|
||||
|
||||
function groups_monitor_warning ($group_array, $strict_user = false, $id_group_strict = false) {
|
||||
|
||||
// If there are not groups to query, we jump to nextone
|
||||
|
||||
if (empty ($group_array)) {
|
||||
return 0;
|
||||
|
||||
}
|
||||
else if (!is_array ($group_array)) {
|
||||
$group_array = array($group_array);
|
||||
}
|
||||
|
||||
$group_clause = implode (",", $group_array);
|
||||
$group_clause = "(" . $group_clause . ")";
|
||||
|
||||
if ($strict_user) {
|
||||
|
||||
$tags_clause = "AND tagente_modulo.id_agente_modulo NOT IN (SELECT id_agente_modulo FROM ttag_module)";
|
||||
$count = db_get_sql ("SELECT COUNT(*) FROM tagente_modulo, tagente_estado
|
||||
WHERE tagente_modulo.id_agente_modulo=tagente_estado.id_agente_modulo
|
||||
AND tagente_estado.estado = 2
|
||||
AND tagente_modulo.id_agente IN ( SELECT id_agente FROM tagente
|
||||
WHERE disabled = 0
|
||||
AND tagente.id_grupo = $id_group_strict
|
||||
) ". $tags_clause);
|
||||
} else {
|
||||
//TODO REVIEW ORACLE AND POSTGRES
|
||||
$count = db_get_sql ("SELECT SUM(warning_count) FROM tagente WHERE disabled = 0 AND id_grupo IN $group_clause");
|
||||
}
|
||||
|
||||
return $count > 0 ? $count : 0;
|
||||
}
|
||||
|
||||
// Get monitor UNKNOWN, except disabled and non-init
|
||||
|
||||
function groups_monitor_unknown ($group_array, $strict_user = false, $id_group_strict = false) {
|
||||
|
||||
// If there are not groups to query, we jump to nextone
|
||||
|
||||
if (empty ($group_array)) {
|
||||
return 0;
|
||||
|
||||
}
|
||||
else if (!is_array ($group_array)) {
|
||||
$group_array = array($group_array);
|
||||
}
|
||||
|
||||
$group_clause = implode (",", $group_array);
|
||||
$group_clause = "(" . $group_clause . ")";
|
||||
|
||||
if ($strict_user) {
|
||||
|
||||
$tags_clause = "AND tagente_modulo.id_agente_modulo NOT IN (SELECT id_agente_modulo FROM ttag_module)";
|
||||
$count = db_get_sql ("SELECT COUNT(*) FROM tagente_modulo, tagente_estado
|
||||
WHERE tagente_modulo.id_agente_modulo=tagente_estado.id_agente_modulo
|
||||
AND tagente_estado.estado = 3
|
||||
AND tagente_modulo.id_agente IN ( SELECT id_agente FROM tagente
|
||||
WHERE disabled = 0
|
||||
AND tagente.id_grupo = $id_group_strict
|
||||
) ". $tags_clause);
|
||||
} else {
|
||||
//TODO REVIEW ORACLE AND POSTGRES
|
||||
$count = db_get_sql ("SELECT SUM(unknown_count) FROM tagente WHERE disabled = 0 AND id_grupo IN $group_clause");
|
||||
}
|
||||
|
||||
return $count > 0 ? $count : 0;
|
||||
}
|
||||
|
||||
// Get alerts defined for a given group, except disabled
|
||||
|
||||
function groups_monitor_alerts ($group_array, $strict_user = false, $id_group_strict = false) {
|
||||
|
||||
// If there are not groups to query, we jump to nextone
|
||||
|
||||
if (empty ($group_array)) {
|
||||
return 0;
|
||||
|
||||
}
|
||||
else if (!is_array ($group_array)) {
|
||||
$group_array = array($group_array);
|
||||
}
|
||||
|
||||
$group_clause = implode (",", $group_array);
|
||||
$group_clause = "(" . $group_clause . ")";
|
||||
|
||||
if ($strict_user) {
|
||||
|
||||
$tags_clause = "AND tagente_modulo.id_agente_modulo NOT IN (SELECT id_agente_modulo FROM ttag_module)";
|
||||
$sql = "SELECT COUNT(talert_template_modules.id)
|
||||
FROM talert_template_modules, tagente_modulo, tagente_estado, tagente
|
||||
WHERE tagente.id_grupo = $id_group_strict AND tagente_modulo.id_agente = tagente.id_agente
|
||||
AND tagente_estado.id_agente_modulo = tagente_modulo.id_agente_modulo
|
||||
AND tagente_modulo.disabled = 0 AND tagente.disabled = 0
|
||||
AND talert_template_modules.disabled = 0
|
||||
AND talert_template_modules.id_agent_module = tagente_modulo.id_agente_modulo
|
||||
$tags_clause";
|
||||
$count = db_get_sql ($sql);
|
||||
return $count;
|
||||
|
||||
} else {
|
||||
|
||||
//TODO REVIEW ORACLE AND POSTGRES
|
||||
return db_get_sql ("SELECT COUNT(talert_template_modules.id)
|
||||
FROM talert_template_modules, tagente_modulo, tagente_estado, tagente
|
||||
WHERE tagente.id_grupo IN $group_clause AND tagente_modulo.id_agente = tagente.id_agente
|
||||
AND tagente_estado.id_agente_modulo = tagente_modulo.id_agente_modulo
|
||||
AND tagente_modulo.disabled = 0 AND tagente.disabled = 0
|
||||
AND talert_template_modules.disabled = 0
|
||||
AND talert_template_modules.id_agent_module = tagente_modulo.id_agente_modulo");
|
||||
}
|
||||
return db_get_sql ("SELECT COUNT(talert_template_modules.id)
|
||||
FROM talert_template_modules, tagente_modulo, tagente_estado, tagente
|
||||
WHERE tagente.id_grupo IN $group_clause AND tagente_modulo.id_agente = tagente.id_agente
|
||||
AND tagente_estado.id_agente_modulo = tagente_modulo.id_agente_modulo
|
||||
AND tagente_modulo.disabled = 0 AND tagente.disabled = 0
|
||||
AND talert_template_modules.disabled = 0
|
||||
AND talert_template_modules.id_agent_module = tagente_modulo.id_agente_modulo");
|
||||
}
|
||||
|
||||
// Get alert configured currently FIRED, except disabled
|
||||
|
||||
function groups_monitor_fired_alerts ($group_array, $strict_user = false, $id_group_strict = false) {
|
||||
function groups_monitor_fired_alerts ($group_array) {
|
||||
|
||||
// If there are not groups to query, we jump to nextone
|
||||
|
||||
|
@ -1573,33 +1422,16 @@ function groups_monitor_fired_alerts ($group_array, $strict_user = false, $id_gr
|
|||
$group_clause = implode (",", $group_array);
|
||||
$group_clause = "(" . $group_clause . ")";
|
||||
|
||||
if ($strict_user) {
|
||||
|
||||
$tags_clause = "AND tagente_modulo.id_agente_modulo NOT IN (SELECT id_agente_modulo FROM ttag_module)";
|
||||
|
||||
$sql = "SELECT COUNT(talert_template_modules.id)
|
||||
//TODO REVIEW ORACLE AND POSTGRES
|
||||
|
||||
return db_get_sql ("SELECT COUNT(talert_template_modules.id)
|
||||
FROM talert_template_modules, tagente_modulo, tagente_estado, tagente
|
||||
WHERE tagente.id_grupo = $id_group_strict AND tagente_modulo.id_agente = tagente.id_agente
|
||||
WHERE tagente.id_grupo IN $group_clause AND tagente_modulo.id_agente = tagente.id_agente
|
||||
AND tagente_estado.id_agente_modulo = tagente_modulo.id_agente_modulo
|
||||
AND tagente_modulo.disabled = 0 AND tagente.disabled = 0
|
||||
AND talert_template_modules.disabled = 0
|
||||
AND talert_template_modules.id_agent_module = tagente_modulo.id_agente_modulo
|
||||
AND times_fired > 0 ".$tags_clause;
|
||||
|
||||
$count = db_get_sql ($sql);
|
||||
return $count;
|
||||
} else {
|
||||
//TODO REVIEW ORACLE AND POSTGRES
|
||||
return db_get_sql ("SELECT COUNT(talert_template_modules.id)
|
||||
FROM talert_template_modules, tagente_modulo, tagente_estado, tagente
|
||||
WHERE tagente.id_grupo IN $group_clause AND tagente_modulo.id_agente = tagente.id_agente
|
||||
AND tagente_estado.id_agente_modulo = tagente_modulo.id_agente_modulo
|
||||
AND tagente_modulo.disabled = 0 AND tagente.disabled = 0
|
||||
AND talert_template_modules.disabled = 0
|
||||
AND talert_template_modules.id_agent_module = tagente_modulo.id_agente_modulo
|
||||
AND times_fired > 0");
|
||||
}
|
||||
|
||||
AND times_fired > 0");
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -1798,6 +1630,8 @@ function groups_get_tree(&$groups, $parent = false) {
|
|||
|
||||
return $return;
|
||||
}
|
||||
|
||||
|
||||
function groups_get_all_hierarchy_group ($id_group, $hierarchy = array()) {
|
||||
global $config;
|
||||
|
||||
|
@ -1812,10 +1646,12 @@ function groups_get_all_hierarchy_group ($id_group, $hierarchy = array()) {
|
|||
$propagate = db_get_value('propagate','tgrupo','id_grupo',$parent);
|
||||
|
||||
if ($propagate == 1) {
|
||||
//$childrens_ids_parent = array($parent);
|
||||
$hierarchy[] = $parent;
|
||||
$childrens = groups_get_childrens($parent);
|
||||
if (!empty($childrens)) {
|
||||
foreach ($childrens as $child) {
|
||||
//$childrens_ids_parent[] = (int)$child['id_grupo'];
|
||||
$hierarchy[] = (int)$child['id_grupo'];
|
||||
}
|
||||
}
|
||||
|
@ -1826,325 +1662,4 @@ function groups_get_all_hierarchy_group ($id_group, $hierarchy = array()) {
|
|||
}
|
||||
return $hierarchy;
|
||||
}
|
||||
|
||||
function group_get_data ($id_user = false, $user_strict = false, $acltags, $returnAllGroup = false, $mode = 'group') {
|
||||
global $config;
|
||||
|
||||
if ($id_user == false) {
|
||||
$id_user = $config['id_user'];
|
||||
}
|
||||
|
||||
$user_groups = array();
|
||||
$user_tags = array();
|
||||
foreach ($acltags as $group => $tags) {
|
||||
if ($user_strict) { //Remove groups with tags
|
||||
if ($tags == '') {
|
||||
$groups_without_tags[$group] = $group;
|
||||
}
|
||||
}
|
||||
$user_groups[$group] = groups_get_name($group);
|
||||
if ($tags != '') {
|
||||
$tags_group = explode(',', $tags);
|
||||
|
||||
foreach ($tags_group as $tag) {
|
||||
$user_tags[$tag] = tags_get_name($tag);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ($user_strict) {
|
||||
$user_groups_ids = implode(',',array_keys($groups_without_tags));
|
||||
} else {
|
||||
$user_groups_ids = implode(',',array_keys($acltags));
|
||||
}
|
||||
|
||||
if ($user_groups_ids == '') {
|
||||
$user_groups_ids == -1;
|
||||
}
|
||||
|
||||
switch ($config["dbtype"]) {
|
||||
case "mysql":
|
||||
$list_groups = db_get_all_rows_sql("
|
||||
SELECT *
|
||||
FROM tgrupo
|
||||
WHERE id_grupo IN (" . $user_groups_ids . ")
|
||||
ORDER BY nombre COLLATE utf8_general_ci ASC");
|
||||
|
||||
break;
|
||||
case "postgresql":
|
||||
$list_groups = db_get_all_rows_sql("
|
||||
SELECT *
|
||||
FROM tgrupo
|
||||
WHERE id_grupo IN (" . $user_groups_ids . ")
|
||||
ORDER BY nombre ASC");
|
||||
break;
|
||||
case "oracle":
|
||||
$list_groups = db_get_all_rows_sql("
|
||||
SELECT *
|
||||
FROM tgrupo
|
||||
WHERE id_grupo IN (" . $user_groups_ids . ")
|
||||
ORDER BY nombre COLLATE utf8_general_ci ASC");
|
||||
break;
|
||||
}
|
||||
|
||||
if ($list_groups == false) {
|
||||
$list_groups = array();
|
||||
}
|
||||
|
||||
if ($returnAllGroup) {
|
||||
$i = 1;
|
||||
$list[0]['_id_'] = 0;
|
||||
$list[0]['_name_'] = __('All');
|
||||
} else {
|
||||
$i = 0;
|
||||
}
|
||||
foreach ($list_groups as $key => $item) {
|
||||
$id = $item['id_grupo'];
|
||||
|
||||
if (($config["realtimestats"] == 0) && !$user_strict) {
|
||||
$group_stat = db_get_all_rows_sql ("SELECT *
|
||||
FROM tgroup_stat, tgrupo
|
||||
WHERE tgrupo.id_grupo = tgroup_stat.id_group
|
||||
AND tgroup_stat.id_group = $id
|
||||
ORDER BY nombre");
|
||||
|
||||
$list[$i]['_id_'] = $id;
|
||||
$list[$i]['_name_'] = $item['nombre'];
|
||||
$list[$i]['_iconImg_'] = html_print_image ("images/groups_small/" . groups_get_icon($item['id_grupo']).".png", true, array ("style" => 'vertical-align: middle;'));
|
||||
|
||||
$list[$i]['_agents_unknown_'] = $group_stat[0]["unknown"];
|
||||
$list[$i]['_monitors_alerts_fired_'] = $group_stat[0]["alerts_fired"];
|
||||
$list[$i]['_total_agents_'] = $group_stat[0]["agents"];
|
||||
|
||||
if ($mode == 'tactical') {
|
||||
$list[$i]['_agents_ok_'] = $group_stat[0]["normal"];
|
||||
$list[$i]['_agents_warning_'] = $group_stat[0]["warning"];
|
||||
$list[$i]['_agents_critical_'] = $group_stat[0]["critical"];
|
||||
$list[$i]['_monitors_alerts_'] = $group_stat[0]["alerts"];
|
||||
}
|
||||
|
||||
// This fields are not in database
|
||||
$list[$i]['_monitors_ok_'] = groups_monitor_ok($id, $user_strict, $id);
|
||||
$list[$i]['_monitors_critical_'] = groups_monitor_critical($id, $user_strict, $id);
|
||||
$list[$i]['_monitors_warning_'] = groups_monitor_warning($id, $user_strict, $id);
|
||||
$list[$i]['_monitors_unknown_'] = groups_monitor_unknown($id, $user_strict, $id);
|
||||
$list[$i]['_monitors_not_init_'] = groups_monitor_not_init($id, $user_strict, $id);
|
||||
$list[$i]['_agents_not_init_'] = groups_agent_not_init ($id, $user_strict, $id);
|
||||
|
||||
if ($returnAllGroup) {
|
||||
$list[0]['_agents_unknown_'] += $group_stat[0]["unknown"];
|
||||
$list[0]['_monitors_alerts_fired_'] += $group_stat[0]["alerts_fired"];
|
||||
$list[0]['_total_agents_'] += $group_stat[0]["agents"];
|
||||
$list[0]['_monitors_ok_'] += $list[$i]['_monitors_ok_'];
|
||||
$list[0]['_monitors_critical_'] += $list[$i]['_monitors_critical_'];
|
||||
$list[0]['_monitors_warning_'] += $list[$i]['_monitors_warning_'];
|
||||
$list[0]['_monitors_unknown_'] += $list[$i]['_monitors_unknown_'];
|
||||
$list[0]['_monitors_not_init_'] += $list[$i]['_monitors_not_init_'];
|
||||
$list[0]['_agents_not_init'] += $list[$i]['_agents_not_init'];
|
||||
|
||||
if ($mode == 'tactical') {
|
||||
$list[0]['_agents_ok_'] += $group_stat[0]["normal"];
|
||||
$list[0]['_agents_warning_'] += $group_stat[0]["warning"];
|
||||
$list[0]['_agents_critical_'] += $group_stat[0]["critical"];
|
||||
$list[0]['_monitors_alerts_'] += $group_stat[0]["alerts"];
|
||||
}
|
||||
}
|
||||
|
||||
if ($mode == 'group') {
|
||||
if (! defined ('METACONSOLE')) {
|
||||
if (($list[$i]['_agents_unknown_'] == 0) && ($list[$i]['_monitors_alerts_fired_'] == 0) && ($list[$i]['_total_agents_'] == 0) && ($list[$i]['_monitors_ok_'] == 0) && ($list[$i]['_monitors_critical_'] == 0) && ($list[$i]['_monitors_warning_'] == 0) && ($list[$i]['_monitors_unknown_'] == 0) && ($list[$i]['_monitors_not_init_'] == 0) && ($list[$i]['_agents_not_init_'] == 0)) {
|
||||
unset($list[$i]);
|
||||
}
|
||||
} else {
|
||||
if (($list[$i]['_agents_unknown_'] == 0) && ($list[$i]['_monitors_alerts_fired_'] == 0) && ($list[$i]['_total_agents_'] == 0) && ($list[$i]['_monitors_ok_'] == 0) && ($list[$i]['_monitors_critical_'] == 0) && ($list[$i]['_monitors_warning_'] == 0)) {
|
||||
unset($list[$i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
} else {
|
||||
$list[$i]['_id_'] = $id;
|
||||
$list[$i]['_name_'] = $item['nombre'];
|
||||
$list[$i]['_iconImg_'] = html_print_image ("images/groups_small/" . groups_get_icon($item['id_grupo']).".png", true, array ("style" => 'vertical-align: middle;'));
|
||||
|
||||
$list[$i]['_monitors_ok_'] = groups_monitor_ok($id, $user_strict, $id);
|
||||
$list[$i]['_monitors_critical_'] = groups_monitor_critical($id, $user_strict, $id);
|
||||
$list[$i]['_monitors_warning_'] = groups_monitor_warning($id, $user_strict, $id);
|
||||
$list[$i]['_agents_unknown_'] = groups_agent_unknown ($id, $user_strict, $id);
|
||||
$list[$i]['_monitors_alerts_fired_'] = groups_monitor_fired_alerts ($id, $user_strict, $id);
|
||||
$list[$i]['_total_agents_'] = groups_agent_total ($id, $user_strict, $id);
|
||||
$list[$i]['_monitors_unknown_'] = groups_monitor_unknown($id, $user_strict, $id);
|
||||
$list[$i]['_monitors_not_init_'] = groups_monitor_not_init($id, $user_strict, $id);
|
||||
$list[$i]['_agents_not_init_'] = groups_agent_not_init ($id, $user_strict, $id);
|
||||
|
||||
if ($mode == 'tactical') {
|
||||
$list[$i]['_agents_ok_'] = groups_agent_ok ($id, $user_strict, $id);
|
||||
$list[$i]['_agents_warning_'] = groups_agent_warning ($id, $user_strict, $id);
|
||||
$list[$i]['_agents_critical_'] = groups_agent_critical ($id, $user_strict, $id);
|
||||
$list[$i]['_monitors_alerts_'] = groups_monitor_alerts ($id, $user_strict, $id);
|
||||
}
|
||||
|
||||
if ($returnAllGroup) {
|
||||
$list[0]['_agents_unknown_'] += $list[$i]['_agents_unknown_'];
|
||||
$list[0]['_monitors_alerts_fired_'] += $list[$i]['_monitors_alerts_fired_'];
|
||||
$list[0]['_total_agents_'] += $list[$i]['_total_agents_'];
|
||||
$list[0]['_monitors_ok_'] += $list[$i]['_monitors_ok_'];
|
||||
$list[0]['_monitors_critical_'] += $list[$i]['_monitors_critical_'];
|
||||
$list[0]['_monitors_warning_'] += $list[$i]['_monitors_warning_'];
|
||||
$list[0]['_monitors_unknown_'] += $list[$i]['_monitors_unknown_'];
|
||||
$list[0]['_monitors_not_init_'] = $list[$i]['_monitors_not_init_'];
|
||||
$list[0]['_agents_not_init_'] += $list[$i]['_agents_not_init'];
|
||||
|
||||
if ($mode == 'tactical') {
|
||||
$list[0]['_agents_ok_'] += $list[$i]['_agents_ok_'];
|
||||
$list[0]['_agents_warning_'] += $list[$i]['_agents_warning_'];
|
||||
$list[0]['_agents_critical_'] += $list[$i]['_agents_critical_'];
|
||||
$list[0]['_monitors_alerts_'] += $list[$i]['_monitors_alerts_'];
|
||||
}
|
||||
}
|
||||
|
||||
if ($mode == 'group') {
|
||||
if (! defined ('METACONSOLE')) {
|
||||
if (($list[$i]['_agents_unknown_'] == 0) && ($list[$i]['_monitors_alerts_fired_'] == 0) && ($list[$i]['_total_agents_'] == 0) && ($list[$i]['_monitors_ok_'] == 0) && ($list[$i]['_monitors_critical_'] == 0) && ($list[$i]['_monitors_warning_'] == 0) && ($list[$i]['_monitors_unknown_'] == 0) && ($list[$i]['_monitors_not_init_'] == 0) && ($list[$i]['_agents_not_init_'] == 0)) {
|
||||
unset($list[$i]);
|
||||
}
|
||||
} else {
|
||||
if (($list[$i]['_agents_unknown_'] == 0) && ($list[$i]['_monitors_alerts_fired_'] == 0) && ($list[$i]['_total_agents_'] == 0) && ($list[$i]['_monitors_ok_'] == 0) && ($list[$i]['_monitors_critical_'] == 0) && ($list[$i]['_monitors_warning_'] == 0)) {
|
||||
unset($list[$i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
$i++;
|
||||
}
|
||||
|
||||
if ($user_strict) {
|
||||
foreach ($user_tags as $group_id => $tag_name) {
|
||||
$id = db_get_value('id_tag', 'ttag', 'name', $tag_name);
|
||||
|
||||
$list[$i]['_id_'] = $id;
|
||||
$list[$i]['_name_'] = $tag_name;
|
||||
$list[$i]['_iconImg_'] = html_print_image ("images/tag_red.png", true, array ("style" => 'vertical-align: middle;'));
|
||||
$list[$i]['_is_tag_'] = 1;
|
||||
|
||||
$list[$i]['_total_agents_'] = tags_total_agents ($id, $acltags);
|
||||
$list[$i]['_agents_unknown_'] = tags_get_unknown_agents ($id, $acltags);
|
||||
$list[$i]['_monitors_ok_'] = tags_monitors_ok ($id, $acltags);
|
||||
$list[$i]['_monitors_critical_'] = tags_monitors_critical ($id, $acltags);
|
||||
$list[$i]['_monitors_warning_'] = tags_monitors_warning ($id, $acltags);
|
||||
$list[$i]['_monitors_alerts_fired_'] = tags_monitors_fired_alerts($id, $acltags);
|
||||
|
||||
if ($mode == 'tactical') {
|
||||
$list[$i]['_agents_ok_'] = tags_agent_ok ($id, $acltags);
|
||||
$list[$i]['_agents_warning_'] = tags_agent_warning ($id, $acltags);
|
||||
$list[$i]['_agents_critical_'] = tags_get_critical_agents ($id, $acltags);
|
||||
$list[$i]['_monitors_alerts_'] = tags_get_monitors_alerts ($id, $acltags);
|
||||
}
|
||||
|
||||
|
||||
if ($returnAllGroup) {
|
||||
$list[0]['_agents_unknown_'] += $list[$i]['_agents_unknown_'];
|
||||
$list[0]['_monitors_alerts_fired_'] += $list[$i]['_monitors_alerts_fired_'];
|
||||
$list[0]['_total_agents_'] += $list[$i]['_total_agents_'];
|
||||
$list[0]['_monitors_ok_'] += $list[$i]['_monitors_ok_'];
|
||||
$list[0]['_monitors_critical_'] += $list[$i]['_monitors_critical_'];
|
||||
$list[0]['_monitors_warning_'] += $list[$i]['_monitors_warning_'];
|
||||
$list[0]['_monitors_unknown_'] += $list[$i]['_monitors_unknown_'];
|
||||
$list[0]['_monitors_not_init_'] = $list[$i]['_monitors_not_init_'];
|
||||
|
||||
if ($mode == 'tactical') {
|
||||
$list[0]['_agents_ok_'] += $list[$i]['_agents_ok_'];
|
||||
$list[0]['_agents_warning_'] += $list[$i]['_agents_warning_'];
|
||||
$list[0]['_agents_critical_'] += $list[$i]['_agents_critical_'];
|
||||
$list[0]['_monitors_alerts_'] += $list[$i]['_monitors_alerts_'];
|
||||
}
|
||||
}
|
||||
|
||||
if ($mode == 'group') {
|
||||
if (! defined ('METACONSOLE')) {
|
||||
if (($list[$i]['_agents_unknown_'] == 0) && ($list[$i]['_monitors_alerts_fired_'] == 0) && ($list[$i]['_total_agents_'] == 0) && ($list[$i]['_monitors_ok_'] == 0) && ($list[$i]['_monitors_critical_'] == 0) && ($list[$i]['_monitors_warning_'] == 0) && ($list[$i]['_monitors_unknown_'] == 0) && ($list[$i]['_monitors_not_init_'] == 0) && ($list[$i]['_agents_not_init_'] == 0)) {
|
||||
unset($list[$i]);
|
||||
}
|
||||
} else {
|
||||
if (($list[$i]['_agents_unknown_'] == 0) && ($list[$i]['_monitors_alerts_fired_'] == 0) && ($list[$i]['_total_agents_'] == 0) && ($list[$i]['_monitors_ok_'] == 0) && ($list[$i]['_monitors_critical_'] == 0) && ($list[$i]['_monitors_warning_'] == 0)) {
|
||||
unset($list[$i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
$i++;
|
||||
}
|
||||
}
|
||||
|
||||
return $list;
|
||||
}
|
||||
|
||||
function group_get_groups_list($id_user = false, $user_strict = false, $access = 'AR', $force_group_and_tag = true, $returnAllGroup = false, $mode = 'group') {
|
||||
global $config;
|
||||
|
||||
if ($id_user == false) {
|
||||
$id_user = $config['id_user'];
|
||||
}
|
||||
|
||||
$acltags = tags_get_user_module_and_tags ($id_user, $access, $user_strict);
|
||||
|
||||
if (! defined ('METACONSOLE')) {
|
||||
$result_list = group_get_data ($id_user, $user_strict, $acltags, $returnAllGroup, $mode);
|
||||
return $result_list;
|
||||
} else {
|
||||
$servers = db_get_all_rows_sql ("
|
||||
SELECT *
|
||||
FROM tmetaconsole_setup
|
||||
WHERE disabled = 0");
|
||||
|
||||
if ($servers === false) {
|
||||
$servers = array();
|
||||
}
|
||||
|
||||
$result_list = array ();
|
||||
foreach ($servers as $server) {
|
||||
if (metaconsole_connect($server) != NOERR) {
|
||||
continue;
|
||||
}
|
||||
$server_list = group_get_data ($id_user, $user_strict, $acltags, $returnAllGroup, $mode);
|
||||
|
||||
foreach ($server_list as $server_item) {
|
||||
if (! isset ($result_list[$server_item['_name_']])) {
|
||||
$result_list[$server_item['_name_']] = $server_item;
|
||||
}
|
||||
else {
|
||||
$result_list[$server_item['_name_']]['_monitors_ok_'] += $server_item['_monitors_ok_'];
|
||||
$result_list[$server_item['_name_']]['_monitors_critical_'] += $server_item['_monitors_critical_'];
|
||||
$result_list[$server_item['_name_']]['_monitors_warning_'] += $server_item['_monitors_warning_'];
|
||||
$result_list[$server_item['_name_']]['_agents_unknown_'] += $server_item['_agents_unknown_'];
|
||||
$result_list[$server_item['_name_']]['_total_agents_'] += $server_item['_total_agents_'];
|
||||
$result_list[$server_item['_name_']]['_monitors_alerts_fired_'] += $server_item['_monitors_alerts_fired_'];
|
||||
|
||||
if ($mode == 'tactical') {
|
||||
$result_list[$server_item['_name_']]['_agents_ok_'] += $server_item['_agents_ok_'];
|
||||
$result_list[$server_item['_name_']]['_agents_critical_'] += $server_item['_agents_critical_'];
|
||||
$result_list[$server_item['_name_']]['_agents_warning_'] += $server_item['_agents_warning_'];
|
||||
$result_list[$server_item['_name_']]['_monitors_alerts_'] += $server_item['_monitors_alerts_'];
|
||||
}
|
||||
}
|
||||
}
|
||||
metaconsole_restore_db();
|
||||
|
||||
}
|
||||
|
||||
return $result_list;
|
||||
}
|
||||
}
|
||||
|
||||
function groups_get_group_deep ($id_group) {
|
||||
global $config;
|
||||
$parents = groups_get_parents($id_group, false);
|
||||
|
||||
if (empty($parents)) {
|
||||
$deep = "";
|
||||
} else {
|
||||
$deep = str_repeat(" ", count($parents));
|
||||
}
|
||||
|
||||
return $deep;
|
||||
}
|
||||
?>
|
||||
|
|
|
@ -368,36 +368,13 @@ function html_print_select_groups($id_user = false, $privilege = "AR",
|
|||
$nothing = '', $nothing_value = 0, $return = false,
|
||||
$multiple = false, $sort = true, $class = '', $disabled = false,
|
||||
$style = false, $option_style = false, $id_group = false,
|
||||
$keys_field = 'id_grupo', $strict_user = false) {
|
||||
$keys_field = 'id_grupo') {
|
||||
|
||||
global $config;
|
||||
|
||||
$fields = users_get_groups_for_select($id_user, $privilege,
|
||||
$returnAllGroup, true, $id_group, $keys_field);
|
||||
|
||||
if ($strict_user) {
|
||||
foreach ($fields as $id => $group_name) {
|
||||
$sql = "SELECT tags FROM tusuario_perfil WHERE id_usuario = '$id_user' AND id_grupo = $id";
|
||||
$group_has_tag = db_get_value_sql ($sql);
|
||||
if (!$group_has_tag) {
|
||||
|
||||
$sql_parent = "SELECT parent FROM tgrupo WHERE id_grupo = $id AND propagate = 1";
|
||||
$id_parent = db_get_value_sql($sql_parent);
|
||||
|
||||
if ($id_parent) {
|
||||
$sql_parent_aux = "SELECT tags FROM tusuario_perfil WHERE id_usuario = '$id_user' AND id_grupo = $id_parent";
|
||||
$parent_has_tag = db_get_value_sql ($sql_parent_aux);
|
||||
|
||||
if ($parent_has_tag) {
|
||||
unset($fields[$id]);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
unset($fields[$id]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
$output = html_print_select ($fields, $name, $selected, $script,
|
||||
$nothing, $nothing_value, $return, $multiple, false, $class,
|
||||
$disabled, $style, $option_style);
|
||||
|
@ -1489,13 +1466,22 @@ function html_print_table (&$table, $return = false) {
|
|||
if (!isset ($style[$key])) {
|
||||
$style[$key] = '';
|
||||
}
|
||||
|
||||
$output .= '<td id="'.$tableid.'-'.$keyrow.'-'.$key.'" style="'. $cellstyle[$keyrow][$key].$style[$key].$valign[$key].$align[$key].$size[$key].$wrap[$key] .'" '.$colspan[$keyrow][$key].' '.$rowspan[$keyrow][$key].' class="' . $class . ' ' . $cellclass[$keyrow][$key] . '">'. $item .'</td>'."\n";
|
||||
|
||||
$output .= '<td ' .
|
||||
'id="' . $tableid . '-' . $keyrow . '-' . $key . '" ' .
|
||||
'style="' . $cellstyle[$keyrow][$key] .
|
||||
$style[$key] . $valign[$key] . $align[$key] .
|
||||
$size[$key] . $wrap[$key] . '" ' .
|
||||
$colspan[$keyrow][$key] . ' ' .
|
||||
$rowspan[$keyrow][$key] . ' ' .
|
||||
'class="' . $class . ' ' .
|
||||
$cellclass[$keyrow][$key] . '">' .
|
||||
$item . '</td>' . "\n";
|
||||
}
|
||||
$output .= '</tr>'."\n";
|
||||
$output .= '</tr>' . "\n";
|
||||
}
|
||||
}
|
||||
$output .= '</tbody></table>'."\n";
|
||||
$output .= '</tbody></table>' . "\n";
|
||||
|
||||
if ($return)
|
||||
return $output;
|
||||
|
|
|
@ -62,40 +62,18 @@ function tags_agent_unknown ($id_tag) {
|
|||
*
|
||||
* @return mixed Returns count of agents with this tag or false if they aren't.
|
||||
*/
|
||||
function tags_total_agents ($id_tag, $groups_and_tags = array()) {
|
||||
function tags_total_agents ($id_tag) {
|
||||
|
||||
// Avoid mysql error
|
||||
if (empty($id_tag))
|
||||
return;
|
||||
|
||||
$groups_clause = "";
|
||||
if (!empty($groups_and_tags)) {
|
||||
$i = 0;
|
||||
foreach ($groups_and_tags as $group_id => $tags) {
|
||||
if ($tags != "") {
|
||||
$tags_arr = explode(',', $tags);
|
||||
foreach ($tags_arr as $tag) {
|
||||
if ($tag == $id_tag) {
|
||||
if ($i == 0) {
|
||||
$groups_id = $group_id;
|
||||
} else {
|
||||
$groups_id .= ','.$group_id;
|
||||
}
|
||||
$i++;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
$groups_clause = " AND tagente.id_grupo IN ($groups_id)";
|
||||
}
|
||||
|
||||
$total_agents = "SELECT COUNT(DISTINCT tagente.id_agente)
|
||||
FROM tagente, tagente_modulo, ttag_module
|
||||
WHERE tagente.id_agente = tagente_modulo.id_agente
|
||||
AND tagente_modulo.id_agente_modulo = ttag_module.id_agente_modulo
|
||||
AND ttag_module.id_tag = " . $id_tag .
|
||||
$groups_clause;
|
||||
|
||||
AND tagente_modulo.id_agente_modulo = ttag_module.id_agente_modulo
|
||||
AND ttag_module.id_tag = " . $id_tag;
|
||||
|
||||
return db_get_sql ($total_agents);
|
||||
}
|
||||
|
||||
|
@ -106,37 +84,15 @@ function tags_total_agents ($id_tag, $groups_and_tags = array()) {
|
|||
*
|
||||
* @return mixed Returns count of agents in normal status or false if they aren't.
|
||||
*/
|
||||
function tags_agent_ok ($id_tag, $groups_and_tags = array()) {
|
||||
function tags_agent_ok ($id_tag) {
|
||||
|
||||
$groups_clause = "";
|
||||
if (!empty($groups_and_tags)) {
|
||||
$i = 0;
|
||||
foreach ($groups_and_tags as $group_id => $tags) {
|
||||
if ($tags != "") {
|
||||
$tags_arr = explode(',', $tags);
|
||||
foreach ($tags_arr as $tag) {
|
||||
if ($tag == $id_tag) {
|
||||
if ($i == 0) {
|
||||
$groups_id = $group_id;
|
||||
} else {
|
||||
$groups_id .= ','.$group_id;
|
||||
}
|
||||
$i++;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
$groups_clause = " AND tagente.id_grupo IN ($groups_id)";
|
||||
}
|
||||
|
||||
return db_get_sql ("SELECT COUNT(*)
|
||||
FROM tagente, tagente_modulo, ttag_module
|
||||
WHERE tagente.id_agente = tagente_modulo.id_agente
|
||||
AND tagente.disabled=0
|
||||
AND tagente_modulo.id_agente_modulo = ttag_module.id_agente_modulo
|
||||
AND ttag_module.id_tag = $id_tag
|
||||
AND normal_count=total_count
|
||||
$groups_clause");
|
||||
AND normal_count=total_count");
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -146,7 +102,7 @@ function tags_agent_ok ($id_tag, $groups_and_tags = array()) {
|
|||
*
|
||||
* @return mixed Returns count of agents in warning status or false if they aren't.
|
||||
*/
|
||||
function tags_agent_warning ($id_tag, $groups_and_tags = array()) {
|
||||
function tags_agent_warning ($id_tag) {
|
||||
|
||||
return db_get_sql ("SELECT COUNT(*)
|
||||
FROM tagente, tagente_modulo, ttag_module
|
||||
|
@ -241,13 +197,13 @@ function tags_create_tag($values) {
|
|||
if (empty($values)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
//No create tag if the tag exists
|
||||
|
||||
//No create tag if the tag exists
|
||||
if (tags_get_id($values["name"])) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return db_process_sql_insert('ttag',$values);
|
||||
return db_process_sql_insert('ttag', $values);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -710,7 +666,10 @@ function tags_get_tags_formatted ($tags_array, $get_url = true) {
|
|||
* @return mixed/string Tag ids
|
||||
*/
|
||||
|
||||
function tags_get_acl_tags($id_user, $id_group, $access = 'AR', $return_mode = 'module_condition', $query_prefix = '', $query_table = '', $meta = false, $childrens_ids = array(), $force_group_and_tag = false) {
|
||||
function tags_get_acl_tags($id_user, $id_group, $access = 'AR',
|
||||
$return_mode = 'module_condition', $query_prefix = '',
|
||||
$query_table = '', $meta = false, $childrens_ids = array(),
|
||||
$force_group_and_tag = false) {
|
||||
|
||||
global $config;
|
||||
|
||||
|
@ -730,10 +689,6 @@ function tags_get_acl_tags($id_user, $id_group, $access = 'AR', $return_mode = '
|
|||
}
|
||||
}
|
||||
|
||||
if ($id_group[0] != 0) {
|
||||
$id_group = groups_get_all_hierarchy_group ($id_group[0]);
|
||||
}
|
||||
|
||||
if ((string)$id_group === "0") {
|
||||
$id_group = array_keys(users_get_groups($id_user, $access, false));
|
||||
|
||||
|
@ -748,6 +703,10 @@ function tags_get_acl_tags($id_user, $id_group, $access = 'AR', $return_mode = '
|
|||
$id_group = (array) $id_group;
|
||||
}
|
||||
|
||||
if ($id_group[0] != 0) {
|
||||
$id_group = groups_get_all_hierarchy_group ($id_group[0]);
|
||||
}
|
||||
|
||||
$acl_column = get_acl_column($access);
|
||||
|
||||
if (empty($acl_column)) {
|
||||
|
@ -762,7 +721,7 @@ function tags_get_acl_tags($id_user, $id_group, $access = 'AR', $return_mode = '
|
|||
(tusuario_perfil.id_grupo IN (%s) OR tusuario_perfil.id_grupo = 0)
|
||||
ORDER BY id_grupo", $id_user, $acl_column, implode(',',$id_group));
|
||||
$tags = db_get_all_rows_sql($query);
|
||||
|
||||
|
||||
// If not profiles returned, the user havent acl permissions
|
||||
if (empty($tags)) {
|
||||
return ERR_ACL;
|
||||
|
@ -827,7 +786,7 @@ function tags_get_acl_tags($id_user, $id_group, $access = 'AR', $return_mode = '
|
|||
break;
|
||||
case 'module_condition':
|
||||
// Return the condition of the tags for tagente_modulo table
|
||||
$condition = tags_get_acl_tags_module_condition($acltags, $query_table, true);
|
||||
$condition = tags_get_acl_tags_module_condition($acltags, $query_table);
|
||||
if (!empty($condition)) {
|
||||
return " $query_prefix " . $condition;
|
||||
}
|
||||
|
@ -868,7 +827,11 @@ function tags_get_acl_tags_module_condition($acltags, $modules_table = '') {
|
|||
|
||||
// Fix: Wrap SQL expression with "()" to avoid bad SQL sintax that makes Pandora retrieve all modules without taking care of id_agent => id_agent = X AND (sql_tag_expression)
|
||||
if ($i == 0)
|
||||
$condition .= ' ( ';
|
||||
$condition .= ' ( ';
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// Group condition (The module belongs to an agent of the group X)
|
||||
// Juanma (08/05/2014) Fix: Now group and tag is checked at the same time, before only tag was checked due to a bad condition
|
||||
|
@ -880,22 +843,21 @@ function tags_get_acl_tags_module_condition($acltags, $modules_table = '') {
|
|||
//Avoid the user profiles with all group access.
|
||||
$group_condition = " 1 = 1 ";
|
||||
}
|
||||
|
||||
|
||||
|
||||
//When the acl is only group without tags
|
||||
if (empty($group_tags)) {
|
||||
$condition .= "($group_condition)\n";
|
||||
}
|
||||
else {
|
||||
if (is_array($group_tags)) {
|
||||
$group_tags_query = implode(',',$group_tags);
|
||||
} else {
|
||||
$group_tags_query = $group_tags;
|
||||
}
|
||||
// Tags condition (The module has at least one of the restricted tags)
|
||||
$tags_condition = sprintf('%sid_agente_modulo IN (SELECT id_agente_modulo FROM ttag_module WHERE id_tag IN (%s))', $modules_table, $group_tags_query);
|
||||
$tags_condition = sprintf('%sid_agente_modulo IN (SELECT id_agente_modulo FROM ttag_module WHERE id_tag IN (%s))', $modules_table, implode(',',$group_tags));
|
||||
|
||||
$condition .= "($group_condition AND \n$tags_condition)\n";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
$i++;
|
||||
}
|
||||
|
||||
|
@ -943,10 +905,6 @@ function tags_get_acl_tags_event_condition($acltags, $meta = false, $force_group
|
|||
if (empty($group_tags)) {
|
||||
$tags_condition = "id_grupo = ".$group_id;
|
||||
} else {
|
||||
if (!is_array($group_tags)) {
|
||||
$group_tags = explode(',', $group_tags);
|
||||
}
|
||||
|
||||
foreach ($group_tags as $tag) {
|
||||
// If the tag ID doesnt exist, ignore
|
||||
if (!isset($all_tags[$tag])) {
|
||||
|
@ -1052,14 +1010,14 @@ function tags_has_user_acl_tags($id_user = false) {
|
|||
*/
|
||||
function tags_get_user_tags($id_user = false, $access = 'AR') {
|
||||
global $config;
|
||||
|
||||
|
||||
if ($id_user === false) {
|
||||
$id_user = $config['id_user'];
|
||||
}
|
||||
|
||||
// Get all tags to have the name of all of them
|
||||
$all_tags = tags_get_all_tags();
|
||||
|
||||
|
||||
// If at least one of the profiles of this access flag hasent
|
||||
// tags restrictions, the user can see all tags
|
||||
$acl_column = get_acl_column($access);
|
||||
|
@ -1072,18 +1030,18 @@ function tags_get_user_tags($id_user = false, $access = 'AR') {
|
|||
FROM tusuario_perfil, tperfil
|
||||
WHERE tperfil.id_perfil = tusuario_perfil.id_perfil AND
|
||||
tusuario_perfil.id_usuario = '%s' AND
|
||||
tperfil.%s = 1 AND tags <> ''",
|
||||
tperfil.%s = 1 AND tags = ''",
|
||||
$id_user, $acl_column);
|
||||
|
||||
$profiles_without_tags = db_get_value_sql($query);
|
||||
|
||||
if ($profiles_without_tags == 0) {
|
||||
|
||||
if ($profiles_without_tags > 0) {
|
||||
return $all_tags;
|
||||
}
|
||||
|
||||
|
||||
// Get the tags of the required access flag for each group
|
||||
$tags = tags_get_acl_tags($id_user, 0, $access, 'data','','', true, array(), true);
|
||||
|
||||
$tags = tags_get_acl_tags($id_user, 0, $access, 'data');
|
||||
|
||||
// Merge the tags to get an array with all of them
|
||||
$user_tags_id = array();
|
||||
|
||||
|
@ -1104,7 +1062,8 @@ function tags_get_user_tags($id_user = false, $access = 'AR') {
|
|||
}
|
||||
$user_tags[$id] = $all_tags[$id];
|
||||
}
|
||||
|
||||
|
||||
|
||||
return $user_tags;
|
||||
}
|
||||
|
||||
|
@ -1401,430 +1360,4 @@ function tags_checks_event_acl($id_user, $id_group, $access, $tags = array(), $c
|
|||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get unknown agents filtering by id_tag.
|
||||
*
|
||||
* @param int $id_tag Id of the tag to search unknown agents
|
||||
*
|
||||
* @return mixed Returns count of unknown agents with this tag or false if they aren't.
|
||||
*/
|
||||
function tags_get_unknown_agents ($id_tag, $groups_and_tags = array()) {
|
||||
|
||||
// Avoid mysql error
|
||||
if (empty($id_tag))
|
||||
return;
|
||||
|
||||
$groups_clause = "";
|
||||
if (!empty($groups_and_tags)) {
|
||||
$i = 0;
|
||||
foreach ($groups_and_tags as $group_id => $tags) {
|
||||
if ($tags != "") {
|
||||
$tags_arr = explode(',', $tags);
|
||||
foreach ($tags_arr as $tag) {
|
||||
if ($tag == $id_tag) {
|
||||
if ($i == 0) {
|
||||
$groups_id = $group_id;
|
||||
} else {
|
||||
$groups_id .= ','.$group_id;
|
||||
}
|
||||
$i++;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
$groups_clause = " AND tagente.id_grupo IN ($groups_id)";
|
||||
}
|
||||
|
||||
$total_agents = "SELECT COUNT(DISTINCT tagente.id_agente)
|
||||
FROM tagente, tagente_modulo, ttag_module
|
||||
WHERE tagente.id_agente = tagente_modulo.id_agente
|
||||
AND tagente_modulo.id_agente_modulo = ttag_module.id_agente_modulo
|
||||
AND ttag_module.id_tag = " . $id_tag . "
|
||||
AND tagente.critical_count=0
|
||||
AND tagente.warning_count=0
|
||||
AND tagente.unknown_count>0
|
||||
$groups_clause";
|
||||
|
||||
return db_get_sql ($total_agents);
|
||||
}
|
||||
|
||||
function tags_monitors_ok ($id_tag, $groups_and_tags = array()) {
|
||||
|
||||
// Avoid mysql error
|
||||
if (empty($id_tag))
|
||||
return;
|
||||
|
||||
$groups_clause = "";
|
||||
if (!empty($groups_and_tags)) {
|
||||
$i = 0;
|
||||
foreach ($groups_and_tags as $group_id => $tags) {
|
||||
if ($tags != "") {
|
||||
$tags_arr = explode(',', $tags);
|
||||
foreach ($tags_arr as $tag) {
|
||||
if ($tag == $id_tag) {
|
||||
if ($i == 0) {
|
||||
$groups_id = $group_id;
|
||||
} else {
|
||||
$groups_id .= ','.$group_id;
|
||||
}
|
||||
$i++;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
$groups_clause = " AND id_grupo IN ($groups_id)";
|
||||
}
|
||||
|
||||
$sql = "SELECT COUNT(*) FROM tagente_modulo, tagente_estado
|
||||
WHERE tagente_modulo.id_agente_modulo=tagente_estado.id_agente_modulo
|
||||
AND tagente_estado.estado = 0
|
||||
AND tagente_modulo.id_agente IN (SELECT id_agente FROM tagente
|
||||
WHERE disabled = 0
|
||||
$groups_clause)
|
||||
AND tagente_modulo.id_agente_modulo IN (SELECT id_agente_modulo FROM ttag_module
|
||||
WHERE ttag_module.id_tag = " . $id_tag .")";
|
||||
|
||||
$count = db_get_sql ($sql);
|
||||
|
||||
return $count;
|
||||
}
|
||||
|
||||
function tags_monitors_critical ($id_tag, $groups_and_tags = array()) {
|
||||
|
||||
// Avoid mysql error
|
||||
if (empty($id_tag))
|
||||
return;
|
||||
|
||||
$groups_clause = "";
|
||||
if (!empty($groups_and_tags)) {
|
||||
$i = 0;
|
||||
foreach ($groups_and_tags as $group_id => $tags) {
|
||||
if ($tags != "") {
|
||||
$tags_arr = explode(',', $tags);
|
||||
foreach ($tags_arr as $tag) {
|
||||
if ($tag == $id_tag) {
|
||||
if ($i == 0) {
|
||||
$groups_id = $group_id;
|
||||
} else {
|
||||
$groups_id .= ','.$group_id;
|
||||
}
|
||||
$i++;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
$groups_clause = " AND id_grupo IN ($groups_id)";
|
||||
}
|
||||
|
||||
$sql = "SELECT COUNT(*) FROM tagente_modulo, tagente_estado
|
||||
WHERE tagente_modulo.id_agente_modulo=tagente_estado.id_agente_modulo
|
||||
AND tagente_estado.estado = 1
|
||||
AND tagente_modulo.id_agente IN (SELECT id_agente FROM tagente
|
||||
WHERE disabled = 0
|
||||
$groups_clause)
|
||||
AND tagente_modulo.id_agente_modulo IN (SELECT id_agente_modulo FROM ttag_module
|
||||
WHERE ttag_module.id_tag = " . $id_tag .")";
|
||||
|
||||
$count = db_get_sql ($sql);
|
||||
|
||||
return $count;
|
||||
}
|
||||
|
||||
function tags_monitors_warning ($id_tag, $groups_and_tags = array()) {
|
||||
|
||||
// Avoid mysql error
|
||||
if (empty($id_tag))
|
||||
return;
|
||||
|
||||
$groups_clause = "";
|
||||
if (!empty($groups_and_tags)) {
|
||||
$i = 0;
|
||||
foreach ($groups_and_tags as $group_id => $tags) {
|
||||
if ($tags != "") {
|
||||
$tags_arr = explode(',', $tags);
|
||||
foreach ($tags_arr as $tag) {
|
||||
if ($tag == $id_tag) {
|
||||
if ($i == 0) {
|
||||
$groups_id = $group_id;
|
||||
} else {
|
||||
$groups_id .= ','.$group_id;
|
||||
}
|
||||
$i++;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
$groups_clause = " AND id_grupo IN ($groups_id)";
|
||||
}
|
||||
|
||||
$sql = "SELECT COUNT(*) FROM tagente_modulo, tagente_estado
|
||||
WHERE tagente_modulo.id_agente_modulo=tagente_estado.id_agente_modulo
|
||||
AND tagente_estado.estado = 2
|
||||
AND tagente_modulo.id_agente IN (SELECT id_agente FROM tagente
|
||||
WHERE disabled = 0
|
||||
$groups_clause)
|
||||
AND tagente_modulo.id_agente_modulo IN (SELECT id_agente_modulo FROM ttag_module
|
||||
WHERE ttag_module.id_tag = " . $id_tag .")";
|
||||
|
||||
$count = db_get_sql ($sql);
|
||||
|
||||
return $count;
|
||||
}
|
||||
|
||||
function tags_monitors_fired_alerts ($id_tag, $groups_and_tags = array()) {
|
||||
|
||||
// Avoid mysql error
|
||||
if (empty($id_tag))
|
||||
return;
|
||||
|
||||
$groups_clause = "";
|
||||
if (!empty($groups_and_tags)) {
|
||||
$i = 0;
|
||||
foreach ($groups_and_tags as $group_id => $tags) {
|
||||
if ($tags != "") {
|
||||
$tags_arr = explode(',', $tags);
|
||||
foreach ($tags_arr as $tag) {
|
||||
if ($tag == $id_tag) {
|
||||
if ($i == 0) {
|
||||
$groups_id = $group_id;
|
||||
} else {
|
||||
$groups_id .= ','.$group_id;
|
||||
}
|
||||
$i++;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
$groups_clause = " AND tagente.id_grupo IN ($groups_id)";
|
||||
}
|
||||
|
||||
$sql = "SELECT COUNT(talert_template_modules.id)
|
||||
FROM talert_template_modules, tagente_modulo, tagente_estado, tagente
|
||||
WHERE tagente_modulo.id_agente = tagente.id_agente
|
||||
AND tagente_estado.id_agente_modulo = tagente_modulo.id_agente_modulo
|
||||
AND tagente_modulo.disabled = 0 AND tagente.disabled = 0
|
||||
AND talert_template_modules.disabled = 0
|
||||
AND talert_template_modules.id_agent_module = tagente_modulo.id_agente_modulo
|
||||
AND times_fired > 0
|
||||
AND tagente_modulo.id_agente_modulo IN (SELECT id_agente_modulo FROM ttag_module WHERE id_tag = $id_tag)
|
||||
$groups_clause";
|
||||
|
||||
$count = db_get_sql ($sql);
|
||||
|
||||
return $count;
|
||||
}
|
||||
|
||||
/* Return array with groups and their tags */
|
||||
function tags_get_user_module_and_tags ($id_user = false, $access = 'AR', $strict_user = false) {
|
||||
|
||||
global $config;
|
||||
|
||||
if ($id_user == false) {
|
||||
$id_user = $config['id_user'];
|
||||
}
|
||||
|
||||
$acl_column = get_acl_column($access);
|
||||
|
||||
$query = sprintf("SELECT tags, id_grupo
|
||||
FROM tusuario_perfil, tperfil
|
||||
WHERE tperfil.id_perfil = tusuario_perfil.id_perfil AND
|
||||
tusuario_perfil.id_usuario = '%s' AND
|
||||
tperfil.%s = 1
|
||||
ORDER BY id_grupo", $id_user, $acl_column);
|
||||
$tags_and_groups = db_get_all_rows_sql($query);
|
||||
|
||||
if ($tags_and_groups == false) {
|
||||
$tags_and_groups = array();
|
||||
}
|
||||
|
||||
$acltags = array();
|
||||
|
||||
if ((count($tags_and_groups) == 1) && ($tags_and_groups[0]['id_grupo'] == 0) && ($tags_and_groups[0]['tags'] == '')){ //user with all groups without tags
|
||||
$all_groups = groups_get_all();
|
||||
|
||||
foreach ($all_groups as $id => $name) {
|
||||
$acltags[$id] = '';
|
||||
}
|
||||
} else {
|
||||
foreach ($tags_and_groups as $group_tag) {
|
||||
$acltags[$group_tag['id_grupo']] = $group_tag['tags'];
|
||||
$propagate = db_get_value('propagate', 'tgrupo', 'id_grupo', $group_tag['id_grupo']);
|
||||
|
||||
if ($propagate) {
|
||||
$sql = "SELECT id_grupo FROM tgrupo WHERE parent = " .$group_tag['id_grupo'];
|
||||
$children = db_get_all_rows_sql($sql);
|
||||
|
||||
if ($children == false) {
|
||||
$children = array();
|
||||
}
|
||||
foreach ($children as $group) {
|
||||
$acltags[$group['id_grupo']] = $group_tag['tags'];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return $acltags;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get unknown agents filtering by id_tag.
|
||||
*
|
||||
* @param int $id_tag Id of the tag to search unknown agents
|
||||
*
|
||||
* @return mixed Returns count of unknown agents with this tag or false if they aren't.
|
||||
*/
|
||||
function tags_get_critical_agents ($id_tag, $groups_and_tags = array()) {
|
||||
|
||||
// Avoid mysql error
|
||||
if (empty($id_tag))
|
||||
return;
|
||||
|
||||
$groups_clause = "";
|
||||
if (!empty($groups_and_tags)) {
|
||||
$i = 0;
|
||||
foreach ($groups_and_tags as $group_id => $tags) {
|
||||
if ($tags != "") {
|
||||
$tags_arr = explode(',', $tags);
|
||||
foreach ($tags_arr as $tag) {
|
||||
if ($tag == $id_tag) {
|
||||
if ($i == 0) {
|
||||
$groups_id = $group_id;
|
||||
} else {
|
||||
$groups_id .= ','.$group_id;
|
||||
}
|
||||
$i++;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
$groups_clause = " AND tagente.id_grupo IN ($groups_id)";
|
||||
}
|
||||
|
||||
$total_agents = "SELECT COUNT(DISTINCT tagente.id_agente)
|
||||
FROM tagente, tagente_modulo, ttag_module
|
||||
WHERE tagente.id_agente = tagente_modulo.id_agente
|
||||
AND tagente_modulo.id_agente_modulo = ttag_module.id_agente_modulo
|
||||
AND ttag_module.id_tag = " . $id_tag . "
|
||||
AND tagente.critical_count>0
|
||||
$groups_clause";
|
||||
|
||||
return db_get_sql ($total_agents);
|
||||
}
|
||||
|
||||
function tags_get_monitors_alerts ($id_tag, $groups_and_tags = array()) {
|
||||
|
||||
// Avoid mysql error
|
||||
if (empty($id_tag))
|
||||
return;
|
||||
|
||||
$groups_clause = "";
|
||||
if (!empty($groups_and_tags)) {
|
||||
$i = 0;
|
||||
foreach ($groups_and_tags as $group_id => $tags) {
|
||||
if ($tags != "") {
|
||||
$tags_arr = explode(',', $tags);
|
||||
foreach ($tags_arr as $tag) {
|
||||
if ($tag == $id_tag) {
|
||||
if ($i == 0) {
|
||||
$groups_id = $group_id;
|
||||
} else {
|
||||
$groups_id .= ','.$group_id;
|
||||
}
|
||||
$i++;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
$groups_clause = " AND tagente.id_grupo IN ($groups_id)";
|
||||
}
|
||||
|
||||
$sql = "SELECT COUNT(talert_template_modules.id)
|
||||
FROM talert_template_modules, tagente_modulo, tagente_estado, tagente
|
||||
WHERE tagente_modulo.id_agente = tagente.id_agente
|
||||
AND tagente_estado.id_agente_modulo = tagente_modulo.id_agente_modulo
|
||||
AND tagente_modulo.disabled = 0 AND tagente.disabled = 0
|
||||
AND talert_template_modules.disabled = 0
|
||||
AND talert_template_modules.id_agent_module = tagente_modulo.id_agente_modulo
|
||||
AND tagente_modulo.id_agente_modulo IN (SELECT id_agente_modulo FROM ttag_module WHERE id_tag = $id_tag)
|
||||
$groups_clause";
|
||||
|
||||
$count = db_get_sql ($sql);
|
||||
|
||||
return $count;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get agents filtering by id_tag.
|
||||
*
|
||||
* @param int $id_tag Id of the tag to search total agents
|
||||
*
|
||||
* @return mixed Returns count of agents with this tag or false if they aren't.
|
||||
*/
|
||||
function tags_get_all_user_agents ($id_tag, $id_user = false, $groups_and_tags = array(), $filter = false, $fields = false, $meta = true, $strict_user = true) {
|
||||
|
||||
global $config;
|
||||
|
||||
// Avoid mysql error
|
||||
if (empty($id_tag))
|
||||
return;
|
||||
|
||||
if (empty($id_user)) {
|
||||
$id_user = $config['id_user'];
|
||||
}
|
||||
|
||||
if (!is_array ($fields)) {
|
||||
$fields = array ();
|
||||
$fields[0] = "id_agente";
|
||||
$fields[1] = "nombre";
|
||||
}
|
||||
$select_fields = implode(',',$fields);
|
||||
|
||||
$groups_clause = "";
|
||||
if ($strict_user) {
|
||||
if (!empty($groups_and_tags)) {
|
||||
$groups_clause = " AND ".tags_get_acl_tags_module_condition($groups_and_tags, "tagente_modulo");
|
||||
}
|
||||
} else {
|
||||
$groups_clause = " AND tagente.id_grupo IN (".implode(',',$groups_and_tags).")";
|
||||
}
|
||||
|
||||
$search_sql = "";
|
||||
$void_agents = "";
|
||||
if ($filter) {
|
||||
if (($filter['search']) != "") {
|
||||
$string = io_safe_input ($filter['search']);
|
||||
$search_sql = ' AND (tagente.nombre COLLATE utf8_general_ci LIKE "%'.$string.'%")';
|
||||
}
|
||||
|
||||
if (isset($filter['show_void_agents'])) {
|
||||
if (!$filter['show_void_agents']) {
|
||||
$void_agents = " AND tagente_modulo.delete_pending = 0";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$user_agents_sql = "SELECT ".$select_fields ."
|
||||
FROM tagente, tagente_modulo, ttag_module
|
||||
WHERE tagente.id_agente = tagente_modulo.id_agente
|
||||
AND tagente_modulo.id_agente_modulo = ttag_module.id_agente_modulo
|
||||
AND ttag_module.id_tag = " . $id_tag .
|
||||
$groups_clause . $search_sql . $void_agents .
|
||||
" ORDER BY tagente.nombre ASC";
|
||||
|
||||
$user_agents = db_get_all_rows_sql($user_agents_sql);
|
||||
|
||||
if (!$meta){
|
||||
$user_agents_aux = array();
|
||||
if ($user_agents === false) {
|
||||
$user_agents = array();
|
||||
}
|
||||
foreach ($user_agents as $ua) {
|
||||
$user_agents_aux[$ua['id_agente']] = $ua['nombre'];
|
||||
}
|
||||
return $user_agents_aux;
|
||||
}
|
||||
return $user_agents;
|
||||
}
|
||||
?>
|
||||
|
|
|
@ -140,13 +140,13 @@ function users_get_groups_for_select($id_user, $privilege = "AR", $returnAllGro
|
|||
function users_get_groups ($id_user = false, $privilege = "AR", $returnAllGroup = true, $returnAllColumns = false, $id_groups = null, $keys_field = 'id_grupo') {
|
||||
if (empty ($id_user)) {
|
||||
global $config;
|
||||
|
||||
|
||||
$id_user = null;
|
||||
if (isset($config['id_user'])) {
|
||||
$id_user = $config['id_user'];
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (isset($id_groups)) {
|
||||
//Get recursive id groups
|
||||
$list_id_groups = array();
|
||||
|
@ -161,12 +161,11 @@ function users_get_groups ($id_user = false, $privilege = "AR", $returnAllGroup
|
|||
else {
|
||||
$groups = db_get_all_rows_in_table ('tgrupo', 'parent, nombre');
|
||||
}
|
||||
|
||||
|
||||
$user_groups = array ();
|
||||
|
||||
if (!$groups) {
|
||||
if (!$groups)
|
||||
return $user_groups;
|
||||
}
|
||||
|
||||
if ($returnAllGroup) { //All group
|
||||
if ($returnAllColumns) {
|
||||
|
@ -181,7 +180,7 @@ function users_get_groups ($id_user = false, $privilege = "AR", $returnAllGroup
|
|||
// Add the All group to the beginning to be always the first
|
||||
array_unshift($groups, $groupall);
|
||||
}
|
||||
|
||||
|
||||
foreach ($groups as $group) {
|
||||
if ($privilege === false) {
|
||||
if ($returnAllColumns) {
|
||||
|
@ -200,7 +199,7 @@ function users_get_groups ($id_user = false, $privilege = "AR", $returnAllGroup
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return $user_groups;
|
||||
}
|
||||
|
||||
|
|
|
@ -34,17 +34,13 @@ function validateAlert() {
|
|||
}
|
||||
}
|
||||
|
||||
function printFormFilterAlert($id_group, $filter, $free_search, $url, $filter_standby = false, $tag_filter = false, $return = false, $strict_user = false) {
|
||||
|
||||
global $config;
|
||||
require_once ($config['homedir'] . "/include/functions_tags.php");
|
||||
|
||||
function printFormFilterAlert($id_group, $filter, $free_search, $url, $filter_standby = false, $return = false) {
|
||||
$table->width = '100%';
|
||||
$table->data = array ();
|
||||
$table->style = array ();
|
||||
|
||||
$table->data[0][0] = __('Group');
|
||||
$table->data[0][1] = html_print_select_groups($config['id_user'], "AR", true, "ag_group", $id_group, '', '', '', true, false, false, '', false, '', false, false, 'id_grupo', $strict_user);
|
||||
$table->data[0][1] = html_print_select_groups(false, "AR", true, "ag_group", $id_group, '', '', '', true);
|
||||
|
||||
$alert_status_filter = array();
|
||||
$alert_status_filter['all_enabled'] = __('All (Enabled)');
|
||||
|
@ -60,18 +56,7 @@ function printFormFilterAlert($id_group, $filter, $free_search, $url, $filter_st
|
|||
|
||||
$table->data[0][2] = __('Status');
|
||||
$table->data[0][3] = html_print_select ($alert_status_filter, "filter", $filter, '', '', '', true);
|
||||
|
||||
$table->data[0][4] = __('Tags') . ui_print_help_tip(__('Only it is show tags in use.'), true);
|
||||
|
||||
$tags = tags_get_user_tags();
|
||||
|
||||
if (empty($tags)) {
|
||||
$table->data[0][4] .= __('No tags');
|
||||
}
|
||||
else {
|
||||
$table->data[0][4] .= html_print_select ($tags, "tag_filter", $tag_filter, '', __('All'), '', true, false, true, '', false, 'width: 150px;');
|
||||
}
|
||||
|
||||
$table->data[0][4] = '';
|
||||
$table->data[1][0] = __('Free text for search') .
|
||||
ui_print_help_tip(
|
||||
__("Filter by agent name, module name, template name or action name"),
|
||||
|
|
|
@ -38,19 +38,11 @@ require_once ($config['homedir'] . '/include/functions_users.php');
|
|||
|
||||
$isFunctionPolicies = enterprise_include_once ('include/functions_policies.php');
|
||||
|
||||
$strict_user = db_get_value('strict_acl', 'tusuario', 'id_user', $config['id_user']);
|
||||
|
||||
$filter = get_parameter ("filter", "all_enabled");
|
||||
$filter_standby = get_parameter ("filter_standby", "all");
|
||||
$offset_simple = (int) get_parameter_get ("offset_simple", 0);
|
||||
$id_group = (int) get_parameter ("ag_group", 0); //0 is the All group (selects all groups)
|
||||
$free_search = get_parameter("free_search", '');
|
||||
$tag_filter = get_parameter("tag_filter", 0);
|
||||
if ($tag_filter) {
|
||||
if ($id_group && $strict_user) {
|
||||
$tag_filter = 0;
|
||||
}
|
||||
}
|
||||
|
||||
$sec2 = get_parameter_get ('sec2');
|
||||
$sec2 = safe_url_extraclean ($sec2);
|
||||
|
@ -66,7 +58,7 @@ $refr = (int)get_parameter('refr', 0);
|
|||
$pure = get_parameter('pure', 0);
|
||||
$url = 'index.php?sec=' . $sec . '&sec2=' . $sec2 . '&refr=' . $refr .
|
||||
'&filter=' . $filter . '&filter_standby=' . $filter_standby .
|
||||
'&ag_group=' . $id_group .'&tag_filter=' .$tag_filter;
|
||||
'&ag_group=' . $id_group;
|
||||
|
||||
if (($flag_alert == 1 && check_acl($config['id_user'], $id_group, "AW")) || ($flag_alert == 1 && check_acl($config['id_user'], $id_group, "LM"))) {
|
||||
forceExecution($id_group);
|
||||
|
@ -333,33 +325,48 @@ else {
|
|||
if (defined('METACONSOLE')) {
|
||||
require_once ($config['homedir'] . '/enterprise/meta/include/functions_alerts_meta.php');
|
||||
if ($idAgent != 0) {
|
||||
$alerts['alerts_simple'] = alerts_meta_get_alerts ($agents, $filter_alert, $options_simple, $whereAlertSimple, false, false, $idGroup, false, $strict_user);
|
||||
|
||||
$countAlertsSimple = alerts_meta_get_alerts ($agents, $filter_alert, false, $whereAlertSimple, false, false, $idGroup, true, $strict_user);
|
||||
$alerts['alerts_simple'] = alerts_meta_get_alerts ($agents,
|
||||
$filter_alert, $options_simple, $whereAlertSimple, false, false,
|
||||
$idGroup);
|
||||
|
||||
|
||||
$countAlertsSimple = alerts_meta_get_alerts ($agents, $filter_alert,
|
||||
false, $whereAlertSimple, false, false, $idGroup, true);
|
||||
}
|
||||
else {
|
||||
$id_groups = array_keys(
|
||||
users_get_groups($config["id_user"], 'AR', false));
|
||||
|
||||
$alerts['alerts_simple'] = alerts_meta_get_group_alerts($id_groups, $filter_alert, $options_simple, $whereAlertSimple, false, false, $idGroup, false, $strict_user, $tag_filter);
|
||||
$alerts['alerts_simple'] = alerts_meta_get_group_alerts($id_groups,
|
||||
$filter_alert, $options_simple, $whereAlertSimple, false,
|
||||
false, $idGroup);
|
||||
|
||||
$countAlertsSimple = alerts_meta_get_group_alerts($id_groups, $filter_alert, false, $whereAlertSimple, false, false, $idGroup, true, $strict_user, $tag_filter);
|
||||
$countAlertsSimple = alerts_meta_get_group_alerts($id_groups,
|
||||
$filter_alert, false, $whereAlertSimple, false, false,
|
||||
$idGroup, true);
|
||||
}
|
||||
}
|
||||
else {
|
||||
if ($idAgent != 0) {
|
||||
$alerts['alerts_simple'] = agents_get_alerts_simple ($idAgent, $filter_alert, $options_simple, $whereAlertSimple, false, false, $idGroup, false, $strict_user, $tag_filter);
|
||||
$alerts['alerts_simple'] = agents_get_alerts_simple ($idAgent,
|
||||
$filter_alert, $options_simple, $whereAlertSimple, false, false,
|
||||
$idGroup);
|
||||
|
||||
$countAlertsSimple = agents_get_alerts_simple ($idAgent, $filter_alert, false, $whereAlertSimple, false, false, $idGroup, true, $strict_user, $tag_filter);
|
||||
$countAlertsSimple = agents_get_alerts_simple ($idAgent,
|
||||
$filter_alert, false, $whereAlertSimple, false, false,
|
||||
$idGroup, true);
|
||||
}
|
||||
else {
|
||||
$id_groups = array_keys(
|
||||
users_get_groups($config["id_user"], 'AR', false));
|
||||
|
||||
$alerts['alerts_simple'] = get_group_alerts($id_groups, $filter_alert, $options_simple, $whereAlertSimple, false, false, $idGroup, false, $strict_user, $tag_filter);
|
||||
$alerts['alerts_simple'] = get_group_alerts($id_groups,
|
||||
$filter_alert, $options_simple, $whereAlertSimple, false,
|
||||
false, $idGroup);
|
||||
|
||||
$countAlertsSimple = get_group_alerts($id_groups, $filter_alert, false, $whereAlertSimple, false, false, $idGroup, true, $strict_user, $tag_filter);
|
||||
$countAlertsSimple = get_group_alerts($id_groups,
|
||||
$filter_alert, false, $whereAlertSimple, false, false,
|
||||
$idGroup, true);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -374,7 +381,10 @@ if ($pure) {
|
|||
// Filter form
|
||||
if ($print_agent) {
|
||||
echo '<br>';
|
||||
ui_toggle(printFormFilterAlert($id_group, $filter, $free_search, $url, $filter_standby, $tag_filter, true, $strict_user),__('Alert control filter'), __('Toggle filter(s)'));
|
||||
ui_toggle(
|
||||
printFormFilterAlert(
|
||||
$id_group, $filter, $free_search, $url, $filter_standby, true),
|
||||
__('Alert control filter'), __('Toggle filter(s)'));
|
||||
}
|
||||
|
||||
$table->width = '100%';
|
||||
|
@ -418,14 +428,26 @@ if ($isFunctionPolicies !== ENTERPRISE_NOT_HOOK) {
|
|||
// Sort buttons are only for normal console
|
||||
if (!defined('METACONSOLE')) {
|
||||
$table->head[3] .= ' ' .
|
||||
'<a href="' . $url . '&sort_field=agent&sort=up">' . html_print_image("images/sort_up.png", true, array("style" => $selectAgentUp)) . '</a>' .
|
||||
'<a href="' . $url . '&sort_field=agent&sort=down">' . html_print_image("images/sort_down.png", true, array("style" => $selectAgentDown)) . '</a>';
|
||||
'<a href="' . $url . '&sort_field=agent&sort=up">' .
|
||||
html_print_image("images/sort_up.png", true,
|
||||
array("style" => $selectAgentUp)) . '</a>' .
|
||||
'<a href="' . $url . '&sort_field=agent&sort=down">' .
|
||||
html_print_image("images/sort_down.png", true,
|
||||
array("style" => $selectAgentDown)) . '</a>';
|
||||
$table->head[4] .= ' ' .
|
||||
'<a href="' . $url . '&sort_field=module&sort=up">' . html_print_image("images/sort_up.png", true, array("style" =>$selectModuleUp)) . '</a>' .
|
||||
'<a href="' . $url . '&sort_field=module&sort=down">' . html_print_image("images/sort_down.png", true, array("style" => $selectModuleDown)) . '</a>';
|
||||
'<a href="' . $url . '&sort_field=module&sort=up">' .
|
||||
html_print_image("images/sort_up.png", true,
|
||||
array("style" =>$selectModuleUp)) . '</a>' .
|
||||
'<a href="' . $url . '&sort_field=module&sort=down">' .
|
||||
html_print_image("images/sort_down.png", true,
|
||||
array("style" => $selectModuleDown)) . '</a>';
|
||||
$table->head[5] .= ' ' .
|
||||
'<a href="' . $url . '&sort_field=template&sort=up">' . html_print_image("images/sort_up.png", true, array("style" =>$selectTemplateUp)) . '</a>' .
|
||||
'<a href="' . $url . '&sort_field=template&sort=down">' . html_print_image("images/sort_down.png", true, array("style" => $selectTemplateDown)) . '</a>';
|
||||
'<a href="' . $url . '&sort_field=template&sort=up">' .
|
||||
html_print_image("images/sort_up.png", true,
|
||||
array("style" =>$selectTemplateUp)) . '</a>' .
|
||||
'<a href="' . $url . '&sort_field=template&sort=down">' .
|
||||
html_print_image("images/sort_down.png", true,
|
||||
array("style" => $selectTemplateDown)) . '</a>';
|
||||
}
|
||||
}
|
||||
else {
|
||||
|
@ -455,11 +477,19 @@ if ($isFunctionPolicies !== ENTERPRISE_NOT_HOOK) {
|
|||
// Sort buttons are only for normal console
|
||||
if (!defined('METACONSOLE')) {
|
||||
$table->head[3] .= ' ' .
|
||||
'<a href="' . $url . '&sort_field=module&sort=up">' . html_print_image("images/sort_up.png", true, array("style" => $selectModuleUp)) . '</a>' .
|
||||
'<a href="' . $url . '&sort_field=module&sort=down">' . html_print_image("images/sort_down.png", true, array("style" => $selectModuleDown)) . '</a>';
|
||||
'<a href="' . $url . '&sort_field=module&sort=up">' .
|
||||
html_print_image("images/sort_up.png", true,
|
||||
array("style" => $selectModuleUp)) . '</a>' .
|
||||
'<a href="' . $url . '&sort_field=module&sort=down">' .
|
||||
html_print_image("images/sort_down.png", true,
|
||||
array("style" => $selectModuleDown)) . '</a>';
|
||||
$table->head[4] .= ' ' .
|
||||
'<a href="' . $url . '&sort_field=template&sort=up">' . html_print_image("images/sort_up.png", true, array("style" => $selectTemplateUp)) . '</a>' .
|
||||
'<a href="' . $url . '&sort_field=template&sort=down">' . html_print_image("images/sort_down.png", true, array("style" => $selectTemplateDown)) . '</a>';
|
||||
'<a href="' . $url . '&sort_field=template&sort=up">' .
|
||||
html_print_image("images/sort_up.png", true,
|
||||
array("style" => $selectTemplateUp)) . '</a>' .
|
||||
'<a href="' . $url . '&sort_field=template&sort=down">' .
|
||||
html_print_image("images/sort_down.png", true,
|
||||
array("style" => $selectTemplateDown)) . '</a>';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -569,17 +599,6 @@ else {
|
|||
echo '<div class="nf">'.__('No alerts found').'</div>';
|
||||
}
|
||||
|
||||
//strict user hidden
|
||||
echo '<div id="strict_hidden" style="display:none;">';
|
||||
html_print_input_text('strict_user_hidden', $strict_user);
|
||||
if (defined('METACONSOLE')) {
|
||||
$is_meta = true;
|
||||
} else {
|
||||
$is_meta = false;
|
||||
}
|
||||
html_print_input_text('is_meta_hidden', $is_meta);
|
||||
echo '</div>';
|
||||
|
||||
enterprise_hook('close_meta_frame');
|
||||
|
||||
|
||||
|
@ -596,32 +615,5 @@ $(document).ready (function () {
|
|||
}).click (function () {
|
||||
return false;
|
||||
});
|
||||
|
||||
if ($('#ag_group').val() != 0) {
|
||||
$("#tag_filter").css('display', 'none');
|
||||
$("#table2-0-4").css('display', 'none');
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
$('#ag_group').change (function (){
|
||||
strict_user = $("#text-strict_user_hidden").val();
|
||||
is_meta = $("#text-is_meta_hidden").val();
|
||||
|
||||
if (($("#ag_group").val() != 0) && (strict_user != 0)) {
|
||||
$("#tag_filter").css('display', 'none');
|
||||
if (is_meta) {
|
||||
$("#table1-0-4").css('display', 'none');
|
||||
} else {
|
||||
$("#table2-0-4").css('display', 'none');
|
||||
}
|
||||
} else {
|
||||
$("#tag_filter").css('display', '');
|
||||
if (is_meta) {
|
||||
$("#table1-0-4").css('display', '');
|
||||
} else {
|
||||
$("#table2-0-4").css('display', '');
|
||||
}
|
||||
}
|
||||
});
|
||||
</script>
|
||||
|
|
|
@ -34,8 +34,6 @@ enterprise_include_once ('include/functions_metaconsole.php');
|
|||
|
||||
$isFunctionPolicies = enterprise_include_once ('include/functions_policies.php');
|
||||
|
||||
$strict_user = db_get_value('strict_acl', 'tusuario', 'id_user', $config['id_user']);
|
||||
|
||||
if (! defined ('METACONSOLE')) {
|
||||
//Header
|
||||
ui_print_page_header (__("Monitor detail"), "images/brick.png", false);
|
||||
|
@ -45,6 +43,8 @@ else {
|
|||
ui_meta_print_header(__("Monitor view"));
|
||||
}
|
||||
|
||||
|
||||
|
||||
$ag_freestring = get_parameter ('ag_freestring');
|
||||
$ag_modulename = (string) get_parameter ('ag_modulename');
|
||||
if (!defined('METACONSOLE')) {
|
||||
|
@ -68,11 +68,6 @@ $offset = (int) get_parameter ('offset', 0);
|
|||
$status = (int) get_parameter ('status', 4);
|
||||
$modulegroup = get_parameter ('modulegroup', -1);
|
||||
$tag_filter = get_parameter('tag_filter', 0);
|
||||
if ($tag_filter) {
|
||||
if ($ag_group && $strict_user) {
|
||||
$tag_filter = 0;
|
||||
}
|
||||
}
|
||||
$refr = get_parameter('refr', 0);
|
||||
// Sort functionality
|
||||
|
||||
|
@ -113,7 +108,6 @@ else {
|
|||
$id_ag_group = db_get_value('id_grupo', 'tgrupo', 'nombre', $ag_group);
|
||||
}
|
||||
|
||||
|
||||
// Agent group selector
|
||||
if (!defined('METACONSOLE')) {
|
||||
if ($ag_group > 0 && check_acl ($config["id_user"], $ag_group, "AR")) {
|
||||
|
@ -125,9 +119,8 @@ if (!defined('METACONSOLE')) {
|
|||
}
|
||||
}
|
||||
else {
|
||||
|
||||
if ($ag_group != "0" && check_acl ($config["id_user"], $id_ag_group, "AR")) {
|
||||
$sql_conditions_group = sprintf (" AND tagente.id_grupo IN (%s) ", $ag_group);
|
||||
$sql_conditions_group = sprintf (" AND tagente.id_grupo IN ( SELECT id_grupo FROM tgrupo where nombre = '%s') ", $ag_group);
|
||||
}
|
||||
elseif ($user_groups != '') {
|
||||
// User has explicit permission on group 1 ?
|
||||
|
@ -207,7 +200,7 @@ if ($tag_filter !== 0) {
|
|||
$sql_conditions .= " AND tagente_modulo.id_agente_modulo IN (
|
||||
SELECT ttag_module.id_agente_modulo
|
||||
FROM ttag_module
|
||||
WHERE ttag_module.id_tag IN ($tag_filter)
|
||||
WHERE ttag_module.id_tag IN (SELECT id_tag FROM ttag where name LIKE '%" . $tag_filter . "%')
|
||||
)";
|
||||
}
|
||||
else {
|
||||
|
@ -220,13 +213,14 @@ if ($tag_filter !== 0) {
|
|||
}
|
||||
}
|
||||
|
||||
if (defined('METACONSOLE') && $ag_group !== 0) {
|
||||
$ag_group = groups_get_id($ag_group);
|
||||
}
|
||||
|
||||
// Fix: for tag functionality groups have to be all user_groups (propagate ACL funct!)
|
||||
$groups = users_get_groups($config["id_user"]);
|
||||
if ($ag_group !== 0) {
|
||||
$sql_conditions_tags = tags_get_acl_tags($config['id_user'], $ag_group, 'AR', 'module_condition', 'AND', 'tagente_modulo', true, array(), true);
|
||||
} else {
|
||||
$sql_conditions_tags = tags_get_acl_tags($config['id_user'], array_keys($groups), 'AR', 'module_condition', 'AND', 'tagente_modulo', true, array(), true);
|
||||
}
|
||||
|
||||
$sql_conditions_tags = tags_get_acl_tags($config['id_user'], array_keys($groups), 'AR', 'module_condition', 'AND', 'tagente_modulo');
|
||||
|
||||
if (is_numeric($sql_conditions_tags)) {
|
||||
$sql_conditions_tags = ' AND 1 = 0';
|
||||
|
@ -236,11 +230,6 @@ if (is_numeric($sql_conditions_tags)) {
|
|||
$sql_conditions_all = $sql_conditions_base . $sql_conditions . $sql_conditions_group . $sql_conditions_tags . $sql_conditions_custom_fields;
|
||||
$sql_conditions_acl = $sql_conditions_base . $sql_conditions_group . $sql_conditions_tags . $sql_conditions_custom_fields;
|
||||
|
||||
if (!$strict_user) {
|
||||
$sql_conditions_all = $sql_conditions_base . $sql_conditions . $sql_conditions_group . $sql_conditions_custom_fields;
|
||||
$sql_conditions_acl = $sql_conditions_base . $sql_conditions_group . $sql_conditions_custom_fields;
|
||||
}
|
||||
|
||||
// Get count to paginate
|
||||
if (!defined('METACONSOLE'))
|
||||
$count = db_get_sql ("SELECT COUNT(tagente_modulo.id_agente_modulo) " . $sql_from . $sql_conditions_all);
|
||||
|
@ -345,7 +334,22 @@ if (defined('METACONSOLE')) {
|
|||
|
||||
// Get all info for filters of all nodes
|
||||
$modules_temp = db_get_all_rows_sql($sql);
|
||||
|
||||
# Fix : only user tags have to be shown in these component
|
||||
$_tags = tags_get_user_tags();
|
||||
|
||||
|
||||
if (!empty($_tags)) {
|
||||
|
||||
foreach ($_tags as $_tag) {
|
||||
|
||||
$tags_temp[]['name'] = $_tag;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
$rows_temp = db_get_all_rows_sql("SELECT distinct name
|
||||
FROM tmodule_group
|
||||
ORDER BY name");
|
||||
|
@ -373,6 +377,8 @@ if (defined('METACONSOLE')) {
|
|||
|
||||
if (!empty($modules_temp))
|
||||
$modules = array_merge($modules, $modules_temp);
|
||||
if (!empty($tags_temp))
|
||||
$tags = array_merge($tags, $tags_temp);
|
||||
|
||||
metaconsole_restore_db();
|
||||
}
|
||||
|
@ -382,17 +388,28 @@ if (defined('METACONSOLE')) {
|
|||
unset($groups_select[$key_group_all]);
|
||||
}
|
||||
|
||||
echo '
|
||||
<td valign="middle">' . __('Group') . '</td>
|
||||
<td valign="middle">' .
|
||||
html_print_select_groups($config['id_user'], "AR", true, "ag_group",
|
||||
$ag_group, '', '', '0', true, false, false, 'w130',
|
||||
false, 'width:150px;', false, false,
|
||||
'id_grupo', $strict_user) . '
|
||||
</td>';
|
||||
|
||||
if (!defined('METACONSOLE')) {
|
||||
echo '
|
||||
<td valign="middle">' . __('Group') . '</td>
|
||||
<td valign="middle">' .
|
||||
html_print_select_groups(false, "AR", true, "ag_group",
|
||||
$ag_group, '', '', '0', true, false, false, 'w130',
|
||||
false, 'width:150px;') . '
|
||||
</td>';
|
||||
}
|
||||
else {
|
||||
echo '
|
||||
<td valign="middle">' . __('Group') . '</td>
|
||||
<td valign="middle">' .
|
||||
html_print_select($groups_select, "ag_group",
|
||||
io_safe_output($ag_group_metaconsole), '', __('All'), '0', true, false, false, 'w130',
|
||||
false, 'width:150px;') . '
|
||||
</td>';
|
||||
}
|
||||
echo '<td>' . __('Monitor status') . "</td>";
|
||||
|
||||
|
||||
|
||||
echo "<td>";
|
||||
|
||||
$fields = array ();
|
||||
|
@ -404,9 +421,11 @@ $fields[AGENT_MODULE_STATUS_NOT_NORMAL] = __('Not normal'); //default
|
|||
$fields[AGENT_MODULE_STATUS_NOT_INIT] = __('Not init');
|
||||
|
||||
html_print_select ($fields, "status", $status, '', __('All'), -1,
|
||||
false, false, true, '', false, 'width: 150px;');
|
||||
false, false, true, '', false, 'width: 125px;');
|
||||
echo '</td>';
|
||||
|
||||
|
||||
|
||||
echo '<td valign="middle">' . __('Module group') . '</td>';
|
||||
echo '<td valign="middle">';
|
||||
if (!defined('METACONSOLE')) {
|
||||
|
@ -421,13 +440,17 @@ if (!defined('METACONSOLE')) {
|
|||
|
||||
$rows_select[0] = __('Not assigned');
|
||||
|
||||
html_print_select($rows_select, 'modulegroup', $modulegroup, '', __('All'),-1,false, false, true, '', false, 'width: 120px;');
|
||||
html_print_select($rows_select, 'modulegroup', $modulegroup, '', __('All'), -1);
|
||||
echo '</td>';
|
||||
|
||||
|
||||
|
||||
echo '</tr>';
|
||||
|
||||
echo '<tr>';
|
||||
|
||||
|
||||
|
||||
echo '<td valign="middle">' . __('Module name') . '</td>';
|
||||
echo '<td valign="middle">';
|
||||
|
||||
|
@ -440,6 +463,32 @@ html_print_select (index_array ($modules, 'nombre', 'nombre'), "ag_modulename",
|
|||
echo '</td>';
|
||||
|
||||
|
||||
|
||||
echo '<td valign="middle" align="right">' .
|
||||
__('Tags') .
|
||||
ui_print_help_tip(__('Only it is show tags in use.'), true) .
|
||||
'</td>';
|
||||
echo '<td>';
|
||||
|
||||
if (!defined('METACONSOLE')) {
|
||||
$tags = tags_get_user_tags();
|
||||
}
|
||||
|
||||
if (empty($tags)) {
|
||||
echo __('No tags');
|
||||
}
|
||||
else {
|
||||
if (!defined('METACONSOLE'))
|
||||
html_print_select ($tags, "tag_filter",
|
||||
$tag_filter, '', __('All'), '', false, false, true, '', false, 'width: 150px;');
|
||||
else
|
||||
html_print_select (index_array($tags, 'name', 'name'), "tag_filter",
|
||||
$tag_filter, '', __('All'), '', false, false, true, '', false, 'width: 150px;');
|
||||
}
|
||||
echo '</td>';
|
||||
|
||||
|
||||
|
||||
echo '<td valign="middle" align="right">' .
|
||||
__('Search') .
|
||||
'</td>';
|
||||
|
@ -447,21 +496,7 @@ echo '<td valign="middle">';
|
|||
html_print_input_text ("ag_freestring", $ag_freestring, '', 20,30, false);
|
||||
echo '</td>';
|
||||
|
||||
echo '<td valign="middle" align="right" id="tag_td">' .
|
||||
__('Tags') .
|
||||
ui_print_help_tip(__('Only it is show tags in use.'), true);
|
||||
echo '<td>';
|
||||
|
||||
$tags = tags_get_user_tags();
|
||||
|
||||
if (empty($tags)) {
|
||||
echo __('No tags');
|
||||
}
|
||||
else {
|
||||
|
||||
html_print_select ($tags, "tag_filter", $tag_filter, '', __('All'), '', false, false, true, '', false, 'width: 150px;');
|
||||
}
|
||||
echo '</td>';
|
||||
|
||||
echo '<td valign="middle">';
|
||||
html_print_submit_button (__('Show'), "uptbutton", false, 'class="sub search"');
|
||||
|
@ -697,7 +732,6 @@ switch ($config["dbtype"]) {
|
|||
$sql_from . $sql_conditions_all . "
|
||||
ORDER BY " . $order['field'] . " " . $order['order'] . "
|
||||
LIMIT ".$offset.",".$limit_sql;
|
||||
|
||||
break;
|
||||
case "postgresql":
|
||||
if (strstr($config['dbversion'], "8.4") !== false) {
|
||||
|
@ -807,7 +841,7 @@ else {
|
|||
WHERE disabled = 0");
|
||||
if ($servers === false)
|
||||
$servers = array();
|
||||
|
||||
|
||||
$result = array();
|
||||
$count_modules = 0;
|
||||
foreach ($servers as $server) {
|
||||
|
@ -907,6 +941,10 @@ if (! defined ('METACONSOLE')) {
|
|||
'<a href="index.php?sec=estado&sec2=operation/agentes/status_monitor&refr=' . $refr . '&offset=' . $offset . '&ag_group=' . $ag_group . '&ag_freestring=' . $ag_freestring . '&ag_modulename=' . $ag_modulename . '&status=' . $status . $ag_custom_fields_params . '&sort_field=module_name&sort=down">' . html_print_image("images/sort_down.png", true, array("style" => $selectModuleNameDown, "alt" => "down")) . '</a>';
|
||||
}
|
||||
|
||||
/*
|
||||
$table->head[4] = __('Tags');
|
||||
*/
|
||||
|
||||
$table->head[5] = __('Interval');
|
||||
if (! defined ('METACONSOLE')) {
|
||||
$table->head[5] .= ' <a href="index.php?sec=estado&sec2=operation/agentes/status_monitor&refr=' . $refr . '&offset=' . $offset . '&ag_group=' . $ag_group . '&ag_freestring=' . $ag_freestring . '&ag_modulename=' . $ag_modulename . '&status=' . $status . $ag_custom_fields_params . '&sort_field=interval&sort=up">' . html_print_image("images/sort_up.png", true, array("style" => $selectIntervalUp, "alt" => "up")) . '</a>' .
|
||||
|
@ -1150,6 +1188,7 @@ foreach ($result as $row) {
|
|||
|
||||
$data[7] = '<a href="javascript:'.$link.'">' . html_print_image("images/chart_curve.png", true, array("border" => '0', "alt" => "")) . '</a>';
|
||||
if (defined('METACONSOLE'))
|
||||
//$data[7] .= " <a href='" . $row['server_url'] . "index.php?sec=estado&sec2=operation/agentes/ver_agente&id_agente=".$row["id_agent"]."&tab=data_view&period=86400&loginhash=auto&loginhash_data=" . $row["hashdata"] . "&loginhash_user=" . $row["user"] . "&id=".$row["id_agente_modulo"]."'>" . html_print_image('images/binary.png', true, array("style" => '0', "alt" => '')) . "</a>";
|
||||
$data[7] .= "<a href='javascript: show_module_detail_dialog(" . $row["id_agente_modulo"] . ", ". $row['id_agent'].", \"" . $row['server_name'] . "\", 0, 86400)'>". html_print_image ("images/binary.png", true, array ("border" => "0", "alt" => "")) . "</a>";
|
||||
else
|
||||
$data[7] .= " <a href='index.php?sec=estado&sec2=operation/agentes/ver_agente&id_agente=".$row["id_agent"]."&tab=data_view&period=86400&id=".$row["id_agente_modulo"]."'>" . html_print_image('images/binary.png', true, array("style" => '0', "alt" => '')) . "</a>";
|
||||
|
@ -1218,6 +1257,8 @@ foreach ($result as $row) {
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
if ($module_value == $sub_string) {
|
||||
$salida = $module_value;
|
||||
}
|
||||
|
@ -1266,37 +1307,12 @@ else {
|
|||
|
||||
echo "<div id='monitor_details_window'></div>";
|
||||
|
||||
//strict user hidden
|
||||
echo '<div id="strict_hidden" style="display:none;">';
|
||||
html_print_input_text('strict_user_hidden', $strict_user);
|
||||
echo '</div>';
|
||||
|
||||
|
||||
enterprise_hook('close_meta_frame');
|
||||
|
||||
ui_require_javascript_file('pandora_modules');
|
||||
|
||||
?>
|
||||
<script type="text/javascript">
|
||||
$(document).ready (function () {
|
||||
if ($('#ag_group').val() != 0) {
|
||||
$("#tag_filter").css('display', 'none');
|
||||
$("#tag_td").css('display', 'none');
|
||||
}
|
||||
});
|
||||
|
||||
$('#ag_group').change (function (){
|
||||
strict_user = $("#text-strict_user_hidden").val();
|
||||
|
||||
if (($("#ag_group").val() != 0) && (strict_user != 0)) {
|
||||
$("#tag_filter").css('display', 'none');
|
||||
$("#tag_td").css('display', 'none');
|
||||
} else {
|
||||
$("#tag_filter").css('display', '');
|
||||
$("#tag_td").css('display', '');
|
||||
}
|
||||
});
|
||||
|
||||
function toggle_full_value(id) {
|
||||
text = $("#hidden_value_module_" + id).html();
|
||||
old_text = $("#value_module_text_" + id).html();
|
||||
|
|
|
@ -1029,7 +1029,6 @@ CREATE TABLE tusuario (
|
|||
metaconsole_agents_manager NUMBER(10, 0) default 0 NOT NULL,
|
||||
metaconsole_assigned_server NUMBER(10, 0) default 0 NOT NULL,
|
||||
metaconsole_access_node NUMBER(10, 0) default 0 NOT NULL,
|
||||
strict_acl NUMBER(5,0) unsigned NOT NULL DEFAULT 0,
|
||||
CONSTRAINT t_usuario_metaconsole_access_cons CHECK (metaconsole_access IN ('basic','advanced'))
|
||||
);
|
||||
|
||||
|
|
|
@ -910,8 +910,7 @@ CREATE TABLE "tusuario" (
|
|||
"metaconsole_agents_manager" SMALLINT DEFAULT 0,
|
||||
"metaconsole_assigned_server" INTEGER NOT NULL default 0,
|
||||
"metaconsole_access_node" SMALLINT DEFAULT 0,
|
||||
"metaconsole_access" type_tusuario_metaconsole_access default 'basic',
|
||||
"strict_acl" SMALLINT NOT NULL default 0
|
||||
"metaconsole_access" type_tusuario_metaconsole_access default 'basic'
|
||||
);
|
||||
|
||||
-- -----------------------------------------------------
|
||||
|
|
|
@ -982,7 +982,6 @@ CREATE TABLE IF NOT EXISTS `tusuario` (
|
|||
`metaconsole_agents_manager` tinyint(1) unsigned NOT NULL default 0,
|
||||
`metaconsole_assigned_server` int(10) unsigned NOT NULL default 0,
|
||||
`metaconsole_access_node` tinyint(1) unsigned NOT NULL default 0,
|
||||
`strict_acl` tinyint(1) unsigned NOT NULL DEFAULT 0,
|
||||
UNIQUE KEY `id_user` (`id_user`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
||||
|
||||
|
|
Loading…
Reference in New Issue