diff --git a/src/.htaccess b/src/.htaccess index 27e9040..c73690a 100644 --- a/src/.htaccess +++ b/src/.htaccess @@ -12,7 +12,4 @@ RewriteEngine On RewriteRule ^login$ index.php?action=redirectionLogin [L] RewriteRule ^inscription$ index.php?action=redirectionInscription [L] -RewriteRule ^VueListePublic$ index.php?action=redirectionListePublic [L] -RewriteRule ^logout$ index.php?action=logout [L] -RewriteRule ^MonProfil$ index.php?action=redirectionProfil [L] -RewriteRule ^supprimerCompte$ index.php?action=supprimerCompte [L] +RewriteRule ^VueListePublic$ index.php?action=redirectionListePublic [L] \ No newline at end of file diff --git a/src/config/Validation.php b/src/config/Validation.php index 5e9da10..e79c088 100755 --- a/src/config/Validation.php +++ b/src/config/Validation.php @@ -62,15 +62,6 @@ class Validation { return $str; } - static function cleanMail(string &$str) { - $str = preg_replace('/[^A-Za-z\-\^0-9\.\@]/', '', $str); - if($str == null || $str == '') - { - return null; - } - return $str; - } - static function val_mail(string &$mail) { if(filter_var($mail, FILTER_VALIDATE_EMAIL)) { diff --git a/src/config/config.php b/src/config/config.php index 2001310..97db9eb 100755 --- a/src/config/config.php +++ b/src/config/config.php @@ -14,6 +14,6 @@ $vues['inscription']='vue/html/inscription.php'; $vues['listPublic']='vue/html/PageListePublic.php'; $vues['login']='vue/html/login.php'; $vues['NavBar']='vue/html/NavBar.php'; -$vues['profil']='vue/html/profil.php'; + ?> diff --git a/src/controller/CtrlUtilisateur.php b/src/controller/CtrlUtilisateur.php index 9db8492..d50bfdb 100644 --- a/src/controller/CtrlUtilisateur.php +++ b/src/controller/CtrlUtilisateur.php @@ -6,7 +6,7 @@ class CtrlUtilisateur { global $rep,$vues; - $dVueErreur = array (); + $dVueEreur = array (); try{ $action=NULL; @@ -18,23 +18,14 @@ class CtrlUtilisateur { case NULL: - $this->ConsulterListePublic($dVueErreur); + $this->($dVueEreur); break; - case "logout": - $this->SeDeconnecter($dVueErreur); - break; - - case "redirectionProfil": - $this->redirectionProfil($dVueErreur); - break; - - case "supprimerCompte": - $this->supprimerCompte($dVueErreur); - break; + + default: - $dVueErreur[] = "Erreur d'appel php"; + $dVueEreur[] = "Erreur d'appel php"; require ($rep.$vues['home']); break; } @@ -57,35 +48,6 @@ class CtrlUtilisateur { exit(0); }//fin constructeur - function ConsulterListePublic(array $dVueErreur) { - global $rep,$vues; - $listes = MdlVisiteur::RecupererListePublic(); - $taches = MdlVisiteur::RecupererTache(); - $action=NULL; - require ($rep.$vues['listPublic']); - } - - function SeDeconnecter(array $dVueErreur){ - global $rep,$vues; - MdlUtilisateur::déconnexion(); - $action=NULL; - require ($rep.$vues['login']); - } - - function redirectionProfil(array $dVueErreur){ - global $rep,$vues; - $action=NULL; - $user=MdlUtilisateur::isConnected(); - require ($rep.$vues['profil']); - } - - function supprimerCompte(array $dVueErreur){ - global $rep,$vues; - $action=NULL; - $user=MdlUtilisateur::suppressionUtilisateur(); - require ($rep.$vues['login']); - } - }//fin class ?> diff --git a/src/controller/CtrlVisiteur.php b/src/controller/CtrlVisiteur.php index 969203b..e9a6c19 100644 --- a/src/controller/CtrlVisiteur.php +++ b/src/controller/CtrlVisiteur.php @@ -6,7 +6,7 @@ class CtrlVisiteur { global $rep,$vues; - $dVueErreur = array (); + $dVueEreur = array (); try{ $action=NULL; @@ -18,54 +18,54 @@ class CtrlVisiteur { //pas d'action, on réinitialise 1er appel case NULL: - $this->ConsulterListePublic($dVueErreur); + $this->ConsulterListePublic($dVueEreur); break; case "validationFormulaire": - $this->ValidationFormulaire($dVueErreur); + $this->ValidationFormulaire($dVueEreur); break; case "seConnecter": - $this->seConnecter($dVueErreur); + $this->seConnecter($dVueEreur); break; case "redirectionListePublic": - $this->ConsulterListePublic($dVueErreur); + $this->ConsulterListePublic($dVueEreur); break; case "redirectionLogin": - $this->redirectionLogin($dVueErreur); + $this->redirectionLogin($dVueEreur); break; case "redirectionInscription": - $this->redirectionInscription($dVueErreur); + $this->redirectionInscription($dVueEreur); break; case "SupprimerTache": - $this->SupprimerTache($dVueErreur); + $this->SupprimerTache(); break; case "SupprimerListe": - $this->SupprimerListe($dVueErreur); + $this->SupprimerListe(); break; //mauvaise action default: - $dVueErreur[] = "Erreur d'appel php"; - require ($rep.$vues['erreur']); + $dVueEreur[] = "Erreur d'appel php"; + require ($rep.$vues['home']); break; } } catch (PDOException $e) { //si erreur BD, pas le cas ici - $dVueErreur[] = "Erreur: Connexion a la base de données impossible! "; + $dVueEreur[] = "Erreur: Connexion a la base de données impossible! "; require ($rep.$vues['erreur']); } catch (Exception $e) { - $dVueErreur[] = "Erreur venue de nulle part"; + $dVueEreur[] = "Erreur venue de nulle part"; require ($rep.$vues['erreur']); } @@ -74,37 +74,34 @@ class CtrlVisiteur { exit(0); }//fin constructeur - function ValidationFormulaire(array $dVueErreur) { + function ValidationFormulaire(array $dVueEreur) { global $rep,$vues; - - try{ - $val = MdlVisiteur::CreerUtilisateur(); - $result=MdlUtilisateur::Connection(); + $val = MdlVisiteur::CreerUtilisateur(); + if($val==null){ + $this->redirectionInscription($dVueEreur); + }else { $action=NULL; - $this->ConsulterListePublic($dVueErreur); - } - catch (Exception $e) - { - require ($rep.$vues['inscription']); + $this->redirectionLogin($dVueEreur); } + } - function redirectionLogin(array $dVueErreur) { + function redirectionLogin(array $dVueEreur) { global $rep,$vues; require ($rep.$vues['login']); } - function redirectionInscription(array $dVueErreur) { + function redirectionInscription(array $dVueEreur) { global $rep,$vues; require ($rep.$vues['inscription']); } - function seConnecter(array $dVueErreur) { + function seConnecter(array $dVueEreur) { global $rep,$vues; try{ $result=MdlUtilisateur::Connection(); $action=NULL; - $this->ConsulterListePublic($dVueErreur); + $this->ConsulterListePublic($dVueEreur); } catch (Exception $e) { @@ -114,7 +111,7 @@ class CtrlVisiteur { } - function ConsulterListePublic(array $dVueErreur) { + function ConsulterListePublic(array $dVueEreur) { global $rep,$vues; $listes = MdlVisiteur::RecupererListePublic(); $taches = MdlVisiteur::RecupererTache(); @@ -122,7 +119,7 @@ class CtrlVisiteur { require ($rep.$vues['listPublic']); } - function SupprimerTache(array $dVueErreur){ + function SupprimerTache(){ global $rep,$vues; $tache = MdlVisiteur::SupprimerTache(); $listes = MdlVisiteur::RecupererListePublic(); @@ -132,7 +129,7 @@ class CtrlVisiteur { } - function SupprimerListe(array $dVueErreur){ + function SupprimerListe(){ global $rep,$vues; $liste = MdlVisiteur::SupprimerListe(); $listes = MdlVisiteur::RecupererListePublic(); @@ -141,7 +138,6 @@ class CtrlVisiteur { require ($rep.$vues['listPublic']); } - }//fin class ?> diff --git a/src/controller/FrontControleur.php b/src/controller/FrontControleur.php index b4883df..ffd4492 100644 --- a/src/controller/FrontControleur.php +++ b/src/controller/FrontControleur.php @@ -4,43 +4,38 @@ class FrontControleur { function __construct(){ session_start(); try { - global $rep,$vues; - $string_actor=' '; - $listeActions=array( - 'Utilisateur' => array('logout','redirectionProfil','supprimerCompte'), - 'Admin' => array() - ); + // $string_actor=' '; + // $listeActions=array( + // 'Utilisateur' => array('fqds','fdqs'), + // 'Admin' => array() + // ); - //On récupère l'action - $action=NULL; - if(isset($_REQUEST['action'])){ - $action = $_REQUEST["action"]; - } + // //On récupère l'action + // $action=$_REQUEST['action']; + + // //On vérifie si l'action fait partie des listes d'actions + // $string_actor=quelListe($action,$listeActions); + // if($string_actor!=NULL){ + // $mdl=new mdl.$string_actor; + // $actor=$mdl.isMdl; + // if($actor==NULL){ + // require('login'.$string_actor); + // } + // else{ + // $ctrl=new Ctrl.$string_actor ; - //On vérifie si l'action fait partie des listes d'actions - $string_actor=FrontControleur::quelListe($action,$listeActions); - if($string_actor!=NULL){ - $class= 'Mdl'.$string_actor; - $mdl=new $class(); - $actor=$mdl->isConnected(); - if($actor==NULL){ - require($rep.$vues['login']); - } - else{ - $ctrl='Ctrl'.$string_actor; - new $ctrl(); + // } + // } + // else + new CtrlVisiteur(); - } - } - else - new CtrlVisiteur(); } catch (Exception $e) { $dVueEreur[] = "Erreur inattendue!!! "; require ($rep.$vues['erreur']); } } - + public static function quelListe($action,$listeActions){ foreach($listeActions as $a){ if(in_array($action, $a)){ diff --git a/src/modele/MdlUtilisateur.php b/src/modele/MdlUtilisateur.php index 528c794..e314da2 100644 --- a/src/modele/MdlUtilisateur.php +++ b/src/modele/MdlUtilisateur.php @@ -9,12 +9,12 @@ class MdlUtilisateur public function connection(){ $gtw=new UtilisateurGateway(); - $mail=Validation::cleanMail($_POST['mail']); - $mdp=$_POST['password']; + $mail=Validation::cleanString($_POST['mail']); + $mdp=Validation::cleanString($_POST['password']); $verif_pass=$gtw->getCredentials($mail); if(password_verify($mdp,$verif_pass)){ $userCurrent=$gtw->RechercheUtilisateurViaEmail($mail); - $_SESSION['role']='user'; + $_SESSION['role']='user'; $_SESSION['id']=$userCurrent->getId(); $_SESSION['nom']=$userCurrent->getNom(); $_SESSION['prenom']=$userCurrent->getPrenom(); @@ -23,33 +23,7 @@ class MdlUtilisateur return $userCurrent; } else throw new Exception('Mot de passe incorrect*'); - } - - public function isConnected(){ - if(isset($_SESSION['id']) && isset($_SESSION['role'])) { - $id=Validation::cleanInt($_SESSION['id']); - $nom=Validation::cleanString($_SESSION['nom']); - $prenom=Validation::cleanString($_SESSION['prenom']); - $pseudo=Validation::cleanString($_SESSION['pseudo']); - $email=Validation::cleanMail($_SESSION['email']); - return new Utilisateur($id,$nom,$prenom,$pseudo,$email); - } - else return null; - } - - - public static function déconnexion(){ - session_unset(); - session_destroy(); - $_SESSION = array(); - } - - public function suppressionUtilisateur(){ - $userGtw = new UtilisateurGateway(); - $id=Validation::cleanInt($_SESSION['id']); - $userGtw->SupprimerUtilisateur(intval($id)); - MdlUtilisateur::déconnexion(); - } + } public static function RecupererListePublic(){ $userGtw = new ListeGateway(); diff --git a/src/modele/gateway/UtilisateurGateway.php b/src/modele/gateway/UtilisateurGateway.php index 4b2b23c..42dd98b 100644 --- a/src/modele/gateway/UtilisateurGateway.php +++ b/src/modele/gateway/UtilisateurGateway.php @@ -8,7 +8,7 @@ class UtilisateurGateway{ } public function AjouterUtilisateur(string $nom,string $prenom, string $pseudo, string $email, string $mdp){ - $query="INSERT INTO ToDoList_Utilisateur(nom,prenom,pseudo,email,motDePasse) values (:nom,:prenom,:pseudo,:email,:mdp)"; + $query='INSERT INTO ToDoList_Utilisateur(nom,prenom,pseudo,email,motDePasse) values (:nom,:prenom,:pseudo,:email,:mdp);'; $this->con->executeQuery($query, array( 'nom' => array($nom, PDO::PARAM_STR), 'prenom' => array($prenom, PDO::PARAM_STR), @@ -18,9 +18,9 @@ class UtilisateurGateway{ } public function SupprimerUtilisateur(int $id){ - $query="DELETE FROM ToDoList_Utilisateur WHERE id=:id"; + $query='DELETE FROM ToDoList_Utilisateur WHERE id=:id;'; $this->con->executeQuery($query, array( - 'id' => array($id, PDO::PARAM_STR))); + 'id' => array($id, PDO::PARAM_INT))); } public function getCredentials(string $mail){ @@ -37,7 +37,7 @@ class UtilisateurGateway{ public function RechercheUtilisateurViaEmail(string $mail){ $query = 'SELECT * FROM ToDoList_Utilisateur WHERE email=:mail'; - $this->con->executeQuery($query, array('mail' => array($mail, PDO::PARAM_STR))); + $this->con->executeQuery($query, array('mail' => array($mail, PDO::PARAM_INT))); $results=$this->con->getResults(); if($results!=null){ return new Utilisateur($results[0]['id'],$results[0]['nom'],$results[0]['prenom'],$results[0]['pseudo'],$results[0]['email']); diff --git a/src/vue/html/NavBar.php b/src/vue/html/NavBar.php index 9d63aed..f61673e 100644 --- a/src/vue/html/NavBar.php +++ b/src/vue/html/NavBar.php @@ -18,10 +18,8 @@