]> git.llucax.com Git - mecon/meconlib.git/blobdiff - lib/MECON/Usuario.php
Se termina TablaDB con documentación y todo. Falta probar mejor y dar más ejemplos.
[mecon/meconlib.git] / lib / MECON / Usuario.php
index be7fe89584e281e710aa5a4a3ad3dfa6a41184d3..57095fb280ef1a810613a7a32a48c1670bb9ce3f 100644 (file)
@@ -23,10 +23,10 @@ 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
 /**
  * @access public
  */
@@ -42,13 +42,35 @@ class MECON_Usuario {
     * @access public
     */
     var $login;
+    
+    /**
+      * @var    string $nivelygrado
+      * @access public
+      */
+    var $nivelygrado;
 
+    /**
+      * @var    string $codep
+      * @access public
+      */
+    var $codep;
 
     /**
       * @var    string $nombre
       * @access public
       */
     var $nombre;
+    
+    /**
+      * @var    string $tipo
+      * @access public
+      */
+    var $tipo;
+    
+
+   
     /**
       * @var    string $dsn
       * @access public
@@ -56,16 +78,13 @@ class MECON_Usuario {
     var $dsn = 'mysql://intranet:intranet@bal747f.mecon.ar/usuario';
 
 
-    // ~X2C
-
-    // +X2C Operation 138
     /**
      * @param  string $dni 
      *
      * @return void
      * @access public
      */
-    function ArmarconDNI($dni) // ~X2C
+    function ArmarconDNI($dni) 
     {
         $db = DB::connect($this->dsn);
         if (DB::isError($db)) {
@@ -90,17 +109,14 @@ class MECON_Usuario {
 
         }
     }
-    // -X2C
-
 
-    // +X2C Operation 136
     /**
      * @param  string $login 
      *
      * @return void
      * @access public
      */
-    function ArmarconLOGIN($login) // ~X2C
+    function ArmarconLOGIN($login) 
     {
         $db = DB::connect($this->dsn);
         if (DB::isError($db)) {
@@ -127,16 +143,14 @@ class MECON_Usuario {
             }
         }
     }
-    // -X2C
 
-    // +X2C Operation 135
     /**
      * @param  int $dni 
      *
      * @return void
      * @access public
      */
-    function MECON_Usuario($dni = NULL, $login = NULL) // ~X2C
+    function MECON_Usuario($dni = NULL, $login = NULL) 
     {
         if(! is_null($dni)) {
             $this->ArmarconDNI($dni);
@@ -148,16 +162,14 @@ class MECON_Usuario {
         }
 
     }
-    // -X2C
 
-    // +X2C Operation 136
     /**
      * @param  int $uario 
      *
      * @return void
      * @access public
      */
-    function Insertar_Usuario($dni = NULL, $login = NULL, $nombre = NULL) // ~X2C
+    function Insertar_Usuario($dni = NULL, $login = NULL, $nombre = NULL) 
     {
         if((! is_null($dni)) && (! is_null($login)) && (! is_null($nombre))) {
             $db = DB::connect($this->dsn);
@@ -170,88 +182,87 @@ class MECON_Usuario {
             }
         }
     }
-    // -X2C
 
-    // +X2C Operation 136
     /**
      * @return int
      * @access public
      */
-    function getDni() // ~X2C
+    function getDni() 
     {
         return $this->dni;
     }
-    // -X2C
 
-    // +X2C Operation 137
     /**
      * @return string
      * @access public
      */
-    function getLogin() // ~X2C
+    function getLogin()
     {
         return $this->login;
     }
-    // -X2C
 
-    // +X2C Operation 138
     /**
      * @return string
      * @access public
      */
-    function getNombre() // ~X2C
+    function getCodep() 
+    {
+        return $this->codep;
+    }
+
+
+    /**
+     * @return string
+     * @access public
+     */
+    function getNombre()
     {
         return $this->nombre;
     }
-    // -X2C
+
+    /**
+     * @return string
+     * @access public
+     */
+    function getNivelygrado() 
+    {
+        return $this->nivelygrado;
+    }
+
+
+    /**
+     * @return string
+     * @access public
+     */
+    function getTipo() 
+    {
+        return $this->tipo;
+    }
 
 
-    // +X2C Operation 154
     /**
      * @param  int $dni 
      *
      * @return void
      * @access public
      */
-    function buscarUsuarioDNI($dni) // ~X2C
+    function buscarUsuarioDNI($dni) 
     {
+        $MECON_Agente= & new MECON_Agente($dni);
         $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"));
+        $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'];                               
         }
-        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;
+                                
     }
-    // -X2C
 
     /**
       * Verifica si el login pasado por parametro es valido
@@ -280,5 +291,37 @@ class MECON_Usuario {
         return false;
     }
 
-} // -X2C Class :MECON_Usuario
+    /**
+     * Devuelve un array de logins con aquellos que cumplan con algun requisito
+     * del filtro.
+     *
+     * @param DB &$db Base de Datos
+     * @param string $login Login a filtrar. (Puede ser completo o una parte de el)
+     * @param string $nombre Nombre a filtrar.
+     *
+     * @return mixed
+     * @access public
+     * @static
+     */
+    function filtrarUsuarios(&$db, $login, $nombre) {
+        if ($login && $nombre) {
+            return new PEAR_Error('Solo debe ingresarse una opcion de filtro,
+                    login o nombre, a la vez.');
+        }
+        $sql = "SELECT u.login as login, u.nombre as nombre FROM usuario.Usuario as u 
+                WHERE ";
+
+        if ($login) {
+            $sql.= ' u.login LIKE \'%'.$login.'%\'';
+        }
+        else {
+            $sql.= ' u.nombre LIKE \'%'.$nombre.'%\'';
+        }
+        $sql.= 'ORDER BY u.login';
+
+        $db->setFetchMode(DB_FETCHMODE_ASSOC);
+        $result = $db->query($sql);
+        return $result;
+    }
+} 
 ?>