]> git.llucax.com Git - mecon/meconlib.git/blobdiff - lib/MECON/Usuario.php
Bugfixes.
[mecon/meconlib.git] / lib / MECON / Usuario.php
index f906b9f79b8303b9069db5c69f5e25ef39aefe88..0558d8ac2d7868e1ed6a9370c96a89155b7d1a19 100644 (file)
@@ -68,16 +68,12 @@ class MECON_Usuario {
       * @access public
       */
     var $tipo;
-    
 
-   
     /**
-      * @var    string $dsn
-      * @access public
-      */
-    var $dsn = 'mysql://intranet:intranet@bal747f.mecon.ar/usuario';
-
-
+     * @protected
+     */
+    var $_db;
+    
     /**
      * @param  string $dni 
      *
@@ -86,27 +82,22 @@ class MECON_Usuario {
      */
     function ArmarconDNI($dni) 
     {
-        $db = DB::connect($this->dsn);
-        if (DB::isError($db)) {
-            die ($db->getMessage("No pudo conectarse a la base"));
+        $sql = "SELECT login,nombre
+               from usuario.Usuario
+               where dni = $dni";
+        $result = $this->_db->query($sql);
+        if (DB::isError($result)) {
+            trigger_error($result->getMessage(), E_USER_ERROR);
+        } elseif ($result->NumRows()>0) {
+            $row = $result->fetchRow(DB_FETCHMODE_ORDERED);
+            $login = $row[0];
+            $nombre = $row[1];
+            $this->login=$login;
+            $this->nombre=$nombre;
+            $this->dni=$dni;
         } else {
-            $sql = "SELECT login,nombre
-                   from Usuario
-                   where dni = $dni";
-            $result = $db->query($sql);
-
-            if ($result->NumRows()>0) {
-                $row = $result->fetchRow();
-                $login = $row[0];
-                $nombre = $row[1];
-                $this->login=$login;
-                $this->nombre=$nombre;
-                $this->dni=$dni;
-            } else {
-                die ('El dni '.$dni.' no existe, debe loguearse al
-                     menos una vez a la intranet.');
-            }
-
+            trigger_error('El dni '.$dni.' no existe, debe loguearse al
+                 menos una vez a la intranet.');
         }
     }
 
@@ -118,29 +109,23 @@ class MECON_Usuario {
      */
     function ArmarconLOGIN($login) 
     {
-        $db = DB::connect($this->dsn);
-        if (DB::isError($db)) {
-            die ($db->getMessage("No pudo conectarse a la base"));
-        } else {
-
-            //$login = ereg_replace ("@", "\\\@", $login);
-            $sql = "SELECT dni,nombre
-                   from Usuario
-                   where login = '$login'";
+        //$login = ereg_replace ("@", "\\\@", $login);
+        $sql = "SELECT dni,nombre
+               from usuario.Usuario
+               where login = '$login'";
 
-            $result = $db->query($sql);
+        $result = $this->_db->query($sql);
 
-            if ($result->NumRows()>0) {
-                $row = $result->fetchRow();
-                $dni = $row[0];
-                $nombre = $row[1];
-                $this->dni=$dni;
-                $this->nombre=$nombre;
-                $this->login=$login;
-            } else {
-                die ('El usuario '.$login.' no existe, debe loguearse al
-                     menos una vez a la intranet.');
-            }
+        if (DB::isError($result)) {
+            trigger_error($result->getMessage(), E_USER_ERROR);
+        } elseif ($result->NumRows()>0) {
+            $row = $result->fetchRow(DB_FETCHMODE_ORDERED);
+            $this->dni = $row[0];
+            $this->nombre = $row[1];
+            $this->login = $login;
+        } else {
+            trigger_error('El usuario '.$login.' no existe, debe loguearse al
+                 menos una vez a la intranet.');
         }
     }
 
@@ -150,8 +135,9 @@ class MECON_Usuario {
      * @return void
      * @access public
      */
-    function MECON_Usuario($dni = NULL, $login = NULL
+    function MECON_Usuario($db, $dni = null, $login = null
     {
+        $this->_db = $db;
         if(! is_null($dni)) {
             $this->ArmarconDNI($dni);
             $this->buscarUsuarioDNI($dni);
@@ -166,21 +152,14 @@ class MECON_Usuario {
     /**
      * @param  int $uario 
      *
-     * @return void
+     * @return lo que devuelve el query (DB_Result o DB_Error).
      * @access public
      */
-    function Insertar_Usuario($dni = NULL, $login = NULL, $nombre = NULL
+    function Insertar_Usuario($dni, $login, $nombre
     {
-        if((! is_null($dni)) && (! is_null($login)) && (! is_null($nombre))) {
-            $db = DB::connect($this->dsn);
-            if (DB::isError($db)) {
-                die ($db->getMessage("No pudo conectarse a la base"));
-            } else {
-                $sql = "REPLACE INTO Usuario (login,dni,nombre)
-                       values ('$login',$dni,'$nombre')";
-                $result = $db->query($sql);
-            }
-        }
+        $sql = "REPLACE INTO usuario.Usuario (login,dni,nombre)
+               values ('$login',$dni,'$nombre')";
+        return $this->_db->query($sql);
     }
 
     /**
@@ -272,21 +251,16 @@ class MECON_Usuario {
       * @return mixed
       * @access public
       */
-    function verificarLogin($login = null) {
-        if ($login) {
-            $db = DB::connect($this->dsn);
-            if (PEAR::isError($db)) {
-                return $db;
-            }
-            $sql = "SELECT count(*) as cuenta FROM Usuario WHERE login = '$login'";
-            $result = $db->query($sql);
-            if (PEAR::isError($result)) {
-                return $result;
-            }
-            $row = $result->fetchRow(DB_FETCHMODE_ASSOC);
-            if ($row['cuenta'] != 0) {
-                return true;
-            }
+    function verificarLogin($login) {
+        $login = $this->_db->quote($login);
+        $sql = "SELECT count(*) as usuario.cuenta FROM usuario.Usuario WHERE login = '$login'";
+        $result = $db->query($sql);
+        if (PEAR::isError($result)) {
+            return $result;
+        }
+        $row = $result->fetchRow(DB_FETCHMODE_ASSOC);
+        if ($row['cuenta'] != 0) {
+            return true;
         }
         return false;
     }
@@ -317,7 +291,8 @@ class MECON_Usuario {
         else {
             $sql.= ' u.nombre LIKE \'%'.$nombre.'%\'';
         }
-        
+        $sql.= 'ORDER BY u.login';
+
         $db->setFetchMode(DB_FETCHMODE_ASSOC);
         $result = $db->query($sql);
         return $result;