[Implementa] búsqueda de usuarios y role_format se cambia a connection.php
This commit is contained in:
parent
a1132a825f
commit
c26247d637
|
@ -38,6 +38,8 @@ class usersController {
|
|||
|
||||
$usersModel = new usersModel();
|
||||
|
||||
$users = $usersModel -> find($data['username'], $data['email']);
|
||||
|
||||
// Genera una llave aleatoria de verificación de dirección de e-mail.
|
||||
$key = bin2hex(random_bytes(32));
|
||||
|
||||
|
|
|
@ -57,6 +57,21 @@ class connection {
|
|||
messages::errors('¡Lo sentimos mucho! 😞, ' . $error . ', por favor inténtelo más tarde', 500);
|
||||
}
|
||||
|
||||
// @return el alias de un 'id de role'.
|
||||
protected function role_format($id) {
|
||||
$role = 'user';
|
||||
|
||||
if ($id == 1) {
|
||||
$role = 'admin';
|
||||
}
|
||||
|
||||
if ($id == 2) {
|
||||
$role = 'moderator';
|
||||
}
|
||||
|
||||
return $role;
|
||||
}
|
||||
|
||||
// Finaliza la conexión con la base de datos.
|
||||
public function __destruct() {
|
||||
$this -> pdo = null;
|
||||
|
|
|
@ -7,19 +7,29 @@ class usersModel extends connection {
|
|||
parent::__construct();
|
||||
}
|
||||
|
||||
// @return el alias de un 'id de role'.
|
||||
private function role_format($id) {
|
||||
$role = 'user';
|
||||
// @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,' .
|
||||
'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';
|
||||
|
||||
if ($id == 1) {
|
||||
$role = 'admin';
|
||||
try {
|
||||
$prepare = $this -> pdo -> prepare($query);
|
||||
|
||||
$prepare -> execute(array($username, $email));
|
||||
|
||||
$users = $prepare -> fetchAll();
|
||||
|
||||
if (empty($users)) {
|
||||
return array();
|
||||
}
|
||||
|
||||
return $users;
|
||||
}
|
||||
|
||||
if ($id == 2) {
|
||||
$role = 'moderator';
|
||||
catch(PDOException $e) {
|
||||
$this -> errors($e -> getMessage(), 'tuvimos un problema para validar si tu apodo y dirección de correo electrónico son únicos');
|
||||
}
|
||||
|
||||
return $role;
|
||||
}
|
||||
|
||||
// Registra un nuevo usuario.
|
||||
|
@ -35,12 +45,12 @@ class usersModel extends connection {
|
|||
}
|
||||
}
|
||||
|
||||
// Obtiene los datos de un solo usuario.
|
||||
// @return un array asociativo con los datos de un solo usuario.
|
||||
public function get(string $column, $pattern) {
|
||||
$query = 'SELECT u.id, u.role_id AS role, 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 ' . $column . ' = ? LIMIT 1';
|
||||
'WHERE u.' . $column . ' = ? LIMIT 1';
|
||||
|
||||
try {
|
||||
$prepare = $this -> pdo -> prepare($query);
|
||||
|
|
Loading…
Reference in a new issue