From 62bba328514295d37fe88898218b716cbbe4437c Mon Sep 17 00:00:00 2001 From: "nicolas.franco" Date: Tue, 13 Dec 2022 18:10:24 +0100 Subject: [PATCH 1/2] visitor controller structure --- controller/CtrlUser.php | 3 +- controller/FrontCtrl.php | 8 ++- controller/VisitorCtrl.php | 104 +++++++++++++++++++++++++++++++++++++ 3 files changed, 108 insertions(+), 7 deletions(-) create mode 100644 controller/VisitorCtrl.php diff --git a/controller/CtrlUser.php b/controller/CtrlUser.php index 0a2359a..b5b97c0 100644 --- a/controller/CtrlUser.php +++ b/controller/CtrlUser.php @@ -1,10 +1,9 @@ $ursMdl = $ursMdl; $this->$action_User = $action_User; session_start(); - } - - function handleAction(){ + try{ $user = $this->usrMdl.isUser(); // cette fonction retourne quoi? - $action = $_GET['action']; + $action = $_REQUEST['action']; if(($i = array_search($action,$action_User)) !== false){ # si action dans la liste d'actions user if($user == null){ # si pas conncter diff --git a/controller/VisitorCtrl.php b/controller/VisitorCtrl.php new file mode 100644 index 0000000..88561ad --- /dev/null +++ b/controller/VisitorCtrl.php @@ -0,0 +1,104 @@ +loadHome(); + # initialize la page home avec tout les listes + break; + + case 'pageConnection': + $this->go_connection(); + break; + + case 'connecter': + $this->connection(); + # charge la vue de connexion + break; + + case 'pageListe': + $this->go_list(); + break; + + case 'creerListe': + $this->makeList(); + # creer une liste publique + break; + + case 'supprimerListe': + $this->eraseList(); + # supprime une liste publique + break; + + case 'pageTache': + $this->go_task(); + break; + + case 'ajouterTache': + $this->addTask(); + # ajouter une tache a une liste pub + break; + + case 'supprimerTache': + $this->eraseTask(); + # supprimer une tache + break; + + default: + # + $dvueErreur[] = 'Erreur inattendue'; + require($rep.$vues['']); + break; + } + + } catch (Exception $e) { + require("../view/erreur.php"); + } + + function loadHome(){ + + } + + function go_connection(){ + + } + + function connection(){ + + } + + function go_list(){ + + } + + function makeList(){ + + } + + function eraseList(){ + + } + + function go_task(){ + + } + + function addTask(){ + + } + + function eraseTask(){ + + } + + } + + +} +?> \ No newline at end of file From e518f24104be26bb4941dde23d04f4a17e480dec Mon Sep 17 00:00:00 2001 From: "nicolas.franco" Date: Wed, 14 Dec 2022 15:18:46 +0100 Subject: [PATCH 2/2] erreur dans la fonction find pour loadPublicList --- business/ListTask.php | 2 +- controller/VisitorCtrl.php | 12 +++++-- dal/TaskGateway.php | 67 ++++++++++++++++++++++++++------------ model/TaskModel.php | 9 +++-- tests/test.php | 6 ++-- 5 files changed, 66 insertions(+), 30 deletions(-) diff --git a/business/ListTask.php b/business/ListTask.php index 5a2ce29..5d0c002 100644 --- a/business/ListTask.php +++ b/business/ListTask.php @@ -3,7 +3,7 @@ private int $id; private string $nom; private array $taches; - private string $owner; + private $owner; private int $dc; // done counter function __construct($id, $nom, $owner="", $dc=0) { diff --git a/controller/VisitorCtrl.php b/controller/VisitorCtrl.php index 88561ad..d366498 100644 --- a/controller/VisitorCtrl.php +++ b/controller/VisitorCtrl.php @@ -1,9 +1,11 @@ taskModel.loadPublicList(); } function go_connection(){ @@ -94,7 +100,7 @@ class VisitCtrl } function eraseTask(){ - + } } diff --git a/dal/TaskGateway.php b/dal/TaskGateway.php index a5e0b72..8bff2ee 100644 --- a/dal/TaskGateway.php +++ b/dal/TaskGateway.php @@ -51,27 +51,52 @@ class TaskGateway } /*si on veut trouver une liste, juste chercher toutes les taches avec idList= id_de_la_liste*/ - public function find($element="", $valeur=""){ - if(strcmp($element,"")==0) - { - $query='SELECT * FROM Tache'; - $this->con->executeQuery($query); - } - else - { - $query='SELECT * FROM Tache WHERE '.$element.'=:'.$element; - $this->con->executeQuery($query, array( - ':'.$element =>array($valeur,PDO::PARAM_STR))); - } - - $results=$this->con->getResults(); - foreach($results as $row) - { - $tabTaches[]=new Task($row['id'],$row['titre'],$row['description'],$row['priorite'], - $row['idList'],$row['dateDebut'],$row['dateFin'],$row['isDone']); - } - return $tabTaches; - } + # pour toutes les listes d'un user specifique, appeller 2 fois la fonction: + # une fois pour prendre toutes les listes qui ont l'id de l'user + # pour toutes ces listes (foreach), find toutes chaque tache associƩ + public function find($table, $element="", $valeur=""){ + if($table =='task'){ + if(strcmp($element,"")==0) + { + $query='SELECT * FROM Tache'; + $this->con->executeQuery($query); + } + else + { + $query='SELECT * FROM Tache WHERE '.$element.'=:'.$element; + $this->con->executeQuery($query, array( + ':'.$element =>array($valeur,PDO::PARAM_STR))); + } + + $results=$this->con->getResults(); + foreach($results as $row) + { + $tabTaches[]=new Task($row['id'],$row['titre'],$row['description'],$row['priorite'], + $row['idList'],$row['dateDebut'],$row['dateFin'],$row['isDone']); + } + return $tabTaches; + + } else if($table == 'list'){ + if(strcmp($element,"")==0) + { + $query='SELECT * FROM uList'; + $this->con->executeQuery($query); + } + else + { + $query='SELECT * FROM uList WHERE '.$element.'=:'.$element; + $this->con->executeQuery($query, array( + ':'.$element =>array($valeur,PDO::PARAM_STR))); + } + + $results=$this->con->getResults(); + foreach($results as $row) + { + $tabList[]=new ListTask($row['id'],$row['nom'],$row['user'],$row['dc']); + } + return $tabList; + } + } /* # LIST FUNCTIONS */ /*create, update, delete, read(select info)*/ diff --git a/model/TaskModel.php b/model/TaskModel.php index a505afa..7554801 100644 --- a/model/TaskModel.php +++ b/model/TaskModel.php @@ -32,12 +32,12 @@ class TaskModel public function getAllTask() { - return $this->gtw->find(); + return $this->gtw->find('task'); } public function getTaskBy($element,$valeur) { - return $this->gtw->find($element,$valeur); + return $this->gtw->find('task',$element,$valeur); } /* LIST FUNCTIONS */ @@ -57,5 +57,10 @@ class TaskModel { $this->gtw->delete('list',$id); } + + function loadPublicLists() + { + return $this->gtw->find('list','user','NULL'); + } } ?> diff --git a/tests/test.php b/tests/test.php index a55aa07..966084e 100644 --- a/tests/test.php +++ b/tests/test.php @@ -28,12 +28,12 @@ $mt= new TaskModel($con); //$mt->addTask('3','testIsDone','desc.','urgent','001'); //$mt->modifTask('3','isDone','1'); //$tasks = $mt->getTaskBy('titre','tache1'); -$tasks = $mt->getAllTask(); +$tasks = $mt->loadPublicLists(); foreach($tasks as $i) echo $i->get_id()."
"; -$mt->addList('002','todo2','nifranco'); -$mt->modifList('2','nom','22do'); +// $mt->addList('002','todo2','nifranco'); +// $mt->modifList('2','nom','22do'); //mt->supList('2'); /* -------------