mirror of
https://github.com/pandorafms/pandorafms.git
synced 2025-07-29 08:45:12 +02:00
Merge branch '1749-Sistema_cache_de_acls_de_la_consola_2' into 'develop'
fixed error acl perm PM in view agent See merge request artica/pandorafms!1289
This commit is contained in:
commit
bfdcf168bc
@ -343,7 +343,6 @@ if($os != 0){
|
|||||||
|
|
||||||
// Show only selected groups
|
// Show only selected groups
|
||||||
if ($ag_group > 0) {
|
if ($ag_group > 0) {
|
||||||
|
|
||||||
$ag_groups = array();
|
$ag_groups = array();
|
||||||
$ag_groups = (array)$ag_group;
|
$ag_groups = (array)$ag_group;
|
||||||
if ($recursion) {
|
if ($recursion) {
|
||||||
@ -391,107 +390,58 @@ if ($ag_group > 0) {
|
|||||||
$total_agents = db_get_sql ($sql_total);
|
$total_agents = db_get_sql ($sql_total);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
// Concatenate AW and AD permisions to get all the possible groups where the user can manage
|
||||||
|
$user_groupsAW = users_get_groups ($config['id_user'], 'AW');
|
||||||
|
$user_groupsAD = users_get_groups ($config['id_user'], 'AD');
|
||||||
|
|
||||||
// Admin user get ANY group, even if they doesnt exist
|
$user_groups = $user_groupsAW + $user_groupsAD;
|
||||||
if (check_acl ($config['id_user'], 0, "PM")) {
|
|
||||||
|
$sql = sprintf ('SELECT COUNT(*)
|
||||||
$sql = sprintf ('SELECT COUNT(*) FROM tagente WHERE 1=1 %s', $search_sql);
|
FROM tagente
|
||||||
$total_agents = db_get_sql ($sql);
|
WHERE id_grupo IN (%s)
|
||||||
switch ($config["dbtype"]) {
|
%s',
|
||||||
case "mysql":
|
implode (',', array_keys ($user_groups)),
|
||||||
$order['field2'] = "";
|
$search_sql);
|
||||||
/*
|
|
||||||
$sql = sprintf ('SELECT *
|
$total_agents = db_get_sql ($sql);
|
||||||
FROM tagente
|
|
||||||
WHERE 1=1
|
switch ($config["dbtype"]) {
|
||||||
%s
|
case "mysql":
|
||||||
ORDER BY %s %s, %s %s LIMIT %d, %d', $search_sql, $order['field'],$order['order'], $order['field2'],
|
$sql = sprintf ('SELECT *
|
||||||
$order['order'], $offset, $config["block_size"]);
|
FROM tagente
|
||||||
*/
|
WHERE id_grupo IN (%s)
|
||||||
$sql = sprintf ('SELECT *
|
%s
|
||||||
FROM tagente
|
ORDER BY %s %s, %s %s
|
||||||
WHERE 1=1
|
LIMIT %d, %d',
|
||||||
%s
|
implode (',', array_keys ($user_groups)),
|
||||||
ORDER BY %s %s %s LIMIT %d, %d', $search_sql, $order['field'], $order['field2'],
|
$search_sql, $order['field'],$order['order'], $order['field2'], $order['order'], $offset, $config["block_size"]);
|
||||||
$order['order'], $offset, $config["block_size"]);
|
break;
|
||||||
break;
|
case "postgresql":
|
||||||
case "postgresql":
|
$sql = sprintf ('SELECT *
|
||||||
$sql = sprintf ('SELECT *
|
FROM tagente
|
||||||
FROM tagente
|
WHERE id_grupo IN (%s)
|
||||||
WHERE 1=1
|
%s
|
||||||
%s
|
ORDER BY %s %s, %s %s
|
||||||
ORDER BY %s %s, %s %s LIMIT %d OFFSET %d', $search_sql, $order['field'],$order['order'], $order['field2'],
|
LIMIT %d OFFSET %d',
|
||||||
$order['order'], $config["block_size"], $offset);
|
implode (',', array_keys ($user_groups)),
|
||||||
break;
|
$search_sql, $order['field'],$order['order'], $order['field2'], $order['order'], $config["block_size"], $offset);
|
||||||
case "oracle":
|
break;
|
||||||
$set = array ();
|
case "oracle":
|
||||||
$set['limit'] = $config["block_size"];
|
$set = array ();
|
||||||
$set['offset'] = $offset;
|
$set['limit'] = $config["block_size"];
|
||||||
$sql = sprintf ('SELECT *
|
$set['offset'] = $offset;
|
||||||
FROM tagente
|
$sql = sprintf ('SELECT *
|
||||||
WHERE 1=1
|
FROM tagente
|
||||||
%s
|
WHERE id_grupo IN (%s)
|
||||||
ORDER BY %s %s, %s %s', $search_sql, $order['field'],$order['order'], $order['field2'], $order['order']);
|
%s
|
||||||
$sql = oracle_recode_query ($sql, $set);
|
ORDER BY %s %s, %s %s',
|
||||||
break;
|
implode (',', array_keys ($user_groups)),
|
||||||
}
|
$search_sql, $order['field'],$order['order'], $order['field2'], $order['order']);
|
||||||
}
|
$sql = oracle_recode_query ($sql, $set);
|
||||||
else {
|
break;
|
||||||
|
|
||||||
// Concatenate AW and AD permisions to get all the possible groups where the user can manage
|
|
||||||
$user_groupsAW = users_get_groups ($config['id_user'], 'AW');
|
|
||||||
$user_groupsAD = users_get_groups ($config['id_user'], 'AD');
|
|
||||||
|
|
||||||
$user_groups = $user_groupsAW + $user_groupsAD;
|
|
||||||
|
|
||||||
$sql = sprintf ('SELECT COUNT(*)
|
|
||||||
FROM tagente
|
|
||||||
WHERE id_grupo IN (%s)
|
|
||||||
%s',
|
|
||||||
implode (',', array_keys ($user_groups)),
|
|
||||||
$search_sql);
|
|
||||||
|
|
||||||
$total_agents = db_get_sql ($sql);
|
|
||||||
|
|
||||||
switch ($config["dbtype"]) {
|
|
||||||
case "mysql":
|
|
||||||
$sql = sprintf ('SELECT *
|
|
||||||
FROM tagente
|
|
||||||
WHERE id_grupo IN (%s)
|
|
||||||
%s
|
|
||||||
ORDER BY %s %s, %s %s
|
|
||||||
LIMIT %d, %d',
|
|
||||||
implode (',', array_keys ($user_groups)),
|
|
||||||
$search_sql, $order['field'],$order['order'], $order['field2'], $order['order'], $offset, $config["block_size"]);
|
|
||||||
break;
|
|
||||||
case "postgresql":
|
|
||||||
$sql = sprintf ('SELECT *
|
|
||||||
FROM tagente
|
|
||||||
WHERE id_grupo IN (%s)
|
|
||||||
%s
|
|
||||||
ORDER BY %s %s, %s %s
|
|
||||||
LIMIT %d OFFSET %d',
|
|
||||||
implode (',', array_keys ($user_groups)),
|
|
||||||
$search_sql, $order['field'],$order['order'], $order['field2'], $order['order'], $config["block_size"], $offset);
|
|
||||||
break;
|
|
||||||
case "oracle":
|
|
||||||
$set = array ();
|
|
||||||
$set['limit'] = $config["block_size"];
|
|
||||||
$set['offset'] = $offset;
|
|
||||||
$sql = sprintf ('SELECT *
|
|
||||||
FROM tagente
|
|
||||||
WHERE id_grupo IN (%s)
|
|
||||||
%s
|
|
||||||
ORDER BY %s %s, %s %s',
|
|
||||||
implode (',', array_keys ($user_groups)),
|
|
||||||
$search_sql, $order['field'],$order['order'], $order['field2'], $order['order']);
|
|
||||||
$sql = oracle_recode_query ($sql, $set);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
$agents = db_get_all_rows_sql ($sql);
|
$agents = db_get_all_rows_sql ($sql);
|
||||||
|
|
||||||
// Delete rnum row generated by oracle_recode_query() function
|
// Delete rnum row generated by oracle_recode_query() function
|
||||||
|
Loading…
x
Reference in New Issue
Block a user