From 51752326b82fed368e79077f4fa9901174cb24ba Mon Sep 17 00:00:00 2001 From: Leandro Lucarella Date: Wed, 4 Feb 2004 18:02:55 +0000 Subject: [PATCH] Se hace que aparezca el link a SAMURAI si un usuario tiene permisos para administrar usuarios en un sistema. --- sistema/www/sistemas.php | 34 +++++++++++++++++++++++++++++----- 1 file changed, 29 insertions(+), 5 deletions(-) diff --git a/sistema/www/sistemas.php b/sistema/www/sistemas.php index aa74163..ecc28ee 100644 --- a/sistema/www/sistemas.php +++ b/sistema/www/sistemas.php @@ -51,18 +51,42 @@ $img->updateAttributes(array('width' => 190)); $fila[] = $img; $t->addRow($fila); -$sistemas = AI_Sistema::getSistemas($DB); +$sists = AI_Sistema::getSistemas($DB); // Me fijo que sistemas puede ver este usuario. require_once 'SAMURAI/Perm.php'; +require_once 'SAMURAI/constantes.php'; $perm = new SAMURAI_Perm($_SESSION['usuario'], 0, $DB); -foreach ($sistemas as $i => $s) { - // Si no tiene permisos para el sistema, lo saco de la lista. +$samurai = false; +$sistemas = array(); +foreach ($sists as $i => $s) { + // Agrego los sistemas en los que tiene permiso. $perm->setSistema($s->sistema); - if (!$perm->tiene()) { - unset($sistemas[$i]); + if ($perm->tiene()) { + // Si es SAMURAI hay que ver si ya no lo agregamos antes. + if ($s->sistema == SAMURAI_PERM) { + if (!$samurai) { + $samurai = true; + $sistemas[] = $sists[$i]; + } + } else { // Si no es SAMURAI lo agregamos incondicionalmente. + $sistemas[] = $sists[$i]; + } + } + // Si tiene permisos de SAMURAI en un sistema, hay que mostrar un link a + // SAMURAI. + if (!$samurai and $perm->tiene(SAMURAI_PERM_PERFIL_ALTA, + SAMURAI_PERM_PERFIL_BAJA, SAMURAI_PERM_PERFIL_MODIF, + SAMURAI_PERM_USUARIO_ALTA, SAMURAI_PERM_USUARIO_BAJA, + SAMURAI_PERM_USUARIO_MODIF)) { + $samurai = true; + if (@$sists[SAMURAI_PERM]) { + $sistemas[] = $sists[SAMURAI_PERM]; + } } } +unset($sists); +unset($samurai); $sistema = @array_shift($sistemas); while ($sistema) { -- 2.43.0