]> git.llucax.com Git - mecon/meconlib.git/blob - lib/MECON/Usuario.php
35b8ab4c845e96f9a903ea85fb869e4ef98a96d9
[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 require_once 'MECON/Agente.php';
27     
28 require_once 'DB.php';
29
30 // +X2C Class 131 :MECON_Usuario
31 /**
32  * @access public
33  */
34 class MECON_Usuario {
35     /**
36      * @var    int $dni
37      * @access public
38      */
39     var $dni;
40
41     /**
42     * @var    string $login
43     * @access public
44     */
45     var $login;
46     
47     /**
48       * @var    string $nivelygrado
49       * @access public
50       */
51     var $nivelygrado;
52  
53
54     /**
55       * @var    string $codep
56       * @access public
57       */
58     var $codep;
59  
60
61     /**
62       * @var    string $nombre
63       * @access public
64       */
65     var $nombre;
66     
67     /**
68       * @var    string $tipo
69       * @access public
70       */
71     var $tipo;
72     
73
74    
75     /**
76       * @var    string $dsn
77       * @access public
78       */
79     var $dsn = 'mysql://intranet:intranet@bal747f.mecon.ar/usuario';
80
81
82     // ~X2C
83
84     // +X2C Operation 138
85     /**
86      * @param  string $dni 
87      *
88      * @return void
89      * @access public
90      */
91     function ArmarconDNI($dni) // ~X2C
92     {
93         $db = DB::connect($this->dsn);
94         if (DB::isError($db)) {
95             die ($db->getMessage("No pudo conectarse a la base"));
96         } else {
97             $sql = "SELECT login,nombre
98                    from Usuario
99                    where dni = $dni";
100             $result = $db->query($sql);
101
102             if ($result->NumRows()>0) {
103                 $row = $result->fetchRow();
104                 $login = $row[0];
105                 $nombre = $row[1];
106                 $this->login=$login;
107                 $this->nombre=$nombre;
108                 $this->dni=$dni;
109             } else {
110                 die ('El dni '.$dni.' no existe, debe loguearse al
111                      menos una vez a la intranet.');
112             }
113
114         }
115     }
116     // -X2C
117
118
119     // +X2C Operation 136
120     /**
121      * @param  string $login 
122      *
123      * @return void
124      * @access public
125      */
126     function ArmarconLOGIN($login) // ~X2C
127     {
128         $db = DB::connect($this->dsn);
129         if (DB::isError($db)) {
130             die ($db->getMessage("No pudo conectarse a la base"));
131         } else {
132
133             //$login = ereg_replace ("@", "\\\@", $login);
134             $sql = "SELECT dni,nombre
135                    from Usuario
136                    where login = '$login'";
137
138             $result = $db->query($sql);
139
140             if ($result->NumRows()>0) {
141                 $row = $result->fetchRow();
142                 $dni = $row[0];
143                 $nombre = $row[1];
144                 $this->dni=$dni;
145                 $this->nombre=$nombre;
146                 $this->login=$login;
147             } else {
148                 die ('El usuario '.$login.' no existe, debe loguearse al
149                      menos una vez a la intranet.');
150             }
151         }
152     }
153     // -X2C
154
155     // +X2C Operation 135
156     /**
157      * @param  int $dni 
158      *
159      * @return void
160      * @access public
161      */
162     function MECON_Usuario($dni = NULL, $login = NULL) // ~X2C
163     {
164         if(! is_null($dni)) {
165             $this->ArmarconDNI($dni);
166             $this->buscarUsuarioDNI($dni);
167         }
168         if(! is_null($login)) {
169             $this->ArmarconLOGIN($login);
170             $this->buscarUsuarioDNI($this->getDni());
171         }
172
173     }
174     // -X2C
175
176     // +X2C Operation 136
177     /**
178      * @param  int $uario 
179      *
180      * @return void
181      * @access public
182      */
183     function Insertar_Usuario($dni = NULL, $login = NULL, $nombre = NULL) // ~X2C
184     {
185         if((! is_null($dni)) && (! is_null($login)) && (! is_null($nombre))) {
186             $db = DB::connect($this->dsn);
187             if (DB::isError($db)) {
188                 die ($db->getMessage("No pudo conectarse a la base"));
189             } else {
190                 $sql = "REPLACE INTO Usuario (login,dni,nombre)
191                        values ('$login',$dni,'$nombre')";
192                 $result = $db->query($sql);
193             }
194         }
195     }
196     // -X2C
197
198     // +X2C Operation 136
199     /**
200      * @return int
201      * @access public
202      */
203     function getDni() // ~X2C
204     {
205         return $this->dni;
206     }
207     // -X2C
208
209     // +X2C Operation 137
210     /**
211      * @return string
212      * @access public
213      */
214     function getLogin() // ~X2C
215     {
216         return $this->login;
217     }
218     // -X2C
219
220     // +X2C Operation 139
221     /**
222      * @return string
223      * @access public
224      */
225     function getCodep() // ~X2C
226     {
227         return $this->codep;
228     }
229     // -X2C
230
231
232     // +X2C Operation 138
233     /**
234      * @return string
235      * @access public
236      */
237     function getNombre() // ~X2C
238     {
239         return $this->nombre;
240     }
241     // -X2C
242
243     // +X2C Operation 140
244     /**
245      * @return string
246      * @access public
247      */
248     function getNivelygrado() // ~X2C
249     {
250         return $this->nivelygrado;
251     }
252     // -X2C
253
254
255     // +X2C Operation 141
256     /**
257      * @return string
258      * @access public
259      */
260     function getTipo() // ~X2C
261     {
262         return $this->tipo;
263     }
264     // -X2C
265
266
267     // +X2C Operation 154
268     /**
269      * @param  int $dni 
270      *
271      * @return void
272      * @access public
273      */
274     function buscarUsuarioDNI($dni) // ~X2C
275     {
276         $MECON_Agente= & new MECON_Agente($dni);
277         $this->dni = $dni;
278         $nombre = $MECON_Agente->getNombre();
279         $this->nombre = $nombre;
280         $codep= $MECON_Agente->getDependencia();
281         $this->codep = $codep;
282         $tipo= $MECON_Agente->getTipo();
283         $this->tipo = $tipo;
284         $this->nivelygrado="";
285         if (isset($MECON_Agente->datos['nivel']))
286         {
287             $this->nivelygrado=  $MECON_Agente->datos['nivel'].$MECON_Agente->datos['grado'];                               
288         }
289                                 
290     }
291     // -X2C
292
293     /**
294       * Verifica si el login pasado por parametro es valido
295       *
296       * @param string $login Login a verificar
297       *
298       * @return mixed
299       * @access public
300       */
301     function verificarLogin($login = null) {
302         if ($login) {
303             $db = DB::connect($this->dsn);
304             if (PEAR::isError($db)) {
305                 return $db;
306             }
307             $sql = "SELECT count(*) as cuenta FROM Usuario WHERE login = '$login'";
308             $result = $db->query($sql);
309             if (PEAR::isError($result)) {
310                 return $result;
311             }
312             $row = $result->fetchRow(DB_FETCHMODE_ASSOC);
313             if ($row['cuenta'] != 0) {
314                 return true;
315             }
316         }
317         return false;
318     }
319
320 } // -X2C Class :MECON_Usuario
321 ?>