]> git.llucax.com Git - mecon/meconlib.git/blobdiff - lib/MECON/Usuario.php
BugFix.
[mecon/meconlib.git] / lib / MECON / Usuario.php
index 844e248b5636e46d8630b9095aa564fe87b57c41..35b8ab4c845e96f9a903ea85fb869e4ef98a96d9 100644 (file)
@@ -4,12 +4,12 @@
                                     meconlib
 -------------------------------------------------------------------------------
 This file is part of meconlib.
-
 meconlib is free software; you can redistribute it and/or modify it under
 the terms of the GNU General Public License as published by the Free
 Software Foundation; either version 2 of the License, or (at your option)
 any later version.
-
 meconlib is distributed in the hope that it will be useful, but WITHOUT
 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
 FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
@@ -23,7 +23,8 @@ Autor:  Manuel Nazar <manazar@mecon.gov.ar>
 -------------------------------------------------------------------------------
 $Id: Usuario.php 242 2003-08-11 18:02:16Z manazar $
 -----------------------------------------------------------------------------*/
-
+require_once 'MECON/Agente.php';
+    
 require_once 'DB.php';
 
 // +X2C Class 131 :MECON_Usuario
@@ -37,28 +38,50 @@ class MECON_Usuario {
      */
     var $dni;
 
-     /**
-     * @var    string $login
-     * @access public
-     */
+    /**
+    * @var    string $login
+    * @access public
+    */
     var $login;
+    
+    /**
+      * @var    string $nivelygrado
+      * @access public
+      */
+    var $nivelygrado;
 
+    /**
+      * @var    string $codep
+      * @access public
+      */
+    var $codep;
 
-   /**
-     * @var    string $nombre
-     * @access public
-     */
+    /**
+      * @var    string $nombre
+      * @access public
+      */
     var $nombre;
-   /**
-     * @var    string $dsn
-     * @access public
-     */
+    
+    /**
+      * @var    string $tipo
+      * @access public
+      */
+    var $tipo;
+    
+
+   
+    /**
+      * @var    string $dsn
+      * @access public
+      */
     var $dsn = 'mysql://intranet:intranet@bal747f.mecon.ar/usuario';
 
 
     // ~X2C
 
-// +X2C Operation 138
+    // +X2C Operation 138
     /**
      * @param  string $dni 
      *
@@ -66,30 +89,34 @@ class MECON_Usuario {
      * @access public
      */
     function ArmarconDNI($dni) // ~X2C
-  {
+    {
         $db = DB::connect($this->dsn);
-        if (DB::isError($db)) 
-        {
+        if (DB::isError($db)) {
             die ($db->getMessage("No pudo conectarse a la base"));
-        }
-        else
-        {
+        } else {
             $sql = "SELECT login,nombre
-                    from Usuario
-                    where dni = $dni";
+                   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
+    }
+    // -X2C
 
 
-// +X2C Operation 136
+    // +X2C Operation 136
     /**
      * @param  string $login 
      *
@@ -97,29 +124,35 @@ class MECON_Usuario {
      * @access public
      */
     function ArmarconLOGIN($login) // ~X2C
-  {
+    {
         $db = DB::connect($this->dsn);
-        if (DB::isError($db)) 
-        {
+        if (DB::isError($db)) {
             die ($db->getMessage("No pudo conectarse a la base"));
-        }
-        else
-        {
+        } else {
+
+            //$login = ereg_replace ("@", "\\\@", $login);
             $sql = "SELECT dni,nombre
-                    from Usuario
-                    where login = '$login'";
+                   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
+    }
+    // -X2C
 
-     // +X2C Operation 135
+    // +X2C Operation 135
     /**
      * @param  int $dni 
      *
@@ -127,22 +160,20 @@ class MECON_Usuario {
      * @access public
      */
     function MECON_Usuario($dni = NULL, $login = NULL) // ~X2C
-  {
-      if(! is_null($dni))
-      {
+    {
+        if(! is_null($dni)) {
             $this->ArmarconDNI($dni);
             $this->buscarUsuarioDNI($dni);
-      }
-      if(! is_null($login))
-      {
+        }
+        if(! is_null($login)) {
             $this->ArmarconLOGIN($login);
-            $this->buscarUsuarioDNI($dni);
-      }
-        
-  }
-  // -X2C
+            $this->buscarUsuarioDNI($this->getDni());
+        }
+
+    }
+    // -X2C
 
-  // +X2C Operation 136
+    // +X2C Operation 136
     /**
      * @param  int $uario 
      *
@@ -150,23 +181,30 @@ class MECON_Usuario {
      * @access public
      */
     function Insertar_Usuario($dni = NULL, $login = NULL, $nombre = NULL) // ~X2C
-  {
-      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);
+    {
+        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);
+            }
         }
-      }
-  }
-  // -X2C
+    }
+    // -X2C
+
+    // +X2C Operation 136
+    /**
+     * @return int
+     * @access public
+     */
+    function getDni() // ~X2C
+    {
+        return $this->dni;
+    }
+    // -X2C
 
     // +X2C Operation 137
     /**
@@ -174,10 +212,22 @@ class MECON_Usuario {
      * @access public
      */
     function getLogin() // ~X2C
-  {
-      return $this->login;
-  }
-  // -X2C
+    {
+        return $this->login;
+    }
+    // -X2C
+
+    // +X2C Operation 139
+    /**
+     * @return string
+     * @access public
+     */
+    function getCodep() // ~X2C
+    {
+        return $this->codep;
+    }
+    // -X2C
+
 
     // +X2C Operation 138
     /**
@@ -185,13 +235,36 @@ class MECON_Usuario {
      * @access public
      */
     function getNombre() // ~X2C
-  {
-      return $this->nombre;
-  }
-  // -X2C
+    {
+        return $this->nombre;
+    }
+    // -X2C
 
-   
-   // +X2C Operation 154
+    // +X2C Operation 140
+    /**
+     * @return string
+     * @access public
+     */
+    function getNivelygrado() // ~X2C
+    {
+        return $this->nivelygrado;
+    }
+    // -X2C
+
+
+    // +X2C Operation 141
+    /**
+     * @return string
+     * @access public
+     */
+    function getTipo() // ~X2C
+    {
+        return $this->tipo;
+    }
+    // -X2C
+
+
+    // +X2C Operation 154
     /**
      * @param  int $dni 
      *
@@ -200,45 +273,49 @@ class MECON_Usuario {
      */
     function buscarUsuarioDNI($dni) // ~X2C
     {
-      $this->dni = $dni;
-      $dsn = 'mysql://intranet:intranet@intranet-db/novedades';
-      $db = DB::connect($dsn);
-      if (DB::isError($db)) die ($db->getMessage("No pudo conectarse a la base"));
-      $sql = "SELECT nombre
-              FROM web003
-             WHERE nrodoc = $dni";
-      $result = $db->query($sql);
-      if(DB::isError($result))
-        die($result->getMessage("query mal hecho"));
-      if($result->numRows() > 0)
-      {
-          $row = $result->fetchRow(); 
-          $nombre = $row[0];
-          $this->nombre = $nombre; 
-      }
-      else
-      {
-          $dsn = 'mysql://intranet:intranet@intranet-db/Contratados';
-          $db = DB::connect($dsn);
-          if (DB::isError($db)) die ($db->getMessage("No pudo conectarse a la base"));
-          $sql = "SELECT nombre 
-                  FROM Contratados
-                 WHERE nrodoc = $dni";
-          $result = $db->query($sql);
-          if(DB::isError($result))
-            die($result->getMessage("query mal hecho"));
-          if($result->numRows() > 0)
-          {
-            $row = $result->fetchRow(); 
-            $nombre = $row[0];
-            $this->nombre = $nombre; 
-          }
-         else
-            return false;
-      }
-      return true;
+        $MECON_Agente= & new MECON_Agente($dni);
+        $this->dni = $dni;
+        $nombre = $MECON_Agente->getNombre();
+        $this->nombre = $nombre;
+        $codep= $MECON_Agente->getDependencia();
+        $this->codep = $codep;
+        $tipo= $MECON_Agente->getTipo();
+        $this->tipo = $tipo;
+        $this->nivelygrado="";
+        if (isset($MECON_Agente->datos['nivel']))
+        {
+            $this->nivelygrado=  $MECON_Agente->datos['nivel'].$MECON_Agente->datos['grado'];                               
+        }
+                                
     }
     // -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
+?>