+ /**
+ * 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;
+ }
+
+ /**
+ * Devuelve un array de logins con aquellos que cumplan con algun requisito
+ * del filtro.
+ *
+ * @param DB &$db Base de Datos
+ * @param string $login Login a filtrar. (Puede ser completo o una parte de el)
+ * @param string $nombre Nombre a filtrar.
+ *
+ * @return mixed
+ * @access public
+ * @static
+ */
+ function filtrarUsuarios(&$db, $login, $nombre) {
+ if ($login && $nombre) {
+ return new PEAR_Error('Solo debe ingresarse una opcion de filtro,
+ login o nombre, a la vez.');
+ }
+ $sql = "SELECT u.login as login, u.nombre as nombre FROM usuario.Usuario as u
+ WHERE ";
+
+ if ($login) {
+ $sql.= ' u.login LIKE \'%'.$login.'%\'';
+ }
+ else {
+ $sql.= ' u.nombre LIKE \'%'.$nombre.'%\'';
+ }
+ $sql.= 'ORDER BY u.login';
+
+ $db->setFetchMode(DB_FETCHMODE_ASSOC);
+ $result = $db->query($sql);
+ return $result;
+ }
+}
+?>