affichage des listes publiques et supression des taches/listes

pull/11/head
Rayhân HASSOU 2 years ago
parent 0a40a33175
commit f0f966a2bb

@ -41,6 +41,14 @@ class CtrlVisiteur {
$this->redirectionInscription($dVueEreur); $this->redirectionInscription($dVueEreur);
break; break;
case "SupprimerTache":
$this->SupprimerTache();
break;
case "SupprimerListe":
$this->SupprimerListe();
break;
//mauvaise action //mauvaise action
default: default:
$dVueEreur[] = "Erreur d'appel php"; $dVueEreur[] = "Erreur d'appel php";
@ -93,11 +101,29 @@ class CtrlVisiteur {
function ConsulterListePublic(array $dVueEreur) { function ConsulterListePublic(array $dVueEreur) {
global $rep,$vues; global $rep,$vues;
$listes = MdlVisiteur::RecupererListePublic(); $listes = MdlVisiteur::RecupererListePublic();
$taches = MdlVisiteur::RecupererTache();
require ($rep.$vues['listPublic']); 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 }//fin class
?> ?>

@ -32,6 +32,10 @@ class Liste
return $this->nom; return $this->nom;
} }
public function getDescription(){
return $this->description;
}
public function setNom($nom){ public function setNom($nom){
$this->nom=$nom; $this->nom=$nom;
} }

@ -17,13 +17,13 @@ class ListeGateway{
} }
public function Editer(Liste $Liste){ 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)); $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){ public function Supprimer(int $id){
$query='DELETE FROM ToDoListe_Liste WHERE id=:id'; $query='DELETE FROM ToDoList_Liste WHERE id=:id';
$this->con->executeQuery($query,array('id' => array($id, PDO::PARAM_STRING))); $this->con->executeQuery($query,array('id' => array($id, PDO::PARAM_INT)));
} }
public function getListe(int $offset, int $limit){ public function getListe(int $offset, int $limit){
@ -34,14 +34,14 @@ class ListeGateway{
} }
public function getTacheListe(Liste $liste){ 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))); $this->con->executeQuery($query, array('id' => array($liste->getId, PDO::PARAM_INT)));
$results=$this->con->getResults(); $results=$this->con->getResults();
return $results; return $results;
} }
public function getListePublic($offset,$limit){ public function getListePublic($offset,$limit){
$query = "SELECT * FROM ToDoList_Liste "; $query = "SELECT * FROM ToDoList_Liste WHERE estPublic LIMIT $offset, $limit";
$this->con->executeQuery($query); $this->con->executeQuery($query);
$listes = []; $listes = [];
foreach ($this->con->getResults() as $liste) { foreach ($this->con->getResults() as $liste) {

@ -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";
}
}
} }

@ -24,4 +24,21 @@ class MdlVisiteur
return $userGtw->getListePublic(0,10); 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);
}
} }

@ -65,7 +65,7 @@ class Tache
//idList //idList
public function getIdListe(){ public function getIdListe(){
return $this->estValide; return $this->idListe;
} }
public function setIdListe($idListe){ public function setIdListe($idListe){

@ -2,6 +2,7 @@
class TacheGateway{ class TacheGateway{
private $con; private $con;
public function __construct(){ public function __construct(){
global $dsn,$user,$pass;
$this->con=new Connection($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))); $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'; $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;
} }
} }
?> ?>

@ -7,6 +7,7 @@ class Utilisateur
private $prenom; private $prenom;
private $pseudo; private $pseudo;
private $email; private $email;
private $isAdmin;
public function __construct($id, $nom, $prenom, $pseudo, $email, $motDePasse, $isAdmin){ public function __construct($id, $nom, $prenom, $pseudo, $email, $motDePasse, $isAdmin){
$this->id = $id; $this->id = $id;
@ -14,6 +15,7 @@ class Utilisateur
$this->prenom = $prenom; $this->prenom = $prenom;
$this->pseudo = $pseudo; $this->pseudo = $pseudo;
$this->email = $email; $this->email = $email;
$this->isAdmin = $isAdmin;
} }
//Nom //Nom

@ -20,7 +20,19 @@ class UtilisateurGateway{
public function SupprimerUtilisateur(int $id){ 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( $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){ public function RechercheUtilisateurViaPseudo(string $pseudo){

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

@ -16,11 +16,66 @@
<?php require($rep.$vues['NavBar']); ?> <?php require($rep.$vues['NavBar']); ?>
<?php <?php
foreach($listes as $liste){ foreach($listes as $liste){
echo '<center>'.$liste->getNom().'</center>'; ?>
} <div class="container py-2 h-100">
?> <div class="row d-flex justify-content-center align-items-center h-100">
<div class="col col-lg-8 col-xl-6">
<div class="card rounded-3">
<div class="card-body p-4">
<div>
<p class="mb-2">
<span class="h2 me-2 text-info"><?= $liste->getNom()?>
<a href="index.php?action=SupprimerListe&idListe=<?= $liste->getId() ?>">
<button class="btn btn-default">
<img src="./Vue/Images/trash.png" width="25" />
</button>
</a>
<button type="submit" class="btn btn-default">
<img src="./Vue/Images/edit.png" width="25" />
</button>
</span>
</p>
<p><span class="h5 me-2"><?= $liste->getDescription()?></span>
<p class="text-muted pb-2"><?= $liste->getDateCreation()?></p>
</div>
<ul class="list-group rounded-0">
<?php
foreach($taches as $tache){
if($tache->getIdListe() == $liste->getId()){
?>
<li class="list-group-item border-0 d-flex align-items-center ps-0">
<input class="form-check-input me-3" type="checkbox" value="" aria-label="..."/>
<?= $tache->getNom() ?> : <?= $tache->getDescription() ?>
<a href="index.php?action=SupprimerTache&idTache=<?= $tache->getId() ?>">
<button class="btn btn-default">
<img src="./Vue/Images/trash.png" width="25" />
</button>
</a>
<button type="submit" class="btn btn-default">
<img src="./Vue/Images/edit.png" width="25" />
</button>
</li>
<?php
}
}
?>
</ul>
</div>
</div>
</div>
</div>
</div>
<?php
}
?>
<nav aria-label="Page navigation example"> <nav aria-label="Page navigation example">
<ul class="pagination justify-content-center"> <ul class="pagination justify-content-center">
@ -125,5 +180,4 @@
</div> </div>
<!-- Copyright --> <!-- Copyright -->
</footer> </footer>
</html> </html>

@ -27,14 +27,14 @@ class Validation {
//Vérification Email //Vérification Email
if (!isset($email)||$email=="") { if (!isset($email)||$email=="") {
$dVueEreur[] = "pas de email"; $dVueEreur[] = "L'email est obligatoire.";
$pseudo=""; $pseudo="";
$i++; $i++;
} }
if ($email != filter_var($email, FILTER_SANITIZE_STRING)) if ($email != filter_var($email, FILTER_SANITIZE_STRING))
{ {
$dVueEreur[] = "testative d'injection de code (attaque sécurité)"; $dVueEreur[] = "Tentative d'injection de code (attaque sécurité)";
$nom=""; $nom="";
$i++; $i++;
} }
@ -43,7 +43,7 @@ class Validation {
//Vérification Pseudo //Vérification Pseudo
if (!isset($pseudo)||$pseudo=="") { if (!isset($pseudo)||$pseudo=="") {
$dVueEreur[] = "pas de pseudo"; $dVueEreur[] = "Le pseudonyme est obligatoire.";
$pseudo=""; $pseudo="";
$i++; $i++;
} }
@ -52,7 +52,7 @@ class Validation {
//Vérification Mot de Passe //Vérification Mot de Passe
if (!isset($mdp)||$mdp=="") { if (!isset($mdp)||$mdp=="") {
$dVueEreur[] = "pas de mot de passe"; $dVueEreur[] = "Veuillez renseignez votre mot de passe.";
$mdp=""; $mdp="";
$i++; $i++;
} }
@ -75,7 +75,7 @@ class Validation {
static function val_string(string &$str, int &$i ,&$dVueEreur) { static function val_string(string &$str, int &$i ,&$dVueEreur) {
if ($str != filter_var($str, FILTER_SANITIZE_STRING)) if ($str != filter_var($str, FILTER_SANITIZE_STRING))
{ {
$dVueEreur[] = "tentative d'injection de code (attaque sécurité)"; $dVueEreur[] = "Tentative d'injection de code (attaque sécurité)";
$str=""; $str="";
$i++; $i++;
} }

@ -9,10 +9,10 @@ $pass='achanger';
$dsn='mysql:host=londres.uca.local;dbname=dbemkartal1'; $dsn='mysql:host=londres.uca.local;dbname=dbemkartal1';
//Vues //Vues
$vues['erreur']='Vue/html/erreur.php'; $vues['erreur']='Vue/php/erreur.php';
$vues['inscription']='Vue/html/inscription.php'; $vues['inscription']='Vue/php/inscription.php';
$vues['listPublic']='Vue/html/PageListePublic.php'; $vues['listPublic']='Vue/php/PageListePublic.php';
$vues['login']='Vue/html/login.php'; $vues['login']='Vue/php/login.php';
$vues['NavBar']='Vue/html/NavBar.php'; $vues['NavBar']='Vue/php/NavBar.php';
?> ?>

Loading…
Cancel
Save