enlever l'autre con et ajouter MdlUser

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

@ -4,6 +4,7 @@ namespace controller;
use config\Validation; use config\Validation;
use model\Connection; use model\Connection;
use model\LoginException; use model\LoginException;
use model\MdlUser;
use model\UserGateway; use model\UserGateway;
class FrontController class FrontController
@ -13,8 +14,6 @@ class FrontController
{ {
global $twig, $router, $config; global $twig, $router, $config;
$this->con = new Connection($config["db"]["dsn"], $config["db"]["login"], $config["db"]["mdp"]);
$router->map('GET|POST', '/', 'null'); $router->map('GET|POST', '/', 'null');
$router->map('GET|POST', '/join', 'join'); $router->map('GET|POST', '/join', 'join');
$router->map('GET|POST', '/create', 'create'); $router->map('GET|POST', '/create', 'create');
@ -75,7 +74,8 @@ class FrontController
echo $twig->render('login.html'); echo $twig->render('login.html');
elseif(isset($_REQUEST['login'])) { elseif(isset($_REQUEST['login'])) {
Validation::valUserLogin($_REQUEST['login'], $dVueErreur); Validation::valUserLogin($_REQUEST['login'], $dVueErreur);
$ug = new UserGateway($this->con); #TODO: utiliser le modele plutot que la gw puis supprimer attribut this->$con //$ug = new UserGateway($this->con); #TODO: utiliser le modele plutot que la gw puis supprimer attribut this->$con
$ug = new MdlUser();
if($ug->login($_REQUEST['login'], $_REQUEST['password'])) { if($ug->login($_REQUEST['login'], $_REQUEST['password'])) {
$_SESSION['pseudo'] = $_REQUEST['login']; $_SESSION['pseudo'] = $_REQUEST['login'];
header("Location: ."); header("Location: .");
@ -100,6 +100,7 @@ class FrontController
} }
} catch (\PDOException $e) { } catch (\PDOException $e) {
$dVueErreur[] = 'Erreur avec la base de données !'; $dVueErreur[] = 'Erreur avec la base de données !';
$dVueErreur[] = 'Erreur avec la base de données !'.$e;
echo $twig->render('erreur.html', ['dVueErreur' => $dVueErreur]); echo $twig->render('erreur.html', ['dVueErreur' => $dVueErreur]);
} catch (LoginException $e) { } catch (LoginException $e) {
echo $twig->render('erreur.html', ['dVueErreur' => $dVueErreur]); echo $twig->render('erreur.html', ['dVueErreur' => $dVueErreur]);

@ -172,3 +172,7 @@ INSERT INTO Scientifique(nom, prenom, photo, dateNaissance, descriptif, ratioTro
VALUES VALUES
('nomToto', 'prenomToto', '', CURRENT_DATE, 'desc', 0, 1, 1, 1), ('nomToto', 'prenomToto', '', CURRENT_DATE, 'desc', 0, 1, 1, 1),
('nomTiti', 'prenomTiti', '', CURRENT_DATE, 'desc', 0, 2, 2, 2); ('nomTiti', 'prenomTiti', '', CURRENT_DATE, 'desc', 0, 2, 2, 2);
INSERT INTO Joueur(id,pseudo) VALUES (1337, 'moi, le meilleur admin du monde');
INSERT INTO Utilisateur(idJoueur,email,motDePasse) VALUES (1337, 'admin','admin');

@ -20,7 +20,7 @@ class UserGateway
$result = $this->con->getOneResult(); $result = $this->con->getOneResult();
if (!empty($result) && password_hash($motDePasse, 'md5') == $result['motDePasse']) { if (!empty($result) && password_hash($motDePasse, PASSWORD_DEFAULT) == $result['motDePasse']) {
return true; return true;
} }
return false; return false;
@ -30,7 +30,7 @@ class UserGateway
$sql = "INSERT INTO utilisateur (email, motDePasse) VALUES (:email, :motDePasse)"; $sql = "INSERT INTO utilisateur (email, motDePasse) VALUES (:email, :motDePasse)";
$stmt = $this->con->prepare($sql); $stmt = $this->con->prepare($sql);
$stmt->bindValue(':email', $email); $stmt->bindValue(':email', $email);
$stmt->bindValue(':motDePasse', password_hash($motDePasse, 'md5')); $stmt->bindValue(':motDePasse', password_hash($motDePasse, PASSWORD_DEFAULT));
$stmt->execute(); $stmt->execute();
} }
public function deleteUser(int $id): void public function deleteUser(int $id): void
@ -46,7 +46,7 @@ class UserGateway
$stmt = $this->con->prepare($sql); $stmt = $this->con->prepare($sql);
$stmt->bindValue(':id', $id); $stmt->bindValue(':id', $id);
$stmt->bindValue(':email', $email); $stmt->bindValue(':email', $email);
$stmt->bindValue(':motDePasse', password_hash($motDePasse, 'md5')); $stmt->bindValue(':motDePasse', password_hash($motDePasse, PASSWORD_DEFAULT));
$stmt->execute(); $stmt->execute();
} }
public function getUser(int $id): User public function getUser(int $id): User
@ -93,7 +93,7 @@ class UserGateway
$sql = "SELECT * FROM utilisateur WHERE email=:email AND motDePasse=:motDePasse"; $sql = "SELECT * FROM utilisateur WHERE email=:email AND motDePasse=:motDePasse";
$stmt = $this->con->prepare($sql); $stmt = $this->con->prepare($sql);
$stmt->bindValue(':email', $email); $stmt->bindValue(':email', $email);
$stmt->bindValue(':motDePasse', password_hash($motDePasse, 'md5')); $stmt->bindValue(':motDePasse', password_hash($motDePasse, PASSWORD_DEFAULT));
$stmt->execute(); $stmt->execute();
$result = $stmt->fetch(); $result = $stmt->fetch();
return new User($result['id'], $result['email'], $result['motDePasse']); return new User($result['id'], $result['email'], $result['motDePasse']);

@ -0,0 +1,30 @@
<?php
namespace model;
class MdlUser extends MdlBase{
private UserGateway $gw;
public function __construct(){
parent::__construct();
$this->gw = new UserGateway($this->con);
}
public function login(string $username, string $password): bool{
return $this->gw->login($username, $password);
}
/*
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 getFromId(int $id): User{
$row = $this->gw->getFromId($id);
return new Invite($row['idjoueur'], $row['pseudo'], $row['idsession']);
}*/
}
Loading…
Cancel
Save