Test de déploiment
continuous-integration/drone/push Build is passing Details

ServeurDeTest
Noé GARNIER 2 years ago
parent 3c2d4d5932
commit a66c637700

@ -2,40 +2,40 @@
class UserController class UserController
{ {
private Connection $con; //private Connection $con;
function __construct() { function __construct() {
try{ try{
global $dsn, $rep, $vues, $error;
echo "UserController"; echo "UserController";
$this->con=new Connection ($dsn); global $dsn, $rep, $vues, $error;
//$this->con=new Connection ($dsn);
echo "USconection"; echo "USconection";
$action=$_REQUEST['action']; $action=$_REQUEST['action'];
switch($action) { switch($action) {
case NULL: case NULL:
$this->goToHome(); $this->goToHome();
break; break;
case "signUp": // case "signUp":
$this->signUp(); // $this->signUp();
break; // break;
case "login": // case "login":
$this->login(); // $this->login();
break; // break;
case "goToPresentation": // case "goToPresentation":
$this->goToPresentation(); // $this->goToPresentation();
break; // break;
case "goToHome": // case "goToHome":
$this->goToHome(); // $this->goToHome();
break; // break;
case "goToLogin": // case "goToLogin":
$this->goToLogin(); // $this->goToLogin();
break; // break;
case "goToSignUp": // case "goToSignUp":
$this->goToSignUp(); // $this->goToSignUp();
break; // break;
case "goToEnigme": // case "goToEnigme":
$this->goToEnigme(); // $this->goToEnigme();
break; // break;
} }
} catch (PDOException $e) } catch (PDOException $e)
{ {
@ -48,82 +48,82 @@ class UserController
} }
} }
private function signUp() { // private function signUp() {
global $rep, $vues, $sel, $error; // global $rep, $vues, $sel, $error;
try { // try {
$gateway = new UtilisateurGateway($this->con); // $gateway = new UtilisateurGateway($this->con);
$validation = new Validation(); // $validation = new Validation();
if (! $validation->ValidateEmail($_REQUEST['email'])) { // if (! $validation->ValidateEmail($_REQUEST['email'])) {
$error = "Email invalides."; // $error = "Email invalides.";
throw (new Exception("Email non valide")); // throw (new Exception("Email non valide"));
} // }
if(! $validation->ValidateUsername($_REQUEST['username'])){ // if(! $validation->ValidateUsername($_REQUEST['username'])){
$error = "Nom d'utilisateur invalides. Il ne doit pas contenir de caractère spéciaux."; // $error = "Nom d'utilisateur invalides. Il ne doit pas contenir de caractère spéciaux.";
throw(new Exception("Pseudo non valide")); // throw(new Exception("Pseudo non valide"));
} // }
if(! $validation->ValidatePassword($_REQUEST['password'])){ // if(! $validation->ValidatePassword($_REQUEST['password'])){
$error = "Mots de passe invalides. Il ne doit pas dépasser 100 caractères."; // $error = "Mots de passe invalides. Il ne doit pas dépasser 100 caractères.";
throw(new Exception("Mot de passe non valide")); // throw(new Exception("Mot de passe non valide"));
} // }
$j = $gateway->getUtilisateurByEmail($_REQUEST['email']); // $j = $gateway->getUtilisateurByEmail($_REQUEST['email']);
if ($j != null) { // if ($j != null) {
$error = "Email déjà utilisé."; // $error = "Email déjà utilisé.";
throw (new Exception("Email déjà utilisé")); // throw (new Exception("Email déjà utilisé"));
} // }
$password = password_hash($_REQUEST['password'], PASSWORD_DEFAULT); // $password = password_hash($_REQUEST['password'], PASSWORD_DEFAULT);
$estAdmin = $gateway->getEstAdminByEmail($_REQUEST['email']); // $estAdmin = $gateway->getEstAdminByEmail($_REQUEST['email']);
$Utilisateur = new Utilisateur($_REQUEST['email'], $_REQUEST['username'], $password, $estAdmin); // $Utilisateur = new Utilisateur($_REQUEST['email'], $_REQUEST['username'], $password, $estAdmin);
$gateway->insert($Utilisateur); // $gateway->insert($Utilisateur);
$_SESSION['connected'] = 'true'; // $_SESSION['connected'] = 'true';
$_SESSION['role'] = 'utilisateur'; // $_SESSION['role'] = 'utilisateur';
require ($rep.$vues['main']); // require ($rep.$vues['main']);
}catch (PDOException $e) // }catch (PDOException $e)
{ // {
$error = "Erreur de connexion à la base de données."; // $error = "Erreur de connexion à la base de données.";
require ($rep.$vues['erreur']); // require ($rep.$vues['erreur']);
} // }
catch (Exception $e){ // catch (Exception $e){
require($rep.$vues['erreur']); // require($rep.$vues['erreur']);
} // }
} // }
private function login(){ // private function login(){
global $rep, $vues, $sel, $error; // global $rep, $vues, $sel, $error;
try { // try {
$gateway = new UtilisateurGateway($this->con); // $gateway = new UtilisateurGateway($this->con);
$Utilisateur = $gateway->getUtilisateurByEmail($_REQUEST['email']); // $Utilisateur = $gateway->getUtilisateurByEmail($_REQUEST['email']);
if ($Utilisateur->getEmail() == null){ // if ($Utilisateur->getEmail() == null){
$error = "Utilisateur non trouvé."; // $error = "Utilisateur non trouvé.";
throw new Exception("Utilisateur introuvable"); // throw new Exception("Utilisateur introuvable");
} // }
$mdp = $gateway->getMdpByEmail($_REQUEST['email']); // $mdp = $gateway->getMdpByEmail($_REQUEST['email']);
if (password_verify($mdp, $_REQUEST['password'])){ // if (password_verify($mdp, $_REQUEST['password'])){
$error = "Mot de passe incorrect."; // $error = "Mot de passe incorrect.";
throw new Exception("Mot de passe invalide"); // throw new Exception("Mot de passe invalide");
} // }
$estAdmin =$gateway->getEstAdminByEmail($_REQUEST['email']); // $estAdmin =$gateway->getEstAdminByEmail($_REQUEST['email']);
if ($estAdmin == true) { // if ($estAdmin == true) {
$_SESSION['role'] = "admin"; // $_SESSION['role'] = "admin";
} // }
else{ // else{
$_SESSION['role'] = "utilisateur"; // $_SESSION['role'] = "utilisateur";
} // }
$_SESSION['connected'] = 'true'; // $_SESSION['connected'] = 'true';
require ($rep.$vues['main']); // require ($rep.$vues['main']);
}catch (Exception $e){ // }catch (Exception $e){
require($rep.$vues['erreur']); // require($rep.$vues['erreur']);
} // }
} // }
private function goToPresentation() { // private function goToPresentation() {
global $rep, $vues, $error; // global $rep, $vues, $error;
try { // try {
require ($rep.$vues['presentation']); // require ($rep.$vues['presentation']);
}catch (Exception $e){ // }catch (Exception $e){
$error = "Erreur Inconnue"; // $error = "Erreur Inconnue";
require($rep.$vues['erreur']); // require($rep.$vues['erreur']);
} // }
} // }
private function goToHome() { private function goToHome() {
global $rep, $vues, $error; global $rep, $vues, $error;

Loading…
Cancel
Save