ADD : getter et getFromEmail

php
Victor SOULIER 1 year ago
parent d1810f07e8
commit 8002aeed16

@ -51,14 +51,14 @@ class AdminGateway
$stmt->bindValue(':password', password_hash($password, PASSWORD_DEFAULT));
$stmt->execute();
}
public function getUser(int $id): User
public function getUser(int $id): Admin
{
$sql = "SELECT * FROM Admin WHERE id=:id";
$stmt = $this->con->prepare($sql);
$stmt->bindValue(':id', $id);
$stmt->execute();
$result = $stmt->fetch();
return new User($result['id'], $result['email'], $result['password']);
return new Admin($result['id'], $result['email'], $result['password']);
}
public function getUsers(): array
{
@ -68,7 +68,7 @@ class AdminGateway
$result = $stmt->fetchAll();
$users = [];
foreach ($result as $user) {
$users[] = new User($user['id'], $user['email'], $user['password']);
$users[] = new Admin($user['id'], $user['email'], $user['password']);
}
return $users;
}
@ -100,7 +100,7 @@ class AdminGateway
$result = $stmt->fetch();
return $result['id'];
}
public function getUserByEmailAndPassword(string $email, string $password): User
public function getUserByEmailAndPassword(string $email, string $password): Admin
{
$sql = "SELECT * FROM Admin WHERE email=:email AND password=:password";
$stmt = $this->con->prepare($sql);
@ -108,6 +108,15 @@ class AdminGateway
$stmt->bindValue(':password', password_hash($password, PASSWORD_DEFAULT));
$stmt->execute();
$result = $stmt->fetch();
return new User($result['id'], $result['email'], $result['password']);
return new Admin($result['id'], $result['email'], $result['password']);
}
public function getFromEmail(string $email): array
{
$this->con->executeQuery(
"SELECT id, email, password FROM Admin WHERE email = :email;",
[":pseudo" => [$email, $this->con::PARAM_STR]]
);
return $this->con->getOneResult();
}
}

@ -38,19 +38,9 @@ class MdlAdmin extends MdlBase{
$_SESSION = array();
header("Location: .");
}
/*
public function setPseudo(int $id, string $pseudo): User{
$this->gw->setPseudo($id, $pseudo);
return $this->getFromId($id);
}
public function insertInvite(string $pseudo, string $idSession): User{
$id = $this->gw->insertInvite($pseudo, $idSession);
return $this->getFromId($id);
public function getFromEmail(string $email): Admin{
$row = $this->gw->getFromEmail($email);
return new Admin($row['id'], $row['email'], $row['password']);
}
public function getFromId(int $id): User{
$row = $this->gw->getFromId($id);
return new Invite($row['idjoueur'], $row['pseudo'], $row['idsession']);
}*/
}

@ -2,19 +2,21 @@
namespace model;
class Admin extends User
class Admin
{
private int $id;
private string $email;
private string $password;
/**
* @param int $id
* @param string $username
* @param string $password
* @param string $email
*/
public function __construct(int $id, string $username, string $password, string $email)
public function __construct(int $id, string $email, string $password)
{
parent::__construct($id, $username, $password);
$this->id=$id;
$this->password=$password;
$this->email = $email;
}
@ -23,14 +25,23 @@ class Admin extends User
*/
public function getEmail(): string
{
return parent::getUsername();
return $this->email;
}
/**
* @param string $email
* @return int
*/
public function getId(): int
{
return $this->id;
}
/**
* @return string
*/
public function setEmail(string $email): void
public function getPassword(): string
{
parent::setUsername($email);
return $this->password;
}
}
Loading…
Cancel
Save