Limited result for user groups

This commit is contained in:
marcos.alconada 2019-06-11 16:23:42 +02:00
parent 738958386a
commit 23469796f8

View File

@ -170,43 +170,27 @@ switch ($sortField) {
} }
if ($searchpolicies == 0) { if ($searchpolicies == 0) {
$sql = "SELECT id, name, description, id_group, status FROM tpolicies $user_groups = users_get_groups($config['id_user'], 'AR', false);
WHERE name LIKE '%".$stringSearchSQL."%' OR $id_user_groups = array_keys($user_groups);
description LIKE '%".$stringSearchSQL."%' $id_user_groups_str = implode(',', $id_user_groups);
ORDER BY ".$order['field'].' '.$order['order'];
$sql = "SELECT id, name, description, id_group, status
FROM tpolicies
WHERE name LIKE '$stringSearchSQL'
AND id_group IN ($id_user_groups_str)";
} }
$sql .= ' LIMIT '.$config['block_size'].' OFFSET '.get_parameter('offset', 0); $sql .= ' LIMIT '.$config['block_size'].' OFFSET '.get_parameter('offset', 0);
$policies = db_process_sql($sql); $policies = db_process_sql($sql);
$sql = "SELECT id_grupo FROM tusuario_perfil
WHERE id_usuario LIKE '%".$config['id_user']."%'";
$groups_for_search = db_process_sql($sql);
foreach ($policies as $p) {
foreach ($groups_for_search as $group) {
if ($p['id_group'] == $group['id_grupo'] || $group['id_grupo'] == 0) {
$policies_final = $p;
}
}
}
$policies = $policies_final;
if ($policies !== false) { if ($policies !== false) {
$totalPolicies = count($policies);
if ($only_count) { if ($only_count) {
unset($policies); unset($policies);
} }
$sql = "SELECT COUNT(id) AS count FROM tpolicies
WHERE id = '".$policies_final['id']."'";
$totalPolicies = db_get_value_sql($sql);
} else { } else {
$totalPolicies = 0; $totalPolicies = 0;
} }