]> git.llucax.com Git - mecon/samurai.git/blobdiff - lib/SAMURAI/Usuario.php
BugFix en la interfaz, nada funcional.
[mecon/samurai.git] / lib / SAMURAI / Usuario.php
index d629eeab0006c5cc5f0943ca522d73385eafd98a..252265699cf29bbb7a67e36e0a34ade3d01443fe 100644 (file)
@@ -463,9 +463,6 @@ class SAMURAI_Usuario {
             if (PEAR::isError($tmp)) {
                 return $tmp;
             }
             if (PEAR::isError($tmp)) {
                 return $tmp;
             }
-            else {
-                return true;
-            }
         }
         else {
             return new PEAR_Error('Usuario no reconocido.<br>Recuerde que &eacute;ste debe haberse logueado previamente a Intranet');
         }
         else {
             return new PEAR_Error('Usuario no reconocido.<br>Recuerde que &eacute;ste debe haberse logueado previamente a Intranet');
@@ -486,5 +483,61 @@ class SAMURAI_Usuario {
     }
     // -X2C
 
     }
     // -X2C
 
+    // +X2C Operation 396
+    /**
+     * Devuelve la informacion completa del usuario. Sistemas a los que esta asignado, perfiles que tiene dentro de cada sistema y permisos.
+     *
+     * @return mixed
+     * @access public
+     */
+    function informacionGeneral() // ~X2C
+    {
+        $sql = parse_ini_file(dirname(__FILE__) . '/Usuario/consultas.ini', true);
+        $tmp = $sql['obtener_informacion'];
+        $dbh = $this->_db->prepare($tmp);
+        $res = $this->_db->execute($dbh,array($this->getLogin()));
+
+        if (PEAR::isError($res)) {
+            return $res;
+        }
+        
+        $rta = array();
+
+        while ($re = $res->fetchRow(DB_FETCHMODE_ASSOC)) {
+            $rta[$re['id_sistema']]['nombre_sistema'] = $re['nombre_sistema'];
+            $rta[$re['id_sistema']]['perfiles'][$re['id_perfil']]['desc_perfil'] =
+                $re['desc_perfil'];
+            
+            $rta[$re['id_sistema']]['perfiles'][$re['id_perfil']]['permisos'][$re['id_permiso']]
+                [$re['observaciones']]['desc_permiso'] = $re['desc_permiso'];
+            
+            $rta[$re['id_sistema']]['perfiles'][$re['id_perfil']]['permisos'][$re['id_permiso']]
+                [$re['observaciones']]['observaciones'] = $re['observaciones'];
+        }
+        
+        return $rta;
+    }
+    // -X2C
+
+    // +X2C Operation 398
+    /**
+     * Funcion que obtiene la lista de usuarios que tienen al menos un permiso en la intranet.
+     *
+     * @param  DB &$db Conexion a la base de datos
+     * @param  string $login Parte del login a filtrar
+     *
+     * @return mixed
+     * @access public
+     * @static
+     */
+    function filtrarUsuarios(&$db, $login) // ~X2C
+    {
+        $sql = parse_ini_file(dirname(__FILE__) . '/Usuario/consultas.ini', true);
+        $sql = str_replace ('##?##', $login, $sql['obtener_datos_compartido']);
+        $db->setFetchMode(DB_FETCHMODE_ASSOC);
+        return $db->query($sql);
+    }
+    // -X2C
+
 } // -X2C Class :SAMURAI_Usuario
 ?>
 } // -X2C Class :SAMURAI_Usuario
 ?>