require_once 'MECON/Agente.php';
require_once 'DB.php';
+require_once 'PEAR.php';
/**
* @access public
* @access public
*/
var $tipo;
-
-
/**
- * @var string $dsn
- * @access public
- */
- var $dsn = 'mysql://intranet:intranet@bal747f.mecon.ar/usuario';
-
-
+ * @protected
+ */
+ var $_db;
+
/**
* @param string $dni
*
*/
function ArmarconDNI($dni)
{
- $db = DB::connect($this->dsn);
- if (DB::isError($db)) {
- die ($db->getMessage("No pudo conectarse a la base"));
+ $sql = "SELECT login,nombre
+ from usuario.Usuario
+ where dni = $dni";
+ $result = $this->_db->query($sql);
+ if (DB::isError($result)) {
+ return $result;
+ } elseif ($result->NumRows()>0) {
+ $row = $result->fetchRow(DB_FETCHMODE_ORDERED);
+ $login = $row[0];
+ $nombre = $row[1];
+ $this->login=$login;
+ $this->nombre=$nombre;
+ $this->dni=$dni;
} else {
- $sql = "SELECT login,nombre
- from Usuario
- where dni = $dni";
- $result = $db->query($sql);
-
- 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.');
- }
-
+ return new PEAR_Error ('El dni '.$dni.' no existe, debe loguearse al
+ menos una vez a la intranet.');
}
}
*/
function ArmarconLOGIN($login)
{
- $db = DB::connect($this->dsn);
- if (DB::isError($db)) {
- die ($db->getMessage("No pudo conectarse a la base"));
- } else {
-
- //$login = ereg_replace ("@", "\\\@", $login);
- $sql = "SELECT dni,nombre
- from Usuario
- where login = '$login'";
+ //$login = ereg_replace ("@", "\\\@", $login);
+ $sql = "SELECT dni,nombre
+ from usuario.Usuario
+ where login = '$login'";
- $result = $db->query($sql);
+ $result = $this->_db->query($sql);
- 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.');
- }
+ if (DB::isError($result)) {
+ return $result;
+ } elseif ($result->NumRows()>0) {
+ $row = $result->fetchRow(DB_FETCHMODE_ORDERED);
+ $this->dni = $row[0];
+ $this->nombre = $row[1];
+ $this->login = $login;
+ } else {
+ return new PEAR_Error ('El usuario '.$login.' no existe, debe loguearse al
+ menos una vez a la intranet.');
}
}
* @return void
* @access public
*/
- function MECON_Usuario($dni = NULL, $login = NULL)
+ function MECON_Usuario($db, $dni = null, $login = null)
{
+ $this->_db = $db;
if(! is_null($dni)) {
$this->ArmarconDNI($dni);
$this->buscarUsuarioDNI($dni);
/**
* @param int $uario
*
- * @return void
+ * @return lo que devuelve el query (DB_Result o DB_Error).
* @access public
*/
- function Insertar_Usuario($dni = NULL, $login = NULL, $nombre = NULL)
+ function Insertar_Usuario($dni, $login, $nombre)
{
- 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);
- }
- }
+ $sql = "REPLACE INTO usuario.Usuario (login,dni,nombre)
+ values ('$login',$dni,'$nombre')";
+ return $this->_db->query($sql);
}
/**
* @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;
- }
+ function verificarLogin($login) {
+ $sql = "SELECT count(*) as cuenta FROM usuario.Usuario WHERE login = "
+ . $this->_db->quote($login) ;
+ $result = $this->_db->query($sql);
+ if (PEAR::isError($result)) {
+ return $result;
+ }
+ $row = $result->fetchRow(DB_FETCHMODE_ASSOC);
+ if ($row['cuenta'] != 0) {
+ return true;
}
return false;
}
else {
$sql.= ' u.nombre LIKE \'%'.$nombre.'%\'';
}
-
+ $sql.= 'ORDER BY u.login';
+
$db->setFetchMode(DB_FETCHMODE_ASSOC);
$result = $db->query($sql);
return $result;