public static function verifyUser($usuario, $password) { try { $sql = 'SELECT ' . credencialTableClass::getNameField(credencialTableClass::NOMBRE) . ' as credencial, ' . usuarioTableClass::getNameField(usuarioTableClass::USER) . ' as usuario, ' . usuarioTableClass::getNameField(usuarioTableClass::ID) . ' as id_usuario FROM ' . usuarioTableClass::getNameTable() . ' LEFT JOIN ' . usuarioCredencialTableClass::getNameTable() . ' ON ' . usuarioTableClass::getNameField(usuarioTableClass::ID) . ' = ' . usuarioCredencialTableClass::getNameField(usuarioCredencialTableClass::USUARIO_ID) . ' LEFT JOIN ' . credencialTableClass::getNameTable() . ' ON ' . credencialTableClass::getNameField(credencialTableClass::ID) . ' = ' . usuarioCredencialTableClass::getNameField(usuarioCredencialTableClass::CREDENCIAL_ID) . ' WHERE ' . usuarioTableClass::getNameField(usuarioTableClass::ACTIVED) . ' = :actived AND ' . usuarioTableClass::getNameField(usuarioTableClass::DELETED_AT) . ' IS NULL AND ' . credencialTableClass::getNameField(credencialTableClass::DELETED_AT) . ' IS NULL AND ' . usuarioTableClass::getNameField(usuarioTableClass::USER) . ' = :user AND ' . usuarioTableClass::getNameField(usuarioTableClass::PASSWORD) . ' = :pass'; $params = array(':user' => $usuario, ':pass' => md5($password), ':actived' => config::getDbDriver() === 'mysql' ? 1 : 't'); $answer = model::getInstance()->prepare($sql); $answer->execute($params); $answer = $answer->fetchAll(PDO::FETCH_OBJ); return count($answer) > 0 ? $answer : false; } catch (PDOException $exc) { throw $exc; } }
public static function getUserAndPassword($ip_address, $hash) { try { $sql = 'SELECT ' . usuarioTableClass::getNameField(usuarioTableClass::ID) . ' AS id_usuario, ' . usuarioTableClass::getNameField(usuarioTableClass::USER) . ' AS usuario, ' . credencialTableClass::getNameField(credencialTableClass::NOMBRE) . ' AS credencial FROM ' . usuarioTableClass::getNameTable() . ' INNER JOIN ' . recordarMeTableClass::getNameTable() . ' ON ' . usuarioTableClass::getNameField(usuarioTableClass::ID) . ' = ' . recordarMeTableClass::getNameField(recordarMeTableClass::USUARIO_ID) . ' INNER JOIN ' . usuarioCredencialTableClass::getNameTable() . ' ON ' . usuarioTableClass::getNameField(usuarioTableClass::ID) . ' = ' . usuarioCredencialTableClass::getNameField(usuarioCredencialTableClass::USUARIO_ID) . ' INNER JOIN ' . credencialTableClass::getNameTable() . ' ON ' . credencialTableClass::getNameField(credencialTableClass::ID) . ' = ' . usuarioCredencialTableClass::getNameField(usuarioCredencialTableClass::CREDENCIAL_ID) . ' WHERE ' . recordarMeBaseTableClass::getNameField(recordarMeTableClass::IP_ADDRESS) . ' = :ip_address AND ' . recordarMeBaseTableClass::getNameField(recordarMeTableClass::HASH_COOKIE) . ' = :hash AND ' . usuarioBaseTableClass::getNameField(usuarioBaseTableClass::DELETED_AT) . ' IS NULL AND ' . usuarioBaseTableClass::getNameField(usuarioBaseTableClass::ACTIVED) . ' = :actived AND ' . credencialTableClass::getNameField(credencialTableClass::DELETED_AT) . ' IS NULL'; $params = array(':ip_address' => $ip_address, ':hash' => $hash, ':actived' => config::getDbDriver() === 'mysql' ? 1 : 't'); $answer = model::getInstance()->prepare($sql); $answer->execute($params); $answer = $answer->fetchAll(PDO::FETCH_OBJ); return count($answer) > 0 ? $answer : false; } catch (PDOException $exc) { throw $exc; } }
public function execute() { try { if (request::getInstance()->isMethod('POST')) { $id = request::getInstance()->getPost(usuarioCredencialTableClass::getNameField(usuarioCredencialTableClass::ID, true)); $credencial = request::getInstance()->getPost(usuarioCredencialTableClass::getNameField(usuarioCredencialTableClass::CREDENCIAL_ID, true)); $usuario_id = request::getInstance()->getPost(usuarioCredencialTableClass::getNameField(usuarioCredencialTableClass::USUARIO_ID, true)); $ids = array(usuarioCredencialTableClass::ID => $id); $data = array(usuarioCredencialTableClass::USUARIO_ID => $usuario_id, usuarioCredencialTableClass::CREDENCIAL_ID => $credencial); usuarioCredencialTableClass::update($ids, $data); session::getInstance()->setSuccess(i18n::__('succesUpdate', null, 'userCredencial')); log::register(i18n::__('update'), usuarioCredencialTableClass::getNameTable()); routing::getInstance()->redirect('usuario', 'indexUsuCredencial'); } else { log::register(i18n::__('update'), usuarioCredencialTableClass::getNameTable(), i18n::__('errorUpdateBitacora')); session::getInstance()->setError(i18n::__('errorUpdate', null, 'userCredencial')); routing::getInstance()->redirect('usuario', 'indexUsuCredencial'); } } catch (PDOException $exc) { session::getInstance()->setFlash('exc', $exc); routing::getInstance()->forward('shfSecurity', 'exception'); } }