]> git.llucax.com Git - mecon/meconlib.git/blob - lib/MECON/Usuario.php
Cambio el atributo licencia por un metodo deLicencia
[mecon/meconlib.git] / lib / MECON / Usuario.php
1 <?php /* vim: set binary expandtab tabstop=4 shiftwidth=4 textwidth=80:
2 -------------------------------------------------------------------------------
3                              Ministerio de Economía
4                                     meconlib
5 -------------------------------------------------------------------------------
6 This file is part of meconlib.
7
8 meconlib is free software; you can redistribute it and/or modify it under
9 the terms of the GNU General Public License as published by the Free
10 Software Foundation; either version 2 of the License, or (at your option)
11 any later version.
12
13 meconlib is distributed in the hope that it will be useful, but WITHOUT
14 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
15 FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
16  
17 You should have received a copy of the GNU General Public License; if not,
18 write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
19 Boston, MA  02111-1307  USA
20 -------------------------------------------------------------------------------
21 Creado: Thu Aug 11 15:17:11 2003
22 Autor:  Manuel Nazar <manazar@mecon.gov.ar>
23 -------------------------------------------------------------------------------
24 $Id: Usuario.php 242 2003-08-11 18:02:16Z manazar $
25 -----------------------------------------------------------------------------*/
26
27 require_once 'DB.php';
28
29 // +X2C Class 131 :MECON_Usuario
30 /**
31  * @access public
32  */
33 class MECON_Usuario {
34     /**
35      * @var    int $dni
36      * @access public
37      */
38     var $dni;
39
40      /**
41      * @var    string $login
42      * @access public
43      */
44     var $login;
45
46
47    /**
48      * @var    string $nombre
49      * @access public
50      */
51     var $nombre;
52    /**
53      * @var    string $dsn
54      * @access public
55      */
56     var $dsn = 'mysql://intranet:intranet@bal747f.mecon.ar/usuario';
57
58
59     // ~X2C
60
61 // +X2C Operation 138
62     /**
63      * @param  string $dni 
64      *
65      * @return void
66      * @access public
67      */
68     function ArmarconDNI($dni) // ~X2C
69   {
70         $db = DB::connect($this->dsn);
71         if (DB::isError($db)) 
72         {
73             die ($db->getMessage("No pudo conectarse a la base"));
74         }
75         else
76         {
77             $sql = "SELECT login,nombre
78                     from Usuario
79                     where dni = $dni";
80             $result = $db->query($sql);
81
82             if ($result->NumRows()>0){
83                 $row = $result->fetchRow();
84                 $login = $row[0];
85                 $nombre = $row[1];
86                 $this->login=$login;
87                 $this->nombre=$nombre;
88                 $this->dni=$dni;
89             }
90             else {
91                 die ('El dni '.$dni.' no existe, debe loguearse al
92                         menos una vez a la intranet.');
93             }
94
95         }
96   }
97   // -X2C
98
99
100 // +X2C Operation 136
101     /**
102      * @param  string $login 
103      *
104      * @return void
105      * @access public
106      */
107     function ArmarconLOGIN($login) // ~X2C
108   {
109         $db = DB::connect($this->dsn);
110         if (DB::isError($db)) 
111         {
112             die ($db->getMessage("No pudo conectarse a la base"));
113         }
114         else
115         {
116             
117             //$login = ereg_replace ("@", "\\\@", $login);
118             $sql = "SELECT dni,nombre
119                     from Usuario
120                     where login = '$login'";
121
122             $result = $db->query($sql);
123            
124             if ($result->NumRows()>0){
125                 $row = $result->fetchRow();
126                 $dni = $row[0];
127                 $nombre = $row[1];
128                 $this->dni=$dni;
129                 $this->nombre=$nombre;
130                 $this->login=$login;
131             }
132             else {
133                 die ('El usuario '.$login.' no existe, debe loguearse al
134                         menos una vez a la intranet.');
135             }
136         }
137   }
138   // -X2C
139
140      // +X2C Operation 135
141     /**
142      * @param  int $dni 
143      *
144      * @return void
145      * @access public
146      */
147     function MECON_Usuario($dni = NULL, $login = NULL) // ~X2C
148   {
149       if(! is_null($dni))
150       {
151             $this->ArmarconDNI($dni);
152             $this->buscarUsuarioDNI($dni);
153       }
154       if(! is_null($login))
155       {
156             $this->ArmarconLOGIN($login);
157             $this->buscarUsuarioDNI($this->getDni());
158       }
159         
160   }
161   // -X2C
162
163   // +X2C Operation 136
164     /**
165      * @param  int $uario 
166      *
167      * @return void
168      * @access public
169      */
170     function Insertar_Usuario($dni = NULL, $login = NULL, $nombre = NULL) // ~X2C
171   {
172       if((! is_null($dni)) && (! is_null($login)) && (! is_null($nombre)))
173       {
174         $db = DB::connect($this->dsn);
175         if (DB::isError($db)) 
176         {
177             die ($db->getMessage("No pudo conectarse a la base"));
178         }
179         else
180         {
181             $sql = "REPLACE INTO Usuario (login,dni,nombre) 
182                     values ('$login',$dni,'$nombre')";
183             $result = $db->query($sql);
184         }
185       }
186   }
187   // -X2C
188
189 // +X2C Operation 136
190     /**
191      * @return int
192      * @access public
193      */
194     function getDni() // ~X2C
195   {
196       return $this->dni;
197   }
198   // -X2C
199
200     // +X2C Operation 137
201     /**
202      * @return string
203      * @access public
204      */
205     function getLogin() // ~X2C
206   {
207       return $this->login;
208   }
209   // -X2C
210
211     // +X2C Operation 138
212     /**
213      * @return string
214      * @access public
215      */
216     function getNombre() // ~X2C
217   {
218       return $this->nombre;
219   }
220   // -X2C
221
222    
223    // +X2C Operation 154
224     /**
225      * @param  int $dni 
226      *
227      * @return void
228      * @access public
229      */
230     function buscarUsuarioDNI($dni) // ~X2C
231     {
232       $this->dni = $dni;
233       $dsn = 'mysql://intranet:intranet@intranet-db/novedades';
234       $db = DB::connect($dsn);
235       if (DB::isError($db)) die ($db->getMessage("No pudo conectarse a la base"));
236       $sql = "SELECT nombre
237               FROM web003
238               WHERE nrodoc = $dni";
239       $result = $db->query($sql);
240       if(DB::isError($result)) {
241         die($result->getMessage("query mal hecho"));
242       }
243       if($result->numRows() > 0)
244       {
245           $row = $result->fetchRow(); 
246           $nombre = $row[0];
247           $this->nombre = $nombre; 
248       }
249       else
250       {
251           $dsn = 'mysql://intranet:intranet@intranet-db/Contratados';
252           $db = DB::connect($dsn);
253           if (DB::isError($db)) die ($db->getMessage("No pudo conectarse a la base"));
254           $sql = "SELECT nombre 
255                   FROM Contratados
256                   WHERE nrodoc = $dni";
257           $result = $db->query($sql);
258           if(DB::isError($result))
259             die($result->getMessage("query mal hecho"));
260           if($result->numRows() > 0)
261           {
262             $row = $result->fetchRow(); 
263             $nombre = $row[0];
264             $this->nombre = $nombre; 
265           }
266           else
267             return false;
268       }
269       return true;
270     }
271     // -X2C
272
273     /**
274       * Verifica si el login pasado por parametro es valido
275       *
276       * @param string $login Login a verificar
277       *
278       * @return mixed
279       * @access public
280       */
281     function verificarLogin($login = null) {
282         if ($login) {
283             $db = DB::connect($this->dsn);
284             if (PEAR::isError($db)) { 
285                 return $db;
286             }
287             $sql = "SELECT count(*) as cuenta FROM Usuario WHERE login = '$login'";
288             $result = $db->query($sql);
289             if (PEAR::isError($result)) { 
290                 return $result;
291             }
292             $row = $result->fetchRow(DB_FETCHMODE_ASSOC); 
293             if ($row['cuenta'] != 0) {
294                 return true;
295             }
296         }
297         return false;
298     }
299
300 } // -X2C Class :MECON_Usuario
301 ?>