X-Git-Url: https://git.llucax.com/mecon/samurai.git/blobdiff_plain/35dc97263ea8ab3af79406a00b8896e55c93d9b3..6c96af7186fde066713c880405778e445eff079b:/lib/SAMURAI/Perm.php diff --git a/lib/SAMURAI/Perm.php b/lib/SAMURAI/Perm.php index 44b84a0..965665c 100644 --- a/lib/SAMURAI/Perm.php +++ b/lib/SAMURAI/Perm.php @@ -83,7 +83,8 @@ class SAMURAI_Perm { $query = ' SELECT DISTINCT psu.id_sistema AS sistema, pps.id_permiso AS permiso FROM samurai.perfil_sist_usuario AS psu, samurai.perm_perfil_sist AS pps - WHERE psu.login = '.$db->quote($login).' AND psu.id_perfil = pps.id_perfil;'; + WHERE psu.login = '.$db->quote($login).' AND psu.id_perfil = pps.id_perfil + AND psu.id_sistema = pps.id_sistema'; foreach ($db->getAll($query, DB_FETCHMODE_ASSOC) as $row) { $this->_permisos[$row['sistema']][] = $row['permiso']; } @@ -93,8 +94,9 @@ class SAMURAI_Perm { // +X2C Operation 381 /** * Verifica si tiene un permiso. -Se puede pasar parámetros variables con un identificador de permiso o un array, por ejemplo: $perm->tiene(1, 4, array(2, 5, 67), 12); Si tiene algún permiso devuelve true. -Si no se pasa ningún párametro ($perm->tiene()), devuelve true si tiene un permiso (al menos uno) en el sistema actual. +Se puede pasar parametros variables con un identificador de permiso o un array, por ejemplo: $perm->tiene(1, 4, array(2, 5, 67), 12); Si tiene algun permiso devuelve true. +Si no se pasa ningun parametro ($perm->tiene()), devuelve true si tiene un permiso (al menos uno) en el sistema actual. +@see chequear() * * @return bool * @access public @@ -138,6 +140,21 @@ Si no se pasa ning } // -X2C + // +X2C Operation 388 + /** + * @return void + * @access public + */ + function chequear() // ~X2C + { + $args = func_get_args(); + if (!call_user_func_array(array($this, 'tiene'), $args)) { + include 'MECON/includes/no_autorizado.html'; + exit; + } + } + // -X2C + } // -X2C Class :SAMURAI_Perm ?> \ No newline at end of file