diff --git a/project/src/model/gateways/AdminGateway.php b/project/src/model/gateways/AdminGateway.php index e1b2a97..b566ae4 100755 --- a/project/src/model/gateways/AdminGateway.php +++ b/project/src/model/gateways/AdminGateway.php @@ -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(); } } diff --git a/project/src/model/mdl/MdlAdmin.php b/project/src/model/mdl/MdlAdmin.php index ea3a10f..e92adb3 100755 --- a/project/src/model/mdl/MdlAdmin.php +++ b/project/src/model/mdl/MdlAdmin.php @@ -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']); - }*/ } \ No newline at end of file diff --git a/project/src/model/metier/Admin.php b/project/src/model/metier/Admin.php index 30a40cb..0029aa2 100755 --- a/project/src/model/metier/Admin.php +++ b/project/src/model/metier/Admin.php @@ -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 setEmail(string $email): void + public function getId(): int { - parent::setUsername($email); - } + return $this->id; + } + + /** + * @return string + */ + public function getPassword(): string + { + return $this->password; + } + } \ No newline at end of file