2011-02-18 Miguel de Dios <miguel.dedios@artica.es>
* include/functions_db.php, operation/search_modules.php, operation/search_agents.php: sorry, I didn't think about the subgroups may have other subgroups (and this may be recursive), rewrite the SQL for search with groups, now the groups come from the PHP function to get all groups, children groups, grandchildren groups... git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@3927 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
This commit is contained in:
parent
df766ab812
commit
e05bf38245
|
@ -1,3 +1,11 @@
|
|||
2011-02-18 Miguel de Dios <miguel.dedios@artica.es>
|
||||
|
||||
* include/functions_db.php, operation/search_modules.php,
|
||||
operation/search_agents.php: sorry, I didn't think about the subgroups may
|
||||
have other subgroups (and this may be recursive), rewrite the SQL for
|
||||
search with groups, now the groups come from the PHP function to get
|
||||
all groups, children groups, grandchildren groups...
|
||||
|
||||
2011-02-18 Miguel de Dios <miguel.dedios@artica.es>
|
||||
|
||||
* include/functions_db.php, operation/search_modules.php,
|
||||
|
|
|
@ -702,6 +702,9 @@ function get_agent_modules ($id_agent = null, $details = false, $filter = false,
|
|||
}
|
||||
|
||||
$id_agent = safe_int ($id_agent, 1);
|
||||
|
||||
$userGroups = get_user_groups($config['id_user'], 'AR', false);
|
||||
$id_userGroups = array_keys($userGroups);
|
||||
|
||||
$where = " WHERE (
|
||||
1 = (
|
||||
|
@ -714,40 +717,7 @@ function get_agent_modules ($id_agent = null, $details = false, $filter = false,
|
|||
SELECT id_agente
|
||||
FROM tagente
|
||||
WHERE id_grupo IN (
|
||||
SELECT id_grupo
|
||||
FROM tgrupo
|
||||
WHERE id_grupo IN (
|
||||
SELECT id_grupo
|
||||
FROM tusuario_perfil
|
||||
WHERE id_usuario = '" . $config['id_user'] . "'
|
||||
AND id_perfil IN (
|
||||
SELECT id_perfil
|
||||
FROM tperfil WHERE agent_view = 1
|
||||
)
|
||||
)
|
||||
OR (
|
||||
parent IN (
|
||||
SELECT id_grupo
|
||||
FROM tusuario_perfil
|
||||
WHERE id_usuario = '" . $config['id_user'] . "'
|
||||
AND id_perfil IN (
|
||||
SELECT id_perfil
|
||||
FROM tperfil WHERE agent_view = 1
|
||||
)
|
||||
) AND 1 = (
|
||||
SELECT propagate
|
||||
FROM tgrupo
|
||||
WHERE id_grupo IN (
|
||||
SELECT id_grupo
|
||||
FROM tusuario_perfil
|
||||
WHERE id_usuario = '" . $config['id_user'] . "'
|
||||
AND id_perfil IN (
|
||||
SELECT id_perfil
|
||||
FROM tperfil WHERE agent_view = 1
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
" . implode(',', $id_userGroups) . "
|
||||
)
|
||||
)
|
||||
OR 0 IN (
|
||||
|
|
|
@ -105,6 +105,9 @@ switch ($sortField) {
|
|||
|
||||
$agents = false;
|
||||
if ($searchAgents) {
|
||||
$userGroups = get_user_groups($config['id_user'], 'AR', false);
|
||||
$id_userGroups = array_keys($userGroups);
|
||||
|
||||
$sql = "
|
||||
FROM tagente AS t1
|
||||
INNER JOIN tgrupo AS t2
|
||||
|
@ -116,40 +119,7 @@ if ($searchAgents) {
|
|||
WHERE id_user = '" . $config['id_user'] . "'
|
||||
)
|
||||
OR t1.id_grupo IN (
|
||||
SELECT id_grupo
|
||||
FROM tagente
|
||||
WHERE id_grupo IN (
|
||||
SELECT id_grupo
|
||||
FROM tusuario_perfil
|
||||
WHERE id_usuario = '" . $config['id_user'] . "'
|
||||
AND id_perfil IN (
|
||||
SELECT id_perfil
|
||||
FROM tperfil WHERE agent_view = 1
|
||||
)
|
||||
)
|
||||
OR (
|
||||
parent IN (
|
||||
SELECT id_grupo
|
||||
FROM tusuario_perfil
|
||||
WHERE id_usuario = '" . $config['id_user'] . "'
|
||||
AND id_perfil IN (
|
||||
SELECT id_perfil
|
||||
FROM tperfil WHERE agent_view = 1
|
||||
)
|
||||
) AND 1 = (
|
||||
SELECT propagate
|
||||
FROM tgrupo
|
||||
WHERE id_grupo IN (
|
||||
SELECT id_grupo
|
||||
FROM tusuario_perfil
|
||||
WHERE id_usuario = '" . $config['id_user'] . "'
|
||||
AND id_perfil IN (
|
||||
SELECT id_perfil
|
||||
FROM tperfil WHERE agent_view = 1
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
" . implode(',', $id_userGroups) . "
|
||||
)
|
||||
OR 0 IN (
|
||||
SELECT id_grupo
|
||||
|
|
|
@ -55,6 +55,9 @@ switch ($sortField) {
|
|||
|
||||
$modules = false;
|
||||
if ($searchModules) {
|
||||
$userGroups = get_user_groups($config['id_user'], 'AR', false);
|
||||
$id_userGroups = array_keys($userGroups);
|
||||
|
||||
$chunk_sql = '
|
||||
FROM tagente_modulo AS t1
|
||||
INNER JOIN tagente AS t2
|
||||
|
@ -64,40 +67,7 @@ if ($searchModules) {
|
|||
INNER JOIN tagente_estado AS t4
|
||||
ON t4.id_agente_modulo = t1.id_agente_modulo
|
||||
WHERE (t2.id_grupo IN (
|
||||
SELECT id_grupo
|
||||
FROM tgrupo
|
||||
WHERE id_grupo IN (
|
||||
SELECT id_grupo
|
||||
FROM tusuario_perfil
|
||||
WHERE id_usuario = "' . $config['id_user'] . '"
|
||||
AND id_perfil IN (
|
||||
SELECT id_perfil
|
||||
FROM tperfil WHERE agent_view = 1
|
||||
)
|
||||
)
|
||||
OR (
|
||||
parent IN (
|
||||
SELECT id_grupo
|
||||
FROM tusuario_perfil
|
||||
WHERE id_usuario = "' . $config['id_user'] . '"
|
||||
AND id_perfil IN (
|
||||
SELECT id_perfil
|
||||
FROM tperfil WHERE agent_view = 1
|
||||
)
|
||||
) AND 1 = (
|
||||
SELECT propagate
|
||||
FROM tgrupo
|
||||
WHERE id_grupo IN (
|
||||
SELECT id_grupo
|
||||
FROM tusuario_perfil
|
||||
WHERE id_usuario = "' . $config['id_user'] . '"
|
||||
AND id_perfil IN (
|
||||
SELECT id_perfil
|
||||
FROM tperfil WHERE agent_view = 1
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
' . implode(',', $id_userGroups) . '
|
||||
)
|
||||
OR 0 IN (
|
||||
SELECT id_grupo
|
||||
|
|
Loading…
Reference in New Issue