changer gateway pour correspondre au sql (+fix php7)

correction_routeur^2
Gwenael PLANCHON 1 year ago
parent b0fc16c60a
commit 0ad4708c5e

@ -33,7 +33,7 @@ class Connection extends PDO {
return $this->stmt->fetchall(); return $this->stmt->fetchall();
} }
public function getOneResult() : mixed { public function getOneResult() {
return $this->stmt->fetch(); return $this->stmt->fetch();
} }
} }

@ -11,91 +11,91 @@ class UserGateway
$this->con=$con; $this->con=$con;
} }
public function login(string $username, string $password): bool public function login(string $email, string $motDePasse): bool
{ {
$sql = "SELECT * FROM user WHERE username=:username"; $sql = "SELECT * FROM Utilisateur WHERE email=:email";
$this->con->executeQuery($sql, array( $this->con->executeQuery($sql, array(
':username' => array($username, \PDO::PARAM_STR) ':email' => array($email, \PDO::PARAM_STR)
)); ));
$result = $this->con->getOneResult(); $result = $this->con->getOneResult();
if (!empty($result) && md5($password) == $result['password']) { if (!empty($result) && password_hash($motDePasse, 'md5') == $result['motDePasse']) {
return true; return true;
} }
return false; return false;
} }
public function addUser(string $username, string $password): void public function addUser(string $email, string $motDePasse): void
{ {
$sql = "INSERT INTO user (username, password) VALUES (:username, :password)"; $sql = "INSERT INTO utilisateur (email, motDePasse) VALUES (:email, :motDePasse)";
$stmt = $this->con->prepare($sql); $stmt = $this->con->prepare($sql);
$stmt->bindValue(':username', $username); $stmt->bindValue(':email', $email);
$stmt->bindValue(':password', password_hash($password, 'md5')); $stmt->bindValue(':motDePasse', password_hash($motDePasse, 'md5'));
$stmt->execute(); $stmt->execute();
} }
public function deleteUser(int $id): void public function deleteUser(int $id): void
{ {
$sql = "DELETE FROM user WHERE id=:id"; $sql = "DELETE FROM utilisateur 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();
} }
public function updateUser(int $id, string $username, string $password): void public function updateUser(int $id, string $email, string $motDePasse): void
{ {
$sql = "UPDATE user SET username=:username, password=:password WHERE id=:id"; $sql = "UPDATE utilisateur SET email=:email, motDePasse=:motDePasse WHERE id=:id";
$stmt = $this->con->prepare($sql); $stmt = $this->con->prepare($sql);
$stmt->bindValue(':id', $id); $stmt->bindValue(':id', $id);
$stmt->bindValue(':username', $username); $stmt->bindValue(':email', $email);
$stmt->bindValue(':password', $password); $stmt->bindValue(':motDePasse', password_hash($motDePasse, 'md5'));
$stmt->execute(); $stmt->execute();
} }
public function getUser(int $id): User public function getUser(int $id): User
{ {
$sql = "SELECT * FROM user WHERE id=:id"; $sql = "SELECT * FROM utilisateur 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['username'], $result['password']); return new User($result['id'], $result['email'], $result['motDePasse']);
} }
public function getUsers(): array public function getUsers(): array
{ {
$sql = "SELECT * FROM user"; $sql = "SELECT * FROM utilisateur";
$stmt = $this->con->prepare($sql); $stmt = $this->con->prepare($sql);
$stmt->execute(); $stmt->execute();
$result = $stmt->fetchAll(); $result = $stmt->fetchAll();
$users = []; $users = [];
foreach ($result as $user) { foreach ($result as $user) {
$users[] = new User($user['id'], $user['username'], $user['password']); $users[] = new User($user['id'], $user['email'], $user['motDePasse']);
} }
return $users; return $users;
} }
public function getHashedPasswordById(int $id): string public function getHashedPasswordById(int $id): string
{ {
$sql = "SELECT password FROM user WHERE id=:id"; $sql = "SELECT motDePasse FROM utilisateur 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 $result['password']; return $result['motDePasse'];
} }
public function getUserId(string $username): int public function getUserId(string $email): int
{ {
$sql = "SELECT id FROM user WHERE username=:username"; $sql = "SELECT id FROM utilisateur WHERE email=:email";
$stmt = $this->con->prepare($sql); $stmt = $this->con->prepare($sql);
$stmt->bindValue(':username', $username); $stmt->bindValue(':email', $email);
$stmt->execute(); $stmt->execute();
$result = $stmt->fetch(); $result = $stmt->fetch();
return $result['id']; return $result['id'];
} }
public function getUserByUsernameAndPassword(string $username, string $password): User public function getUserByEmailAndPassword(string $email, string $motDePasse): User
{ {
$sql = "SELECT * FROM user WHERE username=:username AND password=:password"; $sql = "SELECT * FROM utilisateur WHERE email=:email AND motDePasse=:motDePasse";
$stmt = $this->con->prepare($sql); $stmt = $this->con->prepare($sql);
$stmt->bindValue(':username', $username); $stmt->bindValue(':email', $email);
$stmt->bindValue(':password', $password); $stmt->bindValue(':motDePasse', password_hash($motDePasse, 'md5'));
$stmt->execute(); $stmt->execute();
$result = $stmt->fetch(); $result = $stmt->fetch();
return new User($result['id'], $result['username'], $result['password']); return new User($result['id'], $result['email'], $result['motDePasse']);
} }
} }

Loading…
Cancel
Save