From eacd8f1aa2e97cb5fe68a3ae3181096183c0ee3a Mon Sep 17 00:00:00 2001 From: "nicolas.franco" Date: Tue, 13 Dec 2022 11:50:32 +0100 Subject: [PATCH] front controlleur fait, voir si catch est bon --- controller/CtrlUser.php | 54 -------------------------------------- controller/FrontCtrl.php | 48 ++++++++++++++++++++++------------ controller/UserCtrl.php | 56 ++++++++++++++++++++++++++++++++++++++++ 3 files changed, 88 insertions(+), 70 deletions(-) delete mode 100644 controller/CtrlUser.php create mode 100644 controller/UserCtrl.php diff --git a/controller/CtrlUser.php b/controller/CtrlUser.php deleted file mode 100644 index 0fc4687..0000000 --- a/controller/CtrlUser.php +++ /dev/null @@ -1,54 +0,0 @@ -model = $model; - $this->view = $view; - $this->con = $con; - } - - try{ - $action=$_REQUEST['action']; - switch($action){ - // pas d'action afficher la home page avec toutes les listes - case NULL: - $this->home(); - break; - - // ajouter une liste publique - case 'creer_liste_pub' - $this->newList('private'); - break; - - // ajouter une liste privee - case 'creer_liste_priv' - $this->newList('public'); - break; - - // supprimer une liste - case 'supprimer_liste' - $this->delList(); - break; - - // changer nom de la liste - case 'changer_nom' - $this->changeListName(); - break; - - // ajouter une tache - - // completer tache - - } - } - - -} -?> diff --git a/controller/FrontCtrl.php b/controller/FrontCtrl.php index cd81dae..8d3836d 100644 --- a/controller/FrontCtrl.php +++ b/controller/FrontCtrl.php @@ -4,25 +4,41 @@ require_once('../model/UserModel.php'); class FrontController { private UserModel $ursMdl; - $action_User = array('deconnecter','creerListePriv','supListePriv','modifierListePriv'); - - try{ - $user = $this->usrMdl.isUser(); # cette fonction retourne quoi? - $action = $_GET['action']; + private $action_User; - if(($i = array_search($action,$action_User)) !== false){ - if($user == null){ - # appel controlleur user avec action connecter - } else { - require_once('UserController'); - $usrCtrl = new UserController; + function __construct($ursMdl=new UserModel(), $action_User=[]){ + $this->$ursMdl = $ursMdl; + $this->$action_User = $action_User; + session_start(); + } + + function handleAction(){ + try{ + $user = $this->usrMdl.isUser(); // cette fonction retourne quoi? + $action = $_GET['action']; + + if(($i = array_search($action,$action_User)) !== false){ # si action dans la liste d'actions user + if($user == null){ # si pas conncter + # appel controlleur visiteur avec action connecter + require("VisitCtrl.php"); + $visitCtrl = new VisitCtrl(); + $visitCtrl.handleAction('connecter'); + } else { # sinon + # handle action avec controlleur user + require("UserCtrl.php"); + $userCtrl = new UserCtrl(); + $userCtrl.handleAction($action); + } + + } else { # sinon forcement action visiteur + # appel controlleur visiteur avec l'action + require("VisitCtrl.php"); + $visitCtrl = new VisitCtrl(); + $visitCtrl.handleAction($action); } - - } else { - # sinon forcement une action de visiteur donc validé ? + } catch (Exception $e){ // verifier si catch bon + require("../view/erreur.php"); } - } catch { - require('../view/errors.php') # a changer pour bon nom de fichier } } ?> diff --git a/controller/UserCtrl.php b/controller/UserCtrl.php new file mode 100644 index 0000000..46ee343 --- /dev/null +++ b/controller/UserCtrl.php @@ -0,0 +1,56 @@ +model = $model; + $this->view = $view; + $this->con = $con; + } + + public function handleAction(){ + try{ + $action=$_REQUEST['action']; + switch($action){ + // pas d'action afficher la home page avec toutes les listes + case NULL: + $this->home(); + break; + + // ajouter une liste publique + case 'creer_liste_pub': + $this->newList('private'); + break; + + // ajouter une liste privee + case 'creer_liste_priv': + $this->newList('public'); + break; + + // supprimer une liste + case 'supprimer_liste': + $this->delList(); + break; + + // changer nom de la liste + case 'changer_nom': + $this->changeListName(); + break; + + // ajouter une tache + + // completer tache + + } + } catch(Exception $e) { + require("../view/erreur.php"); + } + } +} +?>