2021-03-24 21:35:59 +01:00
|
|
|
<?php
|
|
|
|
class UserDAO extends DAO {
|
|
|
|
|
|
|
|
//Constants:
|
2021-04-06 12:00:31 +02:00
|
|
|
private const _USER = "user";
|
|
|
|
private const _MANAGER = "manager";
|
|
|
|
private const _ADMIN = "admin";
|
2021-03-24 21:35:59 +01:00
|
|
|
|
|
|
|
//Attributes:
|
|
|
|
|
|
|
|
//Constructor:
|
2021-04-06 12:00:31 +02:00
|
|
|
function __construct($bd_name){
|
2021-03-24 21:35:59 +01:00
|
|
|
parent::__construct();
|
|
|
|
}
|
|
|
|
|
|
|
|
//Methods:
|
|
|
|
|
|
|
|
//Encrypt password with SHA254
|
|
|
|
private function encryptPass($password){
|
|
|
|
$password = hash('sha256', $password);
|
|
|
|
|
|
|
|
return $password;
|
|
|
|
}
|
|
|
|
|
|
|
|
//Create a new User:
|
|
|
|
public function createUser($id, $username, $email, $password, $rol){
|
|
|
|
$password = $this->encryptPass($password);
|
|
|
|
$sql = sprintf( "INSERT INTO users( id, username, email, passwd, rol)
|
|
|
|
VALUES ( '%s', '%s', '%s', '%s', '%s')",
|
|
|
|
$id, $username, $email, $password, $rol );
|
|
|
|
|
|
|
|
return $sql;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
//Returns a query to check if the user name exists:
|
|
|
|
public function selectUser($username){
|
|
|
|
$sql = sprintf( "SELECT * FROM users WHERE username = '%s'", $username );
|
|
|
|
|
|
|
|
return $sql;
|
|
|
|
}
|
|
|
|
|
|
|
|
//Returns a query to get the user's data:
|
|
|
|
public function userData($id){
|
|
|
|
$sql = sprintf( "SELECT * FROM users WHERE id = '%d'", $id );
|
|
|
|
|
|
|
|
return $sql;
|
|
|
|
}
|
|
|
|
|
|
|
|
//Create a new User Data Transfer Object:
|
|
|
|
public function loadUser($id, $username, $email, $password, $rol){
|
|
|
|
return new UserDTO($id, $username, $email, $password, $rol);
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
?>
|