]> git.llucax.com Git - mecon/samurai.git/blobdiff - lib/SAMURAI/Usuario.php
Cambios varios para que funcione bien con Netscape (Aunque ya no se si es asi)
[mecon/samurai.git] / lib / SAMURAI / Usuario.php
index 859f62c593a9f040faa89edfb5f66abb903a89f1..b8006ba1ad2d6804e95a7fc09393a3d0421bf5d4 100644 (file)
@@ -26,6 +26,7 @@
 
 require_once 'PEAR.php';
 require_once 'Perfil.php';
+require_once 'MECON/Usuario.php';
 
 
 // +X2C Class 207 :SAMURAI_Usuario
@@ -184,6 +185,9 @@ class SAMURAI_Usuario {
         $this->_db = $db; 
         $this->setLogin($login);
         if (!is_null($login)) {
+            $tmp =& new MECON_Usuario(null, $login);
+            $this->setNrodoc($tmp->getDni());
+            $this->setNombre($tmp->getNombre());
             $this->_obtenerDatosDb();
         }
     }
@@ -241,7 +245,7 @@ class SAMURAI_Usuario {
         //FORECHEO LO QUE ME DEVUELVA GET USUARIOS
         $rta = array ();
         foreach (SAMURAI_Usuario::getUsuarios($db, $id_sistema) as $Usuario) {
-            $rta[$permiso->getLogin()] = $permiso->getNombre();
+            $rta[$Usuario->getLogin()] = $Usuario->getNombre();
         }
         return $rta;
     }
@@ -279,28 +283,12 @@ class SAMURAI_Usuario {
     function _obtenerDatosDb() // ~X2C
     {
         $sql = parse_ini_file(dirname(__FILE__) . '/Usuario/consultas.ini', true);
-        $tmp = $sql['obtener_datos_usuario'].$sql['obtener_datos_usuario3'];
-        $dbh = $this->_db->prepare($tmp);
-        $res = $this->_db->execute($dbh,array($this->getLogin()));        
-
-        if ($re  = $res->fetchRow(DB_FETCHMODE_ASSOC)) {
-            if (isset($re['nrodoc'])) {
-               $this->setNrodoc($re['nrodoc']);
-            }
-            else {
-                $this->setNrodoc();
-            }
-            if (isset($re['nombre'])) {
-                $this->setNombre($re['nombre']);
-            }
-            else {
-                $this->setNombre();
-            }
-        }
+        
         $tmp = $sql['obtener_perfiles_usuario'];
         $dbh = $this->_db->prepare($tmp);
         $res = $this->_db->execute($dbh,array($this->getLogin(), $_SESSION['samurai']['id_sistema']));
         $rta = array();
+
         while ($re  = $res->fetchRow(DB_FETCHMODE_ASSOC)) {
             $tmp = new SAMURAI_Perfil($this->_db, $re['id_perfil']);
             $rta[] = $tmp->getId();
@@ -400,15 +388,19 @@ class SAMURAI_Usuario {
      */
     function verificarLogin() // ~X2C
     {
-        $sql = parse_ini_file(dirname(__FILE__) . '/Usuario/consultas.ini', true);
-        $tmp = $sql['verificar_login'];
-        $dbh = $this->_db->prepare($tmp);
-        $res = $this->_db->execute($dbh,array($this->getLogin()));
-        $re  = $res->fetchRow(DB_FETCHMODE_ASSOC);
-        if ($re['cuenta'] == 0) {
+        $usu = new MECON_Usuario();
+        $tmp = $usu->verificarLogin($this->getLogin()); 
+        if ($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');
         }
-        return 1; 
     }
     // -X2C
 
@@ -433,15 +425,15 @@ class SAMURAI_Usuario {
     }
     // -X2C
 
-    // +X2C Operation 377
+    // +X2C Operation 386
     /**
      * Metodo estatico que permite asociar un usuario con un perfil en un sistema determinado.
      *
      * @param  DB &$db Conexion a la base de datos
-     * @param  string $login Login del usuario
-     * @param  int $id_perfil Identificador del perfil a asociar
-     * @param  int $id_sistema Identificador del sistema en el cual se quiere realizar la asociacion
-     * @param  string $responsable Login del usuario que esta realizando los cambios
+     * @param  string $login Login del usuario que se quiere asociar
+     * @param  int $id_perfil Identificador del perfil que se quiere asociar
+     * @param  int $id_sistema identificador del sistema en el que se esta haciendo la asociacion
+     * @param  int $responsable Login del usuario que esta haciendo los cambios
      *
      * @return mixed
      * @access public
@@ -450,16 +442,21 @@ class SAMURAI_Usuario {
     function asociarPerfil(&$db, $login, $id_perfil, $id_sistema, $responsable) // ~X2C
     {
         $sql = parse_ini_file(dirname(__FILE__) . '/Usuario/consultas.ini', true);
-
-        //Verifico que el usuario exista        
-        $tmp = $sql['verificar_login'];
-        $dbh = $db->prepare($tmp);
-        $res = $db->execute($dbh,array($login));
-        $re  = $res->fetchRow(DB_FETCHMODE_ASSOC);
-        if ($re['cuenta'] == 0) {
-            return new PEAR_Error('Usuario no reconocido.');
-        }
         
+        $usu = new MECON_Usuario();
+        $tmp = $usu->verificarLogin($login); 
+        if ($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');
+        }
+
         //Asocio el perfil con el usuario en perfil_sist_usuario
         $datos = array ('login'       => $login, 
                         'id_perfil'   => $id_perfil,