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->bindValue(':password', password_hash($password, PASSWORD_DEFAULT));
$stmt->execute(); $stmt->execute();
} }
public function getUser(int $id): User public function getUser(int $id): Admin
{ {
$sql = "SELECT * FROM Admin WHERE id=:id"; $sql = "SELECT * FROM Admin WHERE id=:id";
$stmt = $this->con->prepare($sql); $stmt = $this->con->prepare($sql);
$stmt->bindValue(':id', $id); $stmt->bindValue(':id', $id);
$stmt->execute(); $stmt->execute();
$result = $stmt->fetch(); $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 public function getUsers(): array
{ {
@ -68,7 +68,7 @@ class AdminGateway
$result = $stmt->fetchAll(); $result = $stmt->fetchAll();
$users = []; $users = [];
foreach ($result as $user) { foreach ($result as $user) {
$users[] = new User($user['id'], $user['email'], $user['password']); $users[] = new Admin($user['id'], $user['email'], $user['password']);
} }
return $users; return $users;
} }
@ -100,7 +100,7 @@ class AdminGateway
$result = $stmt->fetch(); $result = $stmt->fetch();
return $result['id']; 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"; $sql = "SELECT * FROM Admin WHERE email=:email AND password=:password";
$stmt = $this->con->prepare($sql); $stmt = $this->con->prepare($sql);
@ -108,6 +108,15 @@ class AdminGateway
$stmt->bindValue(':password', password_hash($password, PASSWORD_DEFAULT)); $stmt->bindValue(':password', password_hash($password, PASSWORD_DEFAULT));
$stmt->execute(); $stmt->execute();
$result = $stmt->fetch(); $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(); $_SESSION = array();
header("Location: ."); 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{ public function getFromEmail(string $email): Admin{
$id = $this->gw->insertInvite($pseudo, $idSession); $row = $this->gw->getFromEmail($email);
return $this->getFromId($id); 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; namespace model;
class Admin extends User class Admin
{ {
private int $id;
private string $email; private string $email;
private string $password;
/** /**
* @param int $id * @param int $id
* @param string $username
* @param string $password * @param string $password
* @param string $email * @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; $this->email = $email;
} }
@ -23,14 +25,23 @@ class Admin extends User
*/ */
public function getEmail(): string 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