[Obtiene] los datos de verificación de un usuario

This commit is contained in:
Ricardo García Jiménez 2021-10-06 16:26:09 -05:00
parent d0de0b2090
commit dcbba62f70
3 changed files with 39 additions and 6 deletions

View file

@ -6,6 +6,17 @@ require_once 'models/verificationsModel.php';
class verificationsController {
public static function verifications() {
//
if (empty($_GET['user']) || empty($_GET['key'])) {
utils::redirect(NABU_ROUTES['home']);
}
$verificationsModel = new verificationsModel();
// Busca los datos de verificación del usuario.
$user = $verificationsModel -> get($_GET['user']);
if (empty($user['hash']) || empty($user['hash_expiration'])) {
utils::redirect(NABU_ROUTES['home']);
}
}
}

View file

@ -9,7 +9,7 @@ class usersModel extends connection {
// @return un lista de arrays asociativos con los datos de usuarios.
public function find(string $username, string $email) {
$query = 'SELECT u.id, u.role_id AS role, u.username, u.email, u.password, u.activated, u.creation_date,' .
$query = 'SELECT u.id, u.username, u.email, u.password, u.activated, u.creation_date,' .
'v.hash, v.expiration AS hash_expiration FROM users AS u ' .
'LEFT JOIN verifications AS v on u.id = v.id ' .
'WHERE u.username = ? OR u.email = ? LIMIT 2';
@ -59,8 +59,8 @@ class usersModel extends connection {
$user = $prepare -> fetch();
if ($user !== false) {
$user['role'] = $this -> role_format($user['role']);
if (empty($user)) {
return array();
}
return $user;
@ -84,7 +84,6 @@ class usersModel extends connection {
public function __destruct() {
parent::__destruct();
$this -> pdo = null;
}
}

View file

@ -19,9 +19,32 @@ class verificationsModel extends connection {
}
}
// @return un array asociativo con los datos de verificación de un usuario.
public function get(string $username) {
$query = 'SELECT u.id, u.email, v.hash, v.expiration as hash_expiration ' .
'FROM users AS u LEFT JOIN verifications AS v ON u.id = v.id ' .
'WHERE u.username = ? LIMIT 1';
try {
$prepare = $this -> pdo -> prepare($query);
$prepare -> execute(array($username));
$user = $prepare -> fetch();
if (empty($user)) {
return array();
}
return $user;
}
catch (PDOException $e) {
$this -> errors($e -> getMessage(), 'tuvimos un problema para validar tu dirección de correo electrónico');
}
}
public function __destruct() {
parent::__destruct();
$this -> pdo = null;
}
}