]> git.llucax.com Git - mecon/meconlib.git/blobdiff - lib/MECON/Usuario.php
Agrege una funcion para verificar si un login es valido
[mecon/meconlib.git] / lib / MECON / Usuario.php
index 844e248b5636e46d8630b9095aa564fe87b57c41..bdfd064b0d96d28b03a2d851ac579b46b987df80 100644 (file)
@@ -78,12 +78,20 @@ class MECON_Usuario {
                     from Usuario
                     where dni = $dni";
             $result = $db->query($sql);
-            $row = $result->fetchRow();
-            $login = $row[0];
-            $nombre = $row[1];
-            $this->login=$login;
-            $this->nombre=$nombre;
-            $this->dni=$dni;
+
+            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.');
+            }
+
         }
   }
   // -X2C
@@ -105,16 +113,26 @@ class MECON_Usuario {
         }
         else
         {
+            
+            //$login = ereg_replace ("@", "\\\@", $login);
             $sql = "SELECT dni,nombre
                     from Usuario
                     where login = '$login'";
+
             $result = $db->query($sql);
-            $row = $result->fetchRow();
-            $dni = $row[0];
-            $nombre = $row[1];
-            $this->dni=$dni;
-            $this->nombre=$nombre;
-            $this->login=$login;
+           
+            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.');
+            }
         }
   }
   // -X2C
@@ -136,7 +154,7 @@ class MECON_Usuario {
       if(! is_null($login))
       {
             $this->ArmarconLOGIN($login);
-            $this->buscarUsuarioDNI($dni);
+            $this->buscarUsuarioDNI($this->getDni());
       }
         
   }
@@ -168,6 +186,17 @@ class MECON_Usuario {
   }
   // -X2C
 
+// +X2C Operation 136
+    /**
+     * @return int
+     * @access public
+     */
+    function getDni() // ~X2C
+  {
+      return $this->dni;
+  }
+  // -X2C
+
     // +X2C Operation 137
     /**
      * @return string
@@ -208,8 +237,9 @@ class MECON_Usuario {
               FROM web003
              WHERE nrodoc = $dni";
       $result = $db->query($sql);
-      if(DB::isError($result))
+      if(DB::isError($result)) {
         die($result->getMessage("query mal hecho"));
+      }
       if($result->numRows() > 0)
       {
           $row = $result->fetchRow(); 
@@ -240,5 +270,32 @@ class MECON_Usuario {
     }
     // -X2C
 
+    /**
+      * Verifica si el login pasado por parametro es valido
+      *
+      * @param string $login Login a verificar
+      *
+      * @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;
+            }
+        }
+        return false;
+    }
+
 } // -X2C Class :MECON_Usuario
 ?>
\ No newline at end of file