Ajout de commentaires

main
Allan POINT 3 years ago
parent 56ca1d6c52
commit 699ca776c7

@ -31,7 +31,7 @@ class ListeGateway
":createur" => [$l->getCreateur(), PDO::PARAM_STR] ":createur" => [$l->getCreateur(), PDO::PARAM_STR]
]); ]);
} }
public function inserer2(string $nom, string $createur) public function inserer2(string $nom, string $createur) : bool
{ {
$requette = "INSERT INTO _TodoList(nom, dateCreation, createur) $requette = "INSERT INTO _TodoList(nom, dateCreation, createur)
VALUES(:nom, NOW(), :createur)"; VALUES(:nom, NOW(), :createur)";

@ -4,20 +4,13 @@ require_once("controleur/ControleurCommun.php");
class ControleurConnecte { class ControleurConnecte {
function __construct() { function __construct() {
global $rep,$vues; // nécessaire pour utiliser variables globales $erreurs = array ();
//debut
//on initialise un tableau d'erreur
$dVueEreur = array ();
try{ try{
// Récupération de l'action a effectuer
$action=Validation::netoyerString($_REQUEST['action']); $action=Validation::netoyerString($_REQUEST['action']);
switch($action) { switch($action) {
//pas d'action, on r<>initialise 1er appel
case NULL: case NULL:
echo "Normal"; $this->seeLists();
//$this->Reinit();
break; break;
case "seeLists": case "seeLists":
$this->seeLists(); $this->seeLists();
@ -62,16 +55,11 @@ class ControleurConnecte {
$this->veuxModifierTache(); $this->veuxModifierTache();
break; break;
default: default:
echo "Default"; throw new Exception("Action inconnue");
/*
$dVueEreur[] = "Erreur d'appel php";
require ($rep.$vues['vuephp1']);
*/
break; break;
} }
}catch(PDOException $e) }catch(PDOException $e)
{ {
//si erreur BD, pas le cas ici
echo "Erreur PDO"; echo "Erreur PDO";
$erreurs[] =$e->getMessage(); $erreurs[] =$e->getMessage();
require ("vues/erreur.php"); require ("vues/erreur.php");
@ -81,78 +69,108 @@ class ControleurConnecte {
$erreurs[] =$e2->getMessage(); $erreurs[] =$e2->getMessage();
require ("vues/erreur.php"); require ("vues/erreur.php");
} }
// exit(0);
}
function Reinit() {
global $rep,$vues; // nécessaire pour utiliser variables globales
require ($rep.$vues['connection']);
} }
/*
* \brief Permet d'afficher les lists de l'utilisateur.trice connecté.e
*/
function seeLists() function seeLists()
{ {
// Si la page n'est pas set, on prend la première page
if(!isset($_REQUEST["page"]) || empty($_REQUEST["page"])) if(!isset($_REQUEST["page"]) || empty($_REQUEST["page"]))
{ {
$page = 1; $page = 1;
} }
else else
{ {
// si la validation a échouée, on prend la première page
$page = Validation::validerUnIntSupperieurZero($_REQUEST["page"]) ? $_REQUEST["page"] : 1; $page = Validation::validerUnIntSupperieurZero($_REQUEST["page"]) ? $_REQUEST["page"] : 1;
} }
// Si le nombre d'élément n'est pas set, on en prend par défaut 10
if(!isset($_GET["nbElements"]) || empty($_GET["nbElements"])) if(!isset($_GET["nbElements"]) || empty($_GET["nbElements"]))
{ {
$nbElements = 10; $nbElements = 10;
} }
else else
{ {
// Si la validation a échouée, on prend 10 éléments, sinon, le nombre désiré par l'utilisateur.trice
$nbElements = Validation::validerUnIntSupperieurZero($_GET["nbElements"]) ? $_GET["nbElements"] : 10; $nbElements = Validation::validerUnIntSupperieurZero($_GET["nbElements"]) ? $_GET["nbElements"] : 10;
} }
$mdl = new ModelConnecte(); $mdl = new ModelConnecte();
// Récupération des listes de l'utilisateur.trice connécté.e par le modèle
$todoLists = $mdl->getLists(Validation::netoyerString($_SESSION["login"]), $page, $nbElements); $todoLists = $mdl->getLists(Validation::netoyerString($_SESSION["login"]), $page, $nbElements);
// Récupération du numéro de page le plus grand en fonction des taches de l'utilisateur.trice et du nombre d'éléments demendé
$maxPage = $mdl->getMaxPageListes(Validation::netoyerString($_SESSION["login"]), $nbElements); $maxPage = $mdl->getMaxPageListes(Validation::netoyerString($_SESSION["login"]), $nbElements);
// Affichage de la vue
require("vues/accueil.php"); require("vues/accueil.php");
} }
/*
* \brief Permet de visualiser les tache d'une liste
*/
function seeList() function seeList()
{ {
// Erreur si aucune liste n'est demendée.
if(!isset($_REQUEST["list"]) || empty($_REQUEST["list"])) if(!isset($_REQUEST["list"]) || empty($_REQUEST["list"]))
{ {
throw new Exception("Aucune liste n'est demendée"); throw new Exception("Aucune liste n'est demendée");
} }
// Erreur si le numéro de la liste est < 0
if(!Validation::validerUnIntSupperieurZero($_REQUEST["list"])) if(!Validation::validerUnIntSupperieurZero($_REQUEST["list"]))
{ {
throw new Exception("Valeur illégale de la liste requétée"); throw new Exception("Valeur illégale de la liste requétée");
} }
// TODO: Verifier que c'est bien une liste de l'utilisateur.trice connécté.e
// Si la page n'est pas set, on prend la première page
if(!isset($_REQUEST["page"]) || empty($_REQUEST["page"])) if(!isset($_REQUEST["page"]) || empty($_REQUEST["page"]))
{ {
$page = 1; $page = 1;
} }
else else
{ {
// si la validation a échouée, on prend la première page
$page = Validation::validerUnIntSupperieurZero($_REQUEST["page"]) ? $_REQUEST["page"] : 1; $page = Validation::validerUnIntSupperieurZero($_REQUEST["page"]) ? $_REQUEST["page"] : 1;
} }
// Si le nombre d'élément n'est pas set, on en prend par défaut 10
if(!isset($_GET["nbElements"]) || empty($_GET["nbElements"])) if(!isset($_GET["nbElements"]) || empty($_GET["nbElements"]))
{ {
$nbElements = 10; $nbElements = 10;
} }
else else
{ {
// Si la validation a échouée, on prend 10 éléments, sinon, le nombre désiré par l'utilisateur.trice
$nbElements = Validation::validerUnIntSupperieurZero($_GET["nbElements"]) ? $_GET["nbElements"] : 10; $nbElements = Validation::validerUnIntSupperieurZero($_GET["nbElements"]) ? $_GET["nbElements"] : 10;
} }
$mdl = new ModelConnecte(); $mdl = new ModelConnecte();
// Récupération des taches dans le modèle
$taches = $mdl->getTaches($_REQUEST["list"], $page, $nbElements); $taches = $mdl->getTaches($_REQUEST["list"], $page, $nbElements);
// Définition des variable nécéssaire à la vue.
$actualList = $_REQUEST["list"]; $actualList = $_REQUEST["list"];
$nomListe = $mdl->getNomListe($actualList); $nomListe = $mdl->getNomListe($actualList);
$maxPage = $mdl->getMaxPageTaches($actualList, $nbElements); $maxPage = $mdl->getMaxPageTaches($actualList, $nbElements);
// Affichage de la vue
require("vues/editeurDeStatuts.php"); require("vues/editeurDeStatuts.php");
} }
/*
* \brief Permet d'enrgistrer l'état des taches d'une listes
*/
function editDone() function editDone()
{ {
// estFait doit être un tableau des taches faites
if(isset($_REQUEST["estFait"])) if(isset($_REQUEST["estFait"]))
{ {
if(!is_array($_REQUEST["estFait"])) if(!is_array($_REQUEST["estFait"]))
@ -160,6 +178,12 @@ class ControleurConnecte {
throw new Exception("La liste des taches faites doit être un tableau."); throw new Exception("La liste des taches faites doit être un tableau.");
} }
} }
else
{
$_REQUEST["estFait"] = array();
}
// exist contient toute les taches de la page où été l'utilisateur.trice
if(!isset($_REQUEST["exist"])) if(!isset($_REQUEST["exist"]))
{ {
throw new Exception("Aucune tâche n'est définit"); throw new Exception("Aucune tâche n'est définit");
@ -168,18 +192,33 @@ class ControleurConnecte {
{ {
throw new Exception("La liste des taches doit être un tableau."); throw new Exception("La liste des taches doit être un tableau.");
} }
$mdl = new ModelConnecte(); $mdl = new ModelConnecte();
$mdl->setDoneTaches();
// Enregistrement avec le modle
$list = $mdl->setDoneTaches($_REQUEST["exist"], $_REQUEST["estFait"]);
// Rediréction
$_REQUEST["action"] = "seeList";
$_REQUEST["list"] = $list;
new ControleurConnecte(); new ControleurConnecte();
} }
/*
* \brief Permet d'afficher la page d'ajout de liste
*/
function wantAddList() function wantAddList()
{ {
// Affichage de la vue
require("vues/ajouterListe.php"); require("vues/ajouterListe.php");
} }
/*
* \brief Permet de créer une todoList
*/
function addList() function addList()
{ {
// Si le nom de la nouvelle liste n'existe pas ou si elle est vide, on lève une exception
if(!isset($_REQUEST["nomNouvelleListe"])) if(!isset($_REQUEST["nomNouvelleListe"]))
{ {
throw new Exception("La nouvelle liste doit avoir un nom!"); throw new Exception("La nouvelle liste doit avoir un nom!");
@ -188,24 +227,32 @@ class ControleurConnecte {
{ {
throw new Exception("La nouvelle liste doit avoir un nom!"); throw new Exception("La nouvelle liste doit avoir un nom!");
} }
// Nétoyage du nom de la nouvelle liste
$nom = Validation::netoyerString($_REQUEST["nomNouvelleListe"]); $nom = Validation::netoyerString($_REQUEST["nomNouvelleListe"]);
// Si nom est null, c'est qu'il y a eu un problème avec le netoyage
if(is_null($nom)) if(is_null($nom))
{ {
throw new Exception("Le nom de la nouvelle liste contien un ou plusieurs caractères illégales."); throw new Exception("Le nom de la nouvelle liste contien un ou plusieurs caractères illégales.");
} }
$mdl = new ModelConnecte(); $mdl = new ModelConnecte();
// Création de la todoList par le modèle.
$mdl->createTodoList($nom); $mdl->createTodoList($nom);
// Rediréction vers l'accueil
$_REQUEST["action"] = "seeLists"; $_REQUEST["action"] = "seeLists";
new ControleurConnecte(); new ControleurConnecte();
} }
/*
* \brief Permet d'afficher la page de création de tache
*/
function wantAddTask() function wantAddTask()
{ {
$mdl = new ModelConnecte(); $mdl = new ModelConnecte();
if(!$mdl->estConnecte())
{ // Si la liste où on veut rajouter la tache n'est pas set ou est vide, on lève une exception
throw new Exception("Permission non suffisantes pour effectuer cette action!");
}
if(!isset($_REQUEST["list"])) if(!isset($_REQUEST["list"]))
{ {
throw new Exception("Le numero de liste doit exister"); throw new Exception("Le numero de liste doit exister");
@ -214,21 +261,28 @@ class ControleurConnecte {
{ {
throw new Exception("Le numero de liste doit être définit"); throw new Exception("Le numero de liste doit être définit");
} }
// Validation du numérode la liste, renvoi null si la validation a échouée
$actualList = Validation::validerUnIntSupperieurZero($_REQUEST["list"]) ? $_REQUEST["list"] : null; $actualList = Validation::validerUnIntSupperieurZero($_REQUEST["list"]) ? $_REQUEST["list"] : null;
// Si la validation a échouée, on lève une exception
if(is_null($actualList)) if(is_null($actualList))
{ {
throw new Exception("Le numero de liste doui être un entier supperieur à 0"); throw new Exception("Le numero de liste doui être un entier supperieur à 0");
} }
// Affichage de la vue
require("vues/addTask.php"); require("vues/addTask.php");
} }
/*
* \brief Permet d'ajouter une tache dans une liste
*/
function addTask() function addTask()
{ {
$mdl = new ModelConnecte(); $mdl = new ModelConnecte();
if(!$mdl->estConnecte())
{ // Si le nom de la tache est vide ou n'est pas set, on lève une exception
throw new Exception("Permission non suffisantes pour effectuer cette action!");
}
if(!isset($_REQUEST["nomTache"])) if(!isset($_REQUEST["nomTache"]))
{ {
throw new Exception("Le nom de la novelle tache est introuvable (?o?)'"); throw new Exception("Le nom de la novelle tache est introuvable (?o?)'");
@ -237,10 +291,14 @@ class ControleurConnecte {
{ {
throw new Exception("Le nom de la nouvelle tache ne doit pas être vide"); throw new Exception("Le nom de la nouvelle tache ne doit pas être vide");
} }
// Si le commentaire de la tache n'est pas set, on lève une exception
if(!isset($_REQUEST["commentaireTache"])) if(!isset($_REQUEST["commentaireTache"]))
{ {
throw new Exception("Le commentaire de la tache est introuvable!"); throw new Exception("Le commentaire de la tache est introuvable!");
} }
// Si le numéro de la liste est vide ou n'est pas set, on lève une exception
if(!isset($_REQUEST["list"])) if(!isset($_REQUEST["list"]))
{ {
throw new Exception("Le numero de liste doit exister"); throw new Exception("Le numero de liste doit exister");
@ -249,27 +307,35 @@ class ControleurConnecte {
{ {
throw new Exception("Le numero de liste doit être définit"); throw new Exception("Le numero de liste doit être définit");
} }
// Validation des paramètres
$list = Validation::validerUnIntSupperieurZero($_REQUEST["list"]) ? $_REQUEST["list"] : null; $list = Validation::validerUnIntSupperieurZero($_REQUEST["list"]) ? $_REQUEST["list"] : null;
$nom = Validation::netoyerString($_REQUEST["nomTache"]); $nom = Validation::netoyerString($_REQUEST["nomTache"]);
$comm = Validation::netoyerString($_REQUEST["commentaireTache"]); $comm = Validation::netoyerString($_REQUEST["commentaireTache"]);
// Verification des paramètre, si il y en a 1 qui vas pas, on lève une exception
if(is_null($nom) || is_null($comm) || is_null($list)) if(is_null($nom) || is_null($comm) || is_null($list))
{ {
throw new Exception("Le nom, la liste ou le commentaire de la nouvelle tache contiennent des caractèrent illégales!"); throw new Exception("Le nom, la liste ou le commentaire de la nouvelle tache contiennent des caractèrent illégales!");
} }
// Création de la tache par le modèle
$mdl->createTask($nom, $comm, $list); $mdl->createTask($nom, $comm, $list);
// Rediréction vers la liste modifée
$_REQUEST["action"] = "seeList"; $_REQUEST["action"] = "seeList";
$_REQUEST["list"] = $list; $_REQUEST["list"] = $list;
new ControleurConnecte(); new ControleurConnecte();
} }
/*
* \brief Permet de supprimer une liste
*/
function supprimerListe() function supprimerListe()
{ {
$mdl = new ModelConnecte(); $mdl = new ModelConnecte();
if(!$mdl->estConnecte()) // Si le numérode liste n'est pas set ou est vide, on lève une exception
{
throw new Exception("Permission non suffisantes pour effectuer cette action!");
}
if(!isset($_REQUEST["list"])) if(!isset($_REQUEST["list"]))
{ {
throw new Exception("Le parametre list doit exister"); throw new Exception("Le parametre list doit exister");
@ -278,22 +344,28 @@ class ControleurConnecte {
{ {
throw new Exception("Le paramètre list doit contenire une valeur"); throw new Exception("Le paramètre list doit contenire une valeur");
} }
// Si le numéro de liste est <= 0, on lève une exception
if(!Validation::validerUnIntSupperieurZero($_REQUEST["list"])) if(!Validation::validerUnIntSupperieurZero($_REQUEST["list"]))
{ {
throw new Exception("Le parametre list doit être un entier strictement superieur à 0"); throw new Exception("Le parametre list doit être un entier strictement superieur à 0");
} }
// TODO: verifier que c'est bien une liste de l'utilisateur.trice
$mdl->supprimerListe($_REQUEST["list"]); $mdl->supprimerListe($_REQUEST["list"]);
// Rediréction vers l'accueil
$_REQUEST["action"] = "seeLists"; $_REQUEST["action"] = "seeLists";
new ControleurConnecte(); new ControleurConnecte();
} }
/*
* Permet d'effacer une tache d'une liste
*/
function delTask() function delTask()
{ {
$mdl = new ModelConnecte(); $mdl = new ModelConnecte();
if(!$mdl->estConnecte())
{ // Si la tache est vide, pas set ou <= 0, on lève une exception
throw new Exception("Permission non suffisantes pour effectuer cette action!");
}
if(!isset($_REQUEST["task"])) if(!isset($_REQUEST["task"]))
{ {
throw new Exception("Le parametre task doit exister"); throw new Exception("Le parametre task doit exister");
@ -306,6 +378,10 @@ class ControleurConnecte {
{ {
throw new Exception("Le parametre task doit être un entier strictement superieur à 0"); throw new Exception("Le parametre task doit être un entier strictement superieur à 0");
} }
//TODO: verifier que c'est bien la tache de l'utilisateur.trice
// Si le numéro de la liste est vide, pas set ou <= 0, on lève une exception
if(!isset($_REQUEST["list"])) if(!isset($_REQUEST["list"]))
{ {
throw new Exception("Le parametre list doit exister"); throw new Exception("Le parametre list doit exister");
@ -318,18 +394,36 @@ class ControleurConnecte {
{ {
throw new Exception("Le parametre list doit être un entier strictement superieur à 0"); throw new Exception("Le parametre list doit être un entier strictement superieur à 0");
} }
//TODO: verifier que c'est bien la list de l'utilisateur.trice et que c'est bien une tache de la liste
// Suppression de la tache par le modèle
$mdl->delTask($_REQUEST["task"]); $mdl->delTask($_REQUEST["task"]);
//Rediréction vers l'affichage de la liste modifiée
$_REQUEST["action"] = "seeList"; $_REQUEST["action"] = "seeList";
new ControleurConnecte(); new ControleurConnecte();
} }
/*
* \brief permet de se déconnécter
*/
function logout() function logout()
{ {
$mdl = new ModelConnecte(); $mdl = new ModelConnecte();
// Destruction de la séssion par le modèle
$mdl->destroySession(); $mdl->destroySession();
// Rediréction vers la page de connection
new ControleurCommun(); new ControleurCommun();
} }
/*
* \brief permet d'afficher la page de modification d'une liste (le nom de la liste)
*/
function veuxModifierListe() function veuxModifierListe()
{ {
// Si le numéro de la liste n'est pas set, vide ou <= 0, on lève une exception
if(!isset($_REQUEST["list"])) if(!isset($_REQUEST["list"]))
{ {
throw new Exception("Le parametre list doit exister"); throw new Exception("Le parametre list doit exister");
@ -342,16 +436,22 @@ class ControleurConnecte {
{ {
throw new Exception("Le parametre list doit être un entier strictement superieur à 0"); throw new Exception("Le parametre list doit être un entier strictement superieur à 0");
} }
// Définition des varables dont a besoin la vue
$listeAModifier = $_REQUEST["list"]; $listeAModifier = $_REQUEST["list"];
// Affichage de la vue
require("vues/editeurDeListe.php"); require("vues/editeurDeListe.php");
} }
/*
* \brief Permet de modifier le nom de la liste list
*/
function modifyList() function modifyList()
{ {
$mdl = new ModelConnecte(); $mdl = new ModelConnecte();
if(!$mdl->estConnecte())
{ // Si le numéro de la lsite est vide, pas set ou <=0, on lève une exception
throw new Exception("Permission non suffisantes pour effectuer cette action!");
}
if(!isset($_REQUEST["list"])) if(!isset($_REQUEST["list"]))
{ {
throw new Exception("Le parametre list doit exister"); throw new Exception("Le parametre list doit exister");
@ -364,6 +464,8 @@ class ControleurConnecte {
{ {
throw new Exception("Le parametre list doit être un entier strictement superieur à 0"); throw new Exception("Le parametre list doit être un entier strictement superieur à 0");
} }
// Si le nouveau non n'est pas set, vide on invalide, on lève une exception
if(!isset($_REQUEST["nouveauNom"])) if(!isset($_REQUEST["nouveauNom"]))
{ {
throw new Exception("Le parametre nouveauNom doit exister"); throw new Exception("Le parametre nouveauNom doit exister");
@ -377,12 +479,21 @@ class ControleurConnecte {
{ {
throw new Exception("Le nouveau nom contient des caractères illégeaux"); throw new Exception("Le nouveau nom contient des caractères illégeaux");
} }
// Modification du nom de la liste par le modèle
$mdl->modifierNomListe($_REQUEST["list"], $nouveauNom); $mdl->modifierNomListe($_REQUEST["list"], $nouveauNom);
// Rediréction vers l'accueil
$_REQUEST["action"] = "seeLists"; $_REQUEST["action"] = "seeLists";
new ControleurConnecte(); new ControleurConnecte();
} }
/*
* \brief Permet d'afficher la page de modification d'une tache
*/
function veuxModifierTache() function veuxModifierTache()
{ {
// Si la tache est vide, pas set ou <=0, on lève une exception
if(!isset($_REQUEST["task"])) if(!isset($_REQUEST["task"]))
{ {
throw new Exception("Le parametre task doit exister"); throw new Exception("Le parametre task doit exister");
@ -395,6 +506,8 @@ class ControleurConnecte {
{ {
throw new Exception("Le parametre task doit être un entier strictement superieur à 0"); throw new Exception("Le parametre task doit être un entier strictement superieur à 0");
} }
// Si la liste est vide, pas set ou <=0, on lève une exception
if(!isset($_REQUEST["list"])) if(!isset($_REQUEST["list"]))
{ {
throw new Exception("Le parametre list doit exister"); throw new Exception("Le parametre list doit exister");
@ -407,17 +520,23 @@ class ControleurConnecte {
{ {
throw new Exception("Le parametre list doit être un entier strictement superieur à 0"); throw new Exception("Le parametre list doit être un entier strictement superieur à 0");
} }
// Définition des varable nécéssaire à la vue
$tacheAModifier = $_REQUEST["task"]; $tacheAModifier = $_REQUEST["task"];
$listeAModifier = $_REQUEST["list"]; $listeAModifier = $_REQUEST["list"];
// Affichage de la vue
require("vues/editeurDeTache.php"); require("vues/editeurDeTache.php");
} }
/*
* \brief Permet de modifier une tache
*/
function editionTache() function editionTache()
{ {
$mdl = new ModelConnecte(); $mdl = new ModelConnecte();
if(!$mdl->estConnecte())
{ // Si le numéro de la tache est pas set, vide ou <=0, on lève une exception
throw new Exception("Permission non suffisantes pour effectuer cette action!");
}
if(!isset($_REQUEST["task"])) if(!isset($_REQUEST["task"]))
{ {
throw new Exception("Le parametre task doit exister"); throw new Exception("Le parametre task doit exister");
@ -430,6 +549,8 @@ class ControleurConnecte {
{ {
throw new Exception("Le parametre task doit être un entier strictement superieur à 0"); throw new Exception("Le parametre task doit être un entier strictement superieur à 0");
} }
// Si le numéro de la liste est pas set, vide ou <=0, on lève une exception
if(!isset($_REQUEST["list"])) if(!isset($_REQUEST["list"]))
{ {
throw new Exception("Le parametre list doit exister"); throw new Exception("Le parametre list doit exister");
@ -442,6 +563,8 @@ class ControleurConnecte {
{ {
throw new Exception("Le parametre list doit être un entier strictement superieur à 0"); throw new Exception("Le parametre list doit être un entier strictement superieur à 0");
} }
// Si le nom est vide ou pas set, on lève une exception
if(!isset($_REQUEST["nom"])) if(!isset($_REQUEST["nom"]))
{ {
throw new Exception("Le parametre nom doit exister"); throw new Exception("Le parametre nom doit exister");
@ -450,18 +573,30 @@ class ControleurConnecte {
{ {
throw new Exception("Le paramètre nom doit contenire une valeur"); throw new Exception("Le paramètre nom doit contenire une valeur");
} }
// Si le commentaire est pas set, on lève une exception
if(!isset($_REQUEST["commentaire"])) if(!isset($_REQUEST["commentaire"]))
{ {
throw new Exception("Le parametre commentaire doit exister"); throw new Exception("Le parametre commentaire doit exister");
} }
// Validation des paramètres
$nom = Validation::netoyerString($_REQUEST["nom"]); $nom = Validation::netoyerString($_REQUEST["nom"]);
$comm = Validation::netoyerString($_REQUEST["commentaire"]); $comm = Validation::netoyerString($_REQUEST["commentaire"]);
// Si un des paramètres est invalide, on lève une exception
if(is_null($nom) || is_null($comm)) if(is_null($nom) || is_null($comm))
{ {
throw new Exception("Le nom ou le commentaire contien des valeurs illégales"); throw new Exception("Le nom ou le commentaire contien des valeurs illégales");
} }
// Modification de la tache par le modèle
$mdl->modifierNomCommTache($_REQUEST["task"], $nom, $comm); $mdl->modifierNomCommTache($_REQUEST["task"], $nom, $comm);
// Définition des variables nécessaire à la vue
$list = $_REQUEST["list"]; $list = $_REQUEST["list"];
// Rediréction vers l'affichage le la liste list
$_REQUEST["action"] = "seeList"; $_REQUEST["action"] = "seeList";
new ControleurConnecte(); new ControleurConnecte();
} }

@ -6,24 +6,43 @@ require_once("DAL/gateways/ListeGateway.php");
class ModelConnecte class ModelConnecte
{ {
/*
* \brief Permmet de créer une séssion pour se connécter
* \param[in] login Login de l'utilisateur.trice
* \param[in] mdp Mot de passe en claire de l'utilisateur.trice
* \return Le compte connécté
*/
public function connection(string $login, string $mdp) : Compte public function connection(string $login, string $mdp) : Compte
{ {
require("config/dsn.php"); // Connection à la basse de données
$gw = new CompteGateway(new Connection($dsn, "alpoint", "allanallan")); global $dsn, $loginDB, $pswdDB;
$gw = new CompteGateway(new Connection($dsn, $loginDB, $pswdDB));
// Récupère le compte $login
$compte = $gw->getCompteParPseudo($login); $compte = $gw->getCompteParPseudo($login);
// Si il a pas trouvé le compte $login, c'est qu'il existe pas
if($compte == null) if($compte == null)
{ {
throw new Exception("Le login ou le mot de passe est incorecte"); throw new Exception("Le login ou le mot de passe est incorecte");
} }
// Verification du mdp
if(!password_verify($mdp, $compte->getMotDePasse())) if(!password_verify($mdp, $compte->getMotDePasse()))
{ {
throw new Exception("Le login ou le mot de passe est incorecte"); throw new Exception("Le login ou le mot de passe est incorecte");
} }
// Création de la session
$_SESSION["login"] = $compte->getPseudonyme(); $_SESSION["login"] = $compte->getPseudonyme();
$_SESSION["Lists"] = $compte->getListes(); $_SESSION["Lists"] = $compte->getListes();
return $compte; return $compte;
} }
/*
* \brief Permet de savoir si un.e utilisateur.trice est connécté.e
* \return True si une personne est connéctée, sinon false
*/
public function estConnecte() : bool public function estConnecte() : bool
{ {
if(isset($_SESSION["login"]) && !empty($_SESSION["login"])) if(isset($_SESSION["login"]) && !empty($_SESSION["login"]))
@ -33,28 +52,52 @@ class ModelConnecte
return false; return false;
} }
/*
* \brief Permet d'avoir les $nbElements listes de la page $page appartenant à $pseudo
* \param[in] pseudo Pseudo de l'utilisateur.trice
* \param[in] page Page à charger
* \param[in] nbElements Nombre de liste à charger
* \return La liste des listes de $pseudo
*/
public function getLists(string $pseudo, int $page, int $nbElements) public function getLists(string $pseudo, int $page, int $nbElements)
{ {
// Connéction a la base de données
global $dsn, $loginDB, $pswdDB; global $dsn, $loginDB, $pswdDB;
$gw = new ListeGateway(new Connection($dsn, $loginDB, $pswdDB)); $gw = new ListeGateway(new Connection($dsn, $loginDB, $pswdDB));
return $gw->getListeParCreateur($page, $nbElements, $pseudo); return $gw->getListeParCreateur($page, $nbElements, $pseudo);
} }
public function getTaches(int $liste, $page, $nbElements) /*
{ * \brief Permet d'avoir les $nbElements taches de la page $page appartenant à $liste
* \param[in] liste ID de la liste
* \param[in] page Numéro de la page à charger
* \param[in] nbElements Nombre de tache à charger
* \return Les taches de la liste $liste
*/
public function getTaches(int $liste, int $page, int $nbElements)
{
// Connection à la base de données
global $dsn, $loginDB, $pswdDB; global $dsn, $loginDB, $pswdDB;
$gw = new TacheGateway(new Connection($dsn, $loginDB, $pswdDB)); $gw = new TacheGateway(new Connection($dsn, $loginDB, $pswdDB));
return $taches = $gw->getTachesParIDListe($liste, $page, $nbElements);
return $gw->getTachesParIDListe($liste, $page, $nbElements);
} }
public function setDoneTaches() /*
* \brief Permet de modifier l'état de taches
* \param[in] taches Toutes les tâches chargées
* \param[in] tachesFaites Toute les taches chargées faites
* \return Le numéro de la listes modifiée
*/
public function setDoneTaches($taches, $tachesFaites) : int
{ {
global $dsn, $loginDB, $pswdDB; global $dsn, $loginDB, $pswdDB;
$gw = new TacheGateway(new Connection($dsn, $loginDB, $pswdDB)); $gw = new TacheGateway(new Connection($dsn, $loginDB, $pswdDB));
$tacheID = null; $tacheID = null;
foreach($_REQUEST["exist"] as $tache) foreach($taches as $tache)
{ {
if(in_array($tache, isset($_REQUEST["estFait"])?$_REQUEST["estFait"]:array() )) if(in_array($tache, $tachesFaites))
{ {
if(!$gw->modifierDoneTache($tache, true)) if(!$gw->modifierDoneTache($tache, true))
{ {
@ -69,10 +112,15 @@ class ModelConnecte
} }
$tacheID = $tache; $tacheID = $tache;
} }
$_REQUEST["action"] = "seeList"; return $gw->getListeParIDTache($tacheID);
$_REQUEST["list"] = $gw->getListeParIDTache($tacheID);
} }
public function createTodoList(string $nom)
/*
* \brief Créer une TodoList
* \param[in] nom nom de la TodoList à créer
* \return True si tout c'est bien passé. Sinon false.
*/
public function createTodoList(string $nom) : bool
{ {
global $dsn, $loginDB, $pswdDB; global $dsn, $loginDB, $pswdDB;
$gw = new ListeGateway(new Connection($dsn, $loginDB, $pswdDB)); $gw = new ListeGateway(new Connection($dsn, $loginDB, $pswdDB));
@ -85,17 +133,29 @@ class ModelConnecte
{ {
throw new Exception("Erreur avec la valeur enregistré du pseudonyme"); throw new Exception("Erreur avec la valeur enregistré du pseudonyme");
} }
$gw->inserer2($nom, $pseudo); return $gw->inserer2($nom, $pseudo);
} }
public function createTask(string $nom, string $comm, int $list)
/*
* \brief Créer une tache
* \param[in] nom Nom de la tache
* \param[in] comm Commentaire de la tache
* \param[in] list ID de la liste à modifier
* \return True si tout c'est bien passé. Sinon false.
*/
public function createTask(string $nom, string $comm, int $list) : bool
{ {
global $dsn, $loginDB, $pswdDB; global $dsn, $loginDB, $pswdDB;
$gw = new TacheGateway(new Connection($dsn, $loginDB, $pswdDB)); $gw = new TacheGateway(new Connection($dsn, $loginDB, $pswdDB));
if(!$gw->insererSimple($nom, $comm, $list)) return $gw->insererSimple($nom, $comm, $list);
{
throw new Exception("Erreur lors de la création de la tache");
}
} }
/*
* \brief Supprime une liste
* \param[in] listID ID de la liste a supprimer
* \return True en cas de succès. Sinon false
*/
public function supprimerListe(int $listID) : bool public function supprimerListe(int $listID) : bool
{ {
global $dsn, $loginDB, $pswdDB; global $dsn, $loginDB, $pswdDB;

Loading…
Cancel
Save