X-Git-Url: https://git.llucax.com/mecon/meconlib.git/blobdiff_plain/4f895932f81bf23757b16f38b71344559149fc1f..80f160f2643ca530655c1729383213a34a93ed66:/lib/MECON/Usuario.php diff --git a/lib/MECON/Usuario.php b/lib/MECON/Usuario.php index 844e248..35b8ab4 100644 --- a/lib/MECON/Usuario.php +++ b/lib/MECON/Usuario.php @@ -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 ------------------------------------------------------------------------------- $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 +?>