diff --git a/pandora_console/ChangeLog b/pandora_console/ChangeLog index 7ae8c8467b..77059efa6f 100644 --- a/pandora_console/ChangeLog +++ b/pandora_console/ChangeLog @@ -1,3 +1,7 @@ +2011-05-04 Vanessa Gil + + * operation/agentes/estado_agente.php: Fixed error on list of agents + 2011-05-03 Junichi Satoh * include/help/ja/help_reporting_advanced_tab.php: Added a missing diff --git a/pandora_console/operation/agentes/estado_agente.php b/pandora_console/operation/agentes/estado_agente.php index e78326af49..900621a777 100644 --- a/pandora_console/operation/agentes/estado_agente.php +++ b/pandora_console/operation/agentes/estado_agente.php @@ -229,22 +229,32 @@ if ($group_id > 0) { } else { // Not selected any specific group - - $user_group = get_user_groups($config["id_user"], "AR"); - $groups = array_keys($user_group); - $agent_names = get_group_agents(array_keys ($user_group), $filter, "upper"); + if (check_acl ($config['id_user'], 0, "PM")){ + $agent_names = get_group_agents(0, $filter, "upper", true); + }else{ + $user_group = get_user_groups($config["id_user"], "AR"); + $groups = array_keys($user_group); + $agent_names = get_group_agents(array_keys ($user_group), $filter, "upper"); + } } $total_agents = 0; $agents = false; if (! empty ($agent_names)) { - $total_agents = agents_get_agents (array ('id_agente' => array_keys ($agent_names), - 'order' => 'nombre ASC', - 'disabled' => 0, - 'id_grupo' => $groups), - array ('COUNT(*) as total')); - $total_agents = isset ($total_agents[0]['total']) ? $total_agents[0]['total'] : 0; - $agents = agents_get_agents (array ('id_agente' => array_keys ($agent_names), + if (check_acl ($config['id_user'], 0, "PM")){ + $sql = sprintf ('SELECT COUNT(*) FROM tagente WHERE 1=1 %s', $search_sql); + $total_agents = get_db_sql ($sql); + $sql = sprintf ('SELECT * FROM tagente WHERE 1=1 %s ORDER BY %s %s LIMIT %d, %d', $search_sql, $order['field'], $order['order'], $offset, $config["block_size"]); + $agents = get_db_all_rows_sql ($sql); + + }else{ + $total_agents = get_agents (array ('id_agente' => array_keys ($agent_names), + 'order' => 'nombre ASC', + 'disabled' => 0, + 'id_grupo' => $groups), + array ('COUNT(*) as total')); + $total_agents = isset ($total_agents[0]['total']) ? $total_agents[0]['total'] : 0; + $agents = get_agents (array ('id_agente' => array_keys ($agent_names), 'order' => 'nombre ASC', 'id_grupo' => $groups, 'offset' => (int) get_parameter ('offset'), @@ -256,6 +266,7 @@ if (! empty ($agent_names)) { 'intervalo'), 'AR', $order); + } } if (empty ($agents)) {