X-Git-Url: https://git.llucax.com/mecon/meconlib.git/blobdiff_plain/4f895932f81bf23757b16f38b71344559149fc1f..6c963757fb2c5e038b93c67fff64997180c33c09:/lib/MECON/Usuario.php?ds=sidebyside diff --git a/lib/MECON/Usuario.php b/lib/MECON/Usuario.php index 844e248..be7fe89 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. @@ -37,28 +37,28 @@ class MECON_Usuario { */ var $dni; - /** - * @var string $login - * @access public - */ + /** + * @var string $login + * @access public + */ var $login; - /** - * @var string $nombre - * @access public - */ + /** + * @var string $nombre + * @access public + */ var $nombre; - /** - * @var string $dsn - * @access public - */ + /** + * @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 +66,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 +101,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 +137,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 Operation 136 + } + // -X2C + + // +X2C Operation 136 /** * @param int $uario * @@ -150,23 +158,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 +189,10 @@ class MECON_Usuario { * @access public */ function getLogin() // ~X2C - { - return $this->login; - } - // -X2C + { + return $this->login; + } + // -X2C // +X2C Operation 138 /** @@ -185,13 +200,13 @@ class MECON_Usuario { * @access public */ function getNombre() // ~X2C - { - return $this->nombre; - } - // -X2C + { + return $this->nombre; + } + // -X2C + - - // +X2C Operation 154 + // +X2C Operation 154 /** * @param int $dni * @@ -200,45 +215,70 @@ 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)) + $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(); + } + if($result->numRows() > 0) { + $row = $result->fetchRow(); $nombre = $row[0]; - $this->nombre = $nombre; - } - else - return false; - } - return true; + $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 + * + * @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 +?>