From f0f966a2bbb7d6205955b40b786b9cd28a50795f Mon Sep 17 00:00:00 2001 From: rahassou Date: Fri, 9 Dec 2022 18:44:46 +0100 Subject: [PATCH] affichage des listes publiques et supression des taches/listes --- src/Controller/CtrlVisiteur.php | 26 +++++++++ src/Modele/Liste.php | 4 ++ src/Modele/ListeGateway.php | 10 ++-- src/Modele/MdlAdmin.php | 17 ++++++ src/Modele/MdlVisiteur.php | 17 ++++++ src/Modele/Tache.php | 2 +- src/Modele/TacheGateway.php | 15 ++++- src/Modele/Utilisateur.php | 2 + src/Modele/UtilisateurGateway.php | 14 ++++- src/Vue/Images/edit.png | Bin 0 -> 3029 bytes src/Vue/Images/trash.png | Bin 0 -> 4407 bytes src/Vue/{html => php}/NavBar.php | 0 src/Vue/{html => php}/PageListePublic.php | 66 ++++++++++++++++++++-- src/Vue/{html => php}/erreur.php | 0 src/Vue/{html => php}/inscription.php | 0 src/Vue/{html => php}/login.php | 0 src/config/Validation.php | 10 ++-- src/config/config.php | 10 ++-- 18 files changed, 168 insertions(+), 25 deletions(-) create mode 100644 src/Vue/Images/edit.png create mode 100644 src/Vue/Images/trash.png rename src/Vue/{html => php}/NavBar.php (100%) rename src/Vue/{html => php}/PageListePublic.php (84%) rename src/Vue/{html => php}/erreur.php (100%) rename src/Vue/{html => php}/inscription.php (100%) rename src/Vue/{html => php}/login.php (100%) diff --git a/src/Controller/CtrlVisiteur.php b/src/Controller/CtrlVisiteur.php index b8426fd..31c506e 100644 --- a/src/Controller/CtrlVisiteur.php +++ b/src/Controller/CtrlVisiteur.php @@ -41,6 +41,14 @@ class CtrlVisiteur { $this->redirectionInscription($dVueEreur); break; + case "SupprimerTache": + $this->SupprimerTache(); + break; + + case "SupprimerListe": + $this->SupprimerListe(); + break; + //mauvaise action default: $dVueEreur[] = "Erreur d'appel php"; @@ -93,11 +101,29 @@ class CtrlVisiteur { function ConsulterListePublic(array $dVueEreur) { global $rep,$vues; $listes = MdlVisiteur::RecupererListePublic(); + $taches = MdlVisiteur::RecupererTache(); require ($rep.$vues['listPublic']); } + function SupprimerTache(){ + global $rep,$vues; + $id = $_GET['idTache']; + $tache = MdlVisiteur::SupprimerTache($id); + $listes = MdlVisiteur::RecupererListePublic(); + $taches = MdlVisiteur::RecupererTache(); + require ($rep.$vues['listPublic']); + } + + function SupprimerListe(){ + global $rep,$vues; + $id = $_GET['idListe']; + $liste = MdlVisiteur::SupprimerListe($id); + $listes = MdlVisiteur::RecupererListePublic(); + $taches = MdlVisiteur::RecupererTache(); + require ($rep.$vues['listPublic']); + } }//fin class ?> diff --git a/src/Modele/Liste.php b/src/Modele/Liste.php index e8f6101..a9a01bb 100644 --- a/src/Modele/Liste.php +++ b/src/Modele/Liste.php @@ -32,6 +32,10 @@ class Liste return $this->nom; } + public function getDescription(){ + return $this->description; + } + public function setNom($nom){ $this->nom=$nom; } diff --git a/src/Modele/ListeGateway.php b/src/Modele/ListeGateway.php index 257ae58..5e4ec24 100644 --- a/src/Modele/ListeGateway.php +++ b/src/Modele/ListeGateway.php @@ -17,13 +17,13 @@ class ListeGateway{ } public function Editer(Liste $Liste){ - $query='UPDATE ToDoListe_Liste SET nom=:nom WHERE id=:id'; + $query='UPDATE ToDoList_Liste SET nom=:nom WHERE id=:id'; $this->con->executeQuery($query, array('nom' => array($Liste->getNom(), PDO::PARAM_STRING)), array('id' => array($Liste->getId()),PDO::PARAM_INT)); } public function Supprimer(int $id){ - $query='DELETE FROM ToDoListe_Liste WHERE id=:id'; - $this->con->executeQuery($query,array('id' => array($id, PDO::PARAM_STRING))); + $query='DELETE FROM ToDoList_Liste WHERE id=:id'; + $this->con->executeQuery($query,array('id' => array($id, PDO::PARAM_INT))); } public function getListe(int $offset, int $limit){ @@ -34,14 +34,14 @@ class ListeGateway{ } public function getTacheListe(Liste $liste){ - $query = 'SELECT tache FROM ToDoListe_Liste WHERE id=:id '; + $query = 'SELECT tache FROM ToDoList_Liste WHERE id=:id '; $this->con->executeQuery($query, array('id' => array($liste->getId, PDO::PARAM_INT))); $results=$this->con->getResults(); return $results; } public function getListePublic($offset,$limit){ - $query = "SELECT * FROM ToDoList_Liste "; + $query = "SELECT * FROM ToDoList_Liste WHERE estPublic LIMIT $offset, $limit"; $this->con->executeQuery($query); $listes = []; foreach ($this->con->getResults() as $liste) { diff --git a/src/Modele/MdlAdmin.php b/src/Modele/MdlAdmin.php index af0c25b..9e409ea 100644 --- a/src/Modele/MdlAdmin.php +++ b/src/Modele/MdlAdmin.php @@ -7,6 +7,23 @@ class MdlAdmin } + public function Connexion(string $pseudo, string $mdp){ + /*Pas d'admin gateway pour l'instant*/ + /*$gtw = new AdminGateway();*/ + /*test avec utilisateur gateway*/ + $gtw = new UtilisateurGateway(); + $login = Validation::cleanLogin($pseudo); + $mdp = Validation::cleanString($mdp); + + if(password_verify($mdp, $gtw->getCredential($login))){ + $_SESSION['role'] = 'admin'; + $_SESSION['login'] = $pseudo; + return new Admin(); + } + else{ + $dVueEreur[] = "Vous n'etes pas Admin"; + } + } } diff --git a/src/Modele/MdlVisiteur.php b/src/Modele/MdlVisiteur.php index 0aa0ad3..5aa72f0 100644 --- a/src/Modele/MdlVisiteur.php +++ b/src/Modele/MdlVisiteur.php @@ -24,4 +24,21 @@ class MdlVisiteur return $userGtw->getListePublic(0,10); } + public static function RecupererTache(){ + $userGtw = new TacheGateway(); + + return $userGtw->getTache(); + } + + public static function SupprimerTache(string $id){ + $userGtw = new TacheGateway(); + + return $userGtw->Supprimer($id); + } + + public static function SupprimerListe(string $id){ + $userGtw = new ListeGateway(); + + return $userGtw->Supprimer($id); + } } diff --git a/src/Modele/Tache.php b/src/Modele/Tache.php index 8682b72..844c230 100644 --- a/src/Modele/Tache.php +++ b/src/Modele/Tache.php @@ -65,7 +65,7 @@ class Tache //idList public function getIdListe(){ - return $this->estValide; + return $this->idListe; } public function setIdListe($idListe){ diff --git a/src/Modele/TacheGateway.php b/src/Modele/TacheGateway.php index 28c98c3..150c97d 100644 --- a/src/Modele/TacheGateway.php +++ b/src/Modele/TacheGateway.php @@ -2,6 +2,7 @@ class TacheGateway{ private $con; public function __construct(){ + global $dsn,$user,$pass; $this->con=new Connection($dsn,$user,$pass); } @@ -19,9 +20,19 @@ class TacheGateway{ $this->con->executeQuery($query, array('nom' => array($tache->getNom(), PDO::PARAM_STRING)), array('description' => array($tache->getdescription(), PDO::PARAM_STRING)), array('id' => array($tache->getId(),PDO::PARAM_INT))); } - public function Supprimer(Tache $tache){ + public function Supprimer(string $id){ $query='DELETE FROM ToDoList_Tache WHERE id=:id'; - $this->con->executeQuery($query,'id' => array($tache->getId(), PDO::PARAM_STRING)); + $this->con->executeQuery($query,array('id' => array($id, PDO::PARAM_INT))); + } + + public function getTache(){ + $query='SELECT * FROM ToDoList_Tache'; + $this->con->executeQuery($query); + $taches = []; + foreach ($this->con->getResults() as $tache) { + $taches[] = new Tache($tache["id"],$tache["nom"],$tache["description"],$tache["dateCreation"],$tache["estValide"],$tache["idListe"]); + } + return $taches; } } ?> \ No newline at end of file diff --git a/src/Modele/Utilisateur.php b/src/Modele/Utilisateur.php index b4483f3..a526b81 100644 --- a/src/Modele/Utilisateur.php +++ b/src/Modele/Utilisateur.php @@ -7,6 +7,7 @@ class Utilisateur private $prenom; private $pseudo; private $email; + private $isAdmin; public function __construct($id, $nom, $prenom, $pseudo, $email, $motDePasse, $isAdmin){ $this->id = $id; @@ -14,6 +15,7 @@ class Utilisateur $this->prenom = $prenom; $this->pseudo = $pseudo; $this->email = $email; + $this->isAdmin = $isAdmin; } //Nom diff --git a/src/Modele/UtilisateurGateway.php b/src/Modele/UtilisateurGateway.php index dbe10c5..3167ace 100644 --- a/src/Modele/UtilisateurGateway.php +++ b/src/Modele/UtilisateurGateway.php @@ -20,7 +20,19 @@ class UtilisateurGateway{ public function SupprimerUtilisateur(int $id){ $query='DELETE FROM ToDoList_Utilisateur WHERE id=:id;'; $this->con->executeQuery($query, array( - 'id' => array($id, PDO::PARAM_STRING))); + 'id' => array($id, PDO::PARAM_INT))); + } + + public getCredential(string $id){ + $query = 'SELECT motDePasse FROM ToDoList_Utilisateur WHERE id=:id'; + + if(this->con->executeQuery($query, array('id' => array($id, PDO::PARAM_INT)))){ + return (this->con->getResults[0]['motDePasse']) + } + else{ + /* pas sur de ça*/ + throw new PDOexception; + } } public function RechercheUtilisateurViaPseudo(string $pseudo){ diff --git a/src/Vue/Images/edit.png b/src/Vue/Images/edit.png new file mode 100644 index 0000000000000000000000000000000000000000..036ece0c8dfaa43d242f8fe453d3534d25843fcd GIT binary patch literal 3029 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 literal 0 HcmV?d00001 diff --git a/src/Vue/Images/trash.png b/src/Vue/Images/trash.png new file mode 100644 index 0000000000000000000000000000000000000000..8d541ad665dc50f2a4a187e0e7e4346ad09d125b GIT binary patch literal 4407 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 EZ;Nia{{R30 literal 0 HcmV?d00001 diff --git a/src/Vue/html/NavBar.php b/src/Vue/php/NavBar.php similarity index 100% rename from src/Vue/html/NavBar.php rename to src/Vue/php/NavBar.php diff --git a/src/Vue/html/PageListePublic.php b/src/Vue/php/PageListePublic.php similarity index 84% rename from src/Vue/html/PageListePublic.php rename to src/Vue/php/PageListePublic.php index 73db482..c627abb 100644 --- a/src/Vue/html/PageListePublic.php +++ b/src/Vue/php/PageListePublic.php @@ -16,11 +16,66 @@ - '.$liste->getNom().''; - } - ?> + ?> +
+
+
+
+
+ +
+

+ getNom()?> + + + + + +

+

getDescription()?> +

getDateCreation()?>

+ +
+ +
    + getIdListe() == $liste->getId()){ + ?> +
  • + + getNom() ?> : getDescription() ?> + + + + + + +
  • + +
+
+
+
+
+
+ +