]> git.llucax.com Git - mecon/meconlib.git/blobdiff - samurai_lib/php/Samurai/Perm.php
- Cambios y agregados
[mecon/meconlib.git] / samurai_lib / php / Samurai / Perm.php
index c122317d181196ed46bac34e1b268cd9a97124cd..9800552f0643e8648f593e8287cedef0833fb001 100644 (file)
@@ -37,7 +37,6 @@ require_once 'DB.php';
  * @author  $Author$
  */
 
  * @author  $Author$
  */
 
-// Comienzo Clase {{{ 
 class SA_Perm extends PEAR {
     
     /**
 class SA_Perm extends PEAR {
     
     /**
@@ -105,9 +104,9 @@ class SA_Perm extends PEAR {
     function tiene() 
     {
         $args   = func_get_args(); //Obtengo los permisos que me pasaron como argumento
     function tiene() 
     {
         $args   = func_get_args(); //Obtengo los permisos que me pasaron como argumento
-        $result = true;            //Asumo que no va a fallar
-        if (!count($args)) {
-            $result = false;       //Siempre se debe pasar al menos un permiso a buscar
+        $result = true;           //Asumo que no va a fallar
+        if (!count($args)) {     
+            $result = false;    //Siempre se debe pasar al menos un permiso a buscar
         }
         else {
             if (count(array_diff($args, $this->permisos))){
         }
         else {
             if (count(array_diff($args, $this->permisos))){
@@ -117,7 +116,7 @@ class SA_Perm extends PEAR {
         return $result;        
     }
 
         return $result;        
     }
 
-     /**
+    /**
      * Verifica los permisos de un usuario
      * 
      * Compara los permisos que tiene un usuario en relacion a los 
      * Verifica los permisos de un usuario
      * 
      * Compara los permisos que tiene un usuario en relacion a los 
@@ -135,7 +134,7 @@ class SA_Perm extends PEAR {
     {
         $args   = func_get_args(); //Obtengo los permisos que me pasaron como argumento
         $result = true;           //Asumo que no va a fallar
     {
         $args   = func_get_args(); //Obtengo los permisos que me pasaron como argumento
         $result = true;           //Asumo que no va a fallar
-        if (!count($args)) {      //Siempre se debe pasar al menos un permiso a buscar
+        if (!count($args)) {     //Siempre se debe pasar al menos un permiso a buscar
             $result = false;
         }
         else {
             $result = false;
         }
         else {
@@ -146,7 +145,35 @@ class SA_Perm extends PEAR {
         return $result;
     }
 
         return $result;
     }
 
-     /**
+    /**
+     * Verifica los permisos de un usuario
+     * 
+     * Compara los permisos que tiene un usuario en relacion a los 
+     * pasados como parametro. Devuelve un array con aquellos permisos que
+     * el usuario tiene. Funciona similar a tieneO solo que devuelve un array.
+     * Es de parametros variables, y siempre necesita al menos UN parametro
+     *
+     * @param array $permisos Permisos que se buscan
+     *
+     * @return array Permisos que tiene el usuario pasados por parametro, o 'ERROR' en caso contrario
+     *
+     * @access public
+     */
+    function tieneODevol () 
+    {
+        $args = func_get_args(); //Obtengo los permisos que me pasaron como argumento
+        $result = array();
+
+        if (!count($args)) {
+           $result['0'] = 'ERROR'; //Siempre se debe pasar al menos un permiso a buscar
+        }
+        else {
+            $result = array_intersect($args, $this->permisos);
+        }       
+        return $result;
+    }   
+
+    /**
      * Verifica los permisos de un usuario
      * 
      * Compara un permiso pasado por parametro con los que tiene el usuario 
      * Verifica los permisos de un usuario
      * 
      * Compara un permiso pasado por parametro con los que tiene el usuario 
@@ -167,6 +194,23 @@ class SA_Perm extends PEAR {
        return $result;       
     }
 
        return $result;       
     }
 
+    /**
+     * Devuelve los permisos de un usuario
+     * 
+     * Devuelve un array con los permisos que posee el usuario en el sistema
+     * que se paso como parametro al constructor. Devuelve un array.
+     *
+     * @return array
+     *
+     * @access public
+     */
+    function listaPermisos() 
+    {
+        return $this->permisos;       
+    }
+
+
+
 //HASTA ACA FUNCIONES PUBLICAS
 //DESDE ACA FUNCIONES PRIVADAS
 
 //HASTA ACA FUNCIONES PUBLICAS
 //DESDE ACA FUNCIONES PRIVADAS
 
@@ -201,13 +245,12 @@ class SA_Perm extends PEAR {
         $datos = include 'Perm/db_Conf.php';
         $dsn   = $datos['db_type']."://".$datos['db_user'].":".$datos['db_pass']."@".$datos['db_host']."/".$datos['db_name'];  
         $db    = DB::connect($dsn, true); //Quiero que la conexion sea persistente
         $datos = include 'Perm/db_Conf.php';
         $dsn   = $datos['db_type']."://".$datos['db_user'].":".$datos['db_pass']."@".$datos['db_host']."/".$datos['db_name'];  
         $db    = DB::connect($dsn, true); //Quiero que la conexion sea persistente
-        if (DB::isError($db)) {
+        if (DB::isError($db)) {          //En caso de error en la conexion que la muestre
             die($db->getMessage());
         }
         return $db;
     }
 
 }
             die($db->getMessage());
         }
         return $db;
     }
 
 }
-// }}} Fin Clase
 
 ?>
 
 ?>