1 <?php /* vim: set binary expandtab tabstop=4 shiftwidth=4 textwidth=80:
2 -------------------------------------------------------------------------------
3 Ministerio de EconomÃa
5 -------------------------------------------------------------------------------
6 This file is part of meconlib.
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)
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.
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';
28 require_once 'DB.php';
30 // +X2C Class 131 :MECON_Usuario
48 * @var string $nivelygrado
79 var $dsn = 'mysql://intranet:intranet@bal747f.mecon.ar/usuario';
91 function ArmarconDNI($dni) // ~X2C
93 $db = DB::connect($this->dsn);
94 if (DB::isError($db)) {
95 die ($db->getMessage("No pudo conectarse a la base"));
97 $sql = "SELECT login,nombre
100 $result = $db->query($sql);
102 if ($result->NumRows()>0) {
103 $row = $result->fetchRow();
107 $this->nombre=$nombre;
110 die ('El dni '.$dni.' no existe, debe loguearse al
111 menos una vez a la intranet.');
119 // +X2C Operation 136
121 * @param string $login
126 function ArmarconLOGIN($login) // ~X2C
128 $db = DB::connect($this->dsn);
129 if (DB::isError($db)) {
130 die ($db->getMessage("No pudo conectarse a la base"));
133 //$login = ereg_replace ("@", "\\\@", $login);
134 $sql = "SELECT dni,nombre
136 where login = '$login'";
138 $result = $db->query($sql);
140 if ($result->NumRows()>0) {
141 $row = $result->fetchRow();
145 $this->nombre=$nombre;
148 die ('El usuario '.$login.' no existe, debe loguearse al
149 menos una vez a la intranet.');
155 // +X2C Operation 135
162 function MECON_Usuario($dni = NULL, $login = NULL) // ~X2C
164 if(! is_null($dni)) {
165 $this->ArmarconDNI($dni);
166 $this->buscarUsuarioDNI($dni);
168 if(! is_null($login)) {
169 $this->ArmarconLOGIN($login);
170 $this->buscarUsuarioDNI($this->getDni());
176 // +X2C Operation 136
183 function Insertar_Usuario($dni = NULL, $login = NULL, $nombre = NULL) // ~X2C
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"));
190 $sql = "REPLACE INTO Usuario (login,dni,nombre)
191 values ('$login',$dni,'$nombre')";
192 $result = $db->query($sql);
198 // +X2C Operation 136
203 function getDni() // ~X2C
209 // +X2C Operation 137
214 function getLogin() // ~X2C
220 // +X2C Operation 139
225 function getCodep() // ~X2C
232 // +X2C Operation 138
237 function getNombre() // ~X2C
239 return $this->nombre;
243 // +X2C Operation 140
248 function getNivelygrado() // ~X2C
250 return $this->nivelygrado;
255 // +X2C Operation 141
260 function getTipo() // ~X2C
267 // +X2C Operation 154
274 function buscarUsuarioDNI($dni) // ~X2C
276 $MECON_Agente= & new MECON_Agente($dni);
278 $nombre = $MECON_Agente->getNombre();
279 $this->nombre = $nombre;
280 $codep= $MECON_Agente->getDependencia();
281 $this->codep = $codep;
282 $tipo= $MECON_Agente->getTipo();
284 $this->nivelygrado="";
285 if (isset($MECON_Agente->datos['nivel']))
287 $this->nivelygrado= $MECON_Agente->datos['nivel'].$MECON_Agente->datos['grado'];
294 * Verifica si el login pasado por parametro es valido
296 * @param string $login Login a verificar
301 function verificarLogin($login = null) {
303 $db = DB::connect($this->dsn);
304 if (PEAR::isError($db)) {
307 $sql = "SELECT count(*) as cuenta FROM Usuario WHERE login = '$login'";
308 $result = $db->query($sql);
309 if (PEAR::isError($result)) {
312 $row = $result->fetchRow(DB_FETCHMODE_ASSOC);
313 if ($row['cuenta'] != 0) {
320 } // -X2C Class :MECON_Usuario