Merge reussi : réglage des conflits. Nouvelles fonctionnalités : Ajout,Edition d'une liste; Ajout d'une tache

listePrive
Rayhân HASSOU 2 years ago
commit 10af9c567b

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 17 KiB

Before

Width:  |  Height:  |  Size: 118 KiB

After

Width:  |  Height:  |  Size: 118 KiB

@ -46,6 +46,7 @@ class Validation {
} }
static function cleanString(string &$str) { static function cleanString(string &$str) {
$str = preg_replace('/[^A-Za-z\-]/', '', $str); $str = preg_replace('/[^A-Za-z\-]/', '', $str);
if($str == null || $str == '') if($str == null || $str == '')
@ -64,6 +65,31 @@ class Validation {
return $str; return $str;
} }
static function val_form_add(string &$nom,string &$description,&$dVueEreur) {
$nom = Validation::cleanText($nom);
if ($nom == NULL) {
$dVueEreur['nom'] = "Veuillez entrer un nom*";
}
$description = Validation::cleanText($description);
if ($description == NULL) {
$dVueEreur['description'] = "Veuillez entrer une description*";
}
if(count($dVueEreur)>0){
throw new Exception("Problème lors de l'ajout");
}
}
static function cleanText(string &$txt) {
$txt = preg_replace('/[^A-Za-z\-\^0-9\ ]/', '', $txt);
if($txt == null || $txt == '')
{
return null;
}
return $txt;
}
static function val_mail(string &$mail) { static function val_mail(string &$mail) {
if(filter_var($mail, FILTER_VALIDATE_EMAIL)) if(filter_var($mail, FILTER_VALIDATE_EMAIL))
{ {

@ -49,6 +49,22 @@ class CtrlVisiteur {
$this->SupprimerListe($dVueErreur); $this->SupprimerListe($dVueErreur);
break; break;
case "AjouterTache":
$this->AjouterTache();
break;
case "AjouterListePublic":
$this->AjouterListePublic($dVueErreur);
break;
case "ModifierListe":
$this->ModifierListe();
break;
case "check":
$this->check();
break;
//mauvaise action //mauvaise action
default: default:
$dVueErreur[] = "Erreur d'appel php"; $dVueErreur[] = "Erreur d'appel php";
@ -146,6 +162,52 @@ class CtrlVisiteur {
require ($rep.$vues['listPublic']); require ($rep.$vues['listPublic']);
} }
public function AjouterTache(){
global $rep,$vues;
$tache = MdlVisiteur::AjouterTache();
$listes = MdlVisiteur::RecupererListePublic();
$taches = MdlVisiteur::RecupererTache();
$action=NULL;
require ($rep.$vues['listPublic']);
}
public function AjouterListePublic(array $dVueErreur){
global $rep,$vues;
try{
$tache = MdlVisiteur::AjouterListePublic($dVueErreur);
$this->ConsulterListePublic($dVueErreur);
}
catch (Exception $e)
{
$ErreurLog=$e->getMessage();
$listes = MdlVisiteur::RecupererListePublic();
$taches = MdlVisiteur::RecupererTache();
$action=NULL;
require ($rep.$vues['listPublic']);
}
}
public function ModifierListe(){
global $rep,$vues;
$tache = MdlVisiteur::ModifierListe();
$listes = MdlVisiteur::RecupererListePublic();
$taches = MdlVisiteur::RecupererTache();
$action=NULL;
require ($rep.$vues['listPublic']);
}
public function check()
{
global $rep,$vues;
$tache = MdlVisiteur::check();
$listes = MdlVisiteur::RecupererListePublic();
$taches = MdlVisiteur::RecupererTache();
$action=NULL;
require ($rep.$vues['listPublic']);
}
}//fin class }//fin class
?> ?>

@ -18,6 +18,7 @@ class FrontControleur {
$action = $_REQUEST["action"]; $action = $_REQUEST["action"];
} }
//On vérifie si l'action fait partie des listes d'actions //On vérifie si l'action fait partie des listes d'actions
$string_actor=FrontControleur::quelListe($action,$listeActions); $string_actor=FrontControleur::quelListe($action,$listeActions);
if($string_actor!=NULL){ if($string_actor!=NULL){

@ -40,4 +40,43 @@ class MdlVisiteur
$userGtw->Supprimer($id); $userGtw->Supprimer($id);
} }
public function AjouterTache(){
$taskGtw = new TacheGateway();
$id = $_POST['idListe'];
$nom = $_POST['nom-ajout'];
$description = $_POST['description-ajout'];
Validation::val_form_add($nom,$description,$dVueErreur);
$taskGtw->AjouterTache($nom, $description,false,$id);
}
public function ModifierListe(){
$userGtw = new ListeGateway();
$id = $_POST['idListe'];
$nom = $_POST['nom-modif-liste'];
$description = $_POST['description-modif-liste'];
if($description == NULL){
$userGtw->EditerNom($id, $nom);
}
else if($nom == NULL){
$userGtw->EditerDescription($id, $description);
}
else{
$userGtw->Editer($id, $nom, $description);
}
}
public function AjouterListePublic(&$dVueErreur){
$taskGtw = new ListeGateway();
$nom=$_POST['nom-ajout-liste'];
$description=$_POST['description-ajout-liste'];
Validation::val_form_add($nom,$description,$dVueErreur);
$taskGtw->Ajouter($nom, $description,1, true);
}
public function check(){
$taskGtw = new TacheGateway();
$id = $_POST['idTache'];
$taskGtw->isDone($id);
}
} }

@ -7,21 +7,39 @@ class ListeGateway{
$this->con=new Connection($dsn,$user,$pass); $this->con=new Connection($dsn,$user,$pass);
} }
public function Ajouter(string $nom, Date $dateCreation, bool $estValide, int $idCreateur, bool $estPublic){ public function Ajouter(string $nom, string $description, bool $estPublic, string $createur){
$query='INSERT INTO ToDoList_Liste(nom, dateCreation,estValide, createur, estPublic) VALUES(:nom, :dateCreation, :estValide, :idCreateur, :estPublic)'; $query='INSERT INTO ToDoList_Liste(nom, description, dateCreation,estPublic, idUtilisateur) VALUES(:nom,:description,CURRENT_DATE, :estPublic, :createur);';
$this->con->executeQuery($query, array('nom' => array($nom, PDO::PARAM_STRING)), $this->con->executeQuery($query, array(
array('dateCreation' => array($dateCreation, PDO::PARAM_STRING)), 'nom' => array($nom, PDO::PARAM_STR),
array('estValide' => array($estValide, PDO::PARAM_BOOL)), 'description' => array($description, PDO::PARAM_STR),
array('idCreateur' => array($idCreateur, PDO::PARAM_INT)), 'estPublic' => array($estPublic, PDO::PARAM_INT),
array('estPublic' => array($estPublic, PDO::PARAM_INT))); 'createur' => array($createur, PDO::PARAM_STR),
));
} }
public function Editer(Liste $Liste){ public function Editer(string $id, string $nom, string $description){
$query='UPDATE ToDoList_Liste SET nom=:nom WHERE id=:id'; $query='UPDATE ToDoList_Liste SET nom=:nom AND description=:description 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($nom, PDO::PARAM_STR),
'id' => array($id,PDO::PARAM_INT),
'description' => array($description, PDO::PARAM_STR))
);
} }
public function Supprimer(int $id){ public function EditerNom(string $id, string $nom){
$query='UPDATE ToDoList_Liste SET nom=:nom WHERE id=:id;';
// erreur iciiiiiiii
$this->con->executeQuery($query, array('nom' => array($nom, PDO::PARAM_STR),'id' => array($id, PDO::PARAM_INT)));
}
public function EditerDescription(string $id, string $description){
$query='UPDATE ToDoList_Liste SET description=:description WHERE id=:id;';
$this->con->executeQuery($query, array('description' => array($description, PDO::PARAM_STR), 'id' => array($id, PDO::PARAM_INT)));
}
public function Supprimer(string $id){
$query="DELETE FROM ToDoList_Liste WHERE id=:id"; $query="DELETE FROM ToDoList_Liste WHERE id=:id";
$this->con->executeQuery($query,array('id' => array($id, PDO::PARAM_INT))); $this->con->executeQuery($query,array('id' => array($id, PDO::PARAM_INT)));
} }

@ -6,33 +6,44 @@ class TacheGateway{
$this->con=new Connection($dsn,$user,$pass); $this->con=new Connection($dsn,$user,$pass);
} }
public function Ajouter(string $nom, string $description, Date $dateCreation, bool $estValide, int $idCreateur){
$query='INSERT INTO ToDoList_Tache(nom, description, dateCreation,estValide, createur) VALUES(:nom, :description, :dateCreation, :estValide, :idCreateur)'; public function AjouterTache(string $nom, string $description, bool $estValide, string $idListe){
$this->con->executeQuery($query, array('nom' => array($nom, PDO::PARAM_STRING)), $query='INSERT INTO ToDoList_Tache(nom, description, dateCreation,estValide, idListe) VALUES(:nom, :description, CURRENT_DATE, :estValide, :idListe);';
array('description' => array($description, PDO::PARAM_STRING)), $this->con->executeQuery($query, array(
array('dateCreation' => array($dateCreation, PDO::PARAM_STRING)), 'nom' => array($nom, PDO::PARAM_STR),
array('estValide' => array($estValide, PDO::PARAM_BOOL)), 'description' => array($description, PDO::PARAM_STR),
array('idCreateur' => array($idCreateur, PDO::PARAM_INT))); 'estValide' => array($estValide, PDO::PARAM_BOOL),
'idListe' => array($idListe, PDO::PARAM_INT)));
}
public function Editer(string $id, string $nom, string $description){
$query='UPDATE ToDoList_Tache SET nom=:nom, description =:description WHERE id=:id;';
$this->con->executeQuery($query, array('nom' => array($nom, PDO::PARAM_STR), 'description' => array($description, PDO::PARAM_STR), 'id' => array($id, PDO::PARAM_INT)));
} }
public function Editer(Tache $tache, string $nom, string $description){ public function EditerNom(string $id, string $nom){
$query='UPDATE ToDoList_Tache SET nom=:nom, description =:description WHERE id=:id'; $query='UPDATE ToDoList_Tache SET nom=:nom WHERE id=:id;';
$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($nom, PDO::PARAM_STR), 'id' => array($id, PDO::PARAM_INT)));
}
public function EditerDescription(string $id, string $description){
$query='UPDATE ToDoList_Tache SET description=:description WHERE id=:id;';
$this->con->executeQuery($query, array('description' => array($description, PDO::PARAM_STR), 'id' => array($id, PDO::PARAM_INT)));
} }
public function Supprimer(string $id){ 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,array('id' => array($id, PDO::PARAM_INT))); $this->con->executeQuery($query,array('id' => array($id, PDO::PARAM_INT)));
} }
// Si une liste est supprimée on supprime toutes ces tâches grâce à cette fonction // Si une liste est supprimée on supprime toutes ces tâches grâce à cette fonction
public function SupprimerViaListe(string $id){ public function SupprimerViaListe(string $id){
$query='DELETE FROM ToDoList_Tache WHERE idListe=:id'; $query='DELETE FROM ToDoList_Tache WHERE idListe=:id;';
$this->con->executeQuery($query,array('id' => array($id, PDO::PARAM_INT))); $this->con->executeQuery($query,array('id' => array($id, PDO::PARAM_INT)));
} }
public function getTache(){ public function getTache(){
$query='SELECT * FROM ToDoList_Tache'; $query='SELECT * FROM ToDoList_Tache;';
$this->con->executeQuery($query); $this->con->executeQuery($query);
$taches = []; $taches = [];
foreach ($this->con->getResults() as $tache) { foreach ($this->con->getResults() as $tache) {
@ -40,5 +51,10 @@ class TacheGateway{
} }
return $taches; return $taches;
} }
public function isDone(string $id){
$query = 'UPDATE ToDoList_Tache SET estValide = !estValide WHERE id=:id;';
$this->con->executeQuery($query, array('id' => array($id, PDO::PARAM_STR)));
}
} }
?> ?>

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Before

Width:  |  Height:  |  Size: 7.2 KiB

After

Width:  |  Height:  |  Size: 7.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 976 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Before

Width:  |  Height:  |  Size: 3.0 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB

Before

Width:  |  Height:  |  Size: 1.4 MiB

After

Width:  |  Height:  |  Size: 1.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.6 KiB

Before

Width:  |  Height:  |  Size: 6.1 KiB

After

Width:  |  Height:  |  Size: 6.1 KiB

@ -1,7 +1,7 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang="en"> <html lang="en">
<head> <head>
<link rel="shortcut icon" href="./vue/Images/gif.gif" type="../Images/gif"> <link rel="shortcut icon" href="./vue/Images/c.gif" type="../Images/gif">
<meta charset="utf-8"> <meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="viewport" content="width=device-width, initial-scale=1">
<title>Home Page</title> <title>Home Page</title>
@ -12,6 +12,7 @@
<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js"></script> <script src="https://code.jquery.com/jquery-3.2.1.slim.min.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"></script> <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"></script>
</head> </head>
<body style="-webkit-user-select: none; /* Safari */ <body style="-webkit-user-select: none; /* Safari */
-ms-user-select: none; /* IE 10 and IE 11 */ -ms-user-select: none; /* IE 10 and IE 11 */
user-select: none;"> user-select: none;">
@ -19,15 +20,64 @@
<br> <br>
<br> <br>
<br> <br>
<button class="btn btn-default" data-toggle="modal" data-target="#formulaireAjoutListe">
Ajouter une liste
<img src="./vue/Images/plus.png" width="20" />
</button>
<div class="container">
<div class="modal fade" id="formulaireAjoutListe">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title">Ajout d'une liste</h4>
<button type="button" class="close" data-dismiss="modal">
<span>&times;</span>
</button>
</div>
<div class="modal-body row">
<form class="col" method="POST" action="index.php?action=AjouterListePublic">
<div class="form-group">
<?php
if(isset($dVueErreur['nom'])){?>
<center><p class="text-danger"> <?php echo $dVueErreur['nom']?></p></center><?php
}
?>
<label for="nom" class="form-control-label">Nom</label>
<input type="text" class="form-control" name ="nom-ajout-liste" id="nom" placeholder="Entrez un nom">
</div>
<div class="form-group">
<?php
if(isset($dVueErreur['description'])){?>
<center><p class="text-danger"> <?php echo $dVueErreur['description']?></p></center><?php
}
?>
<label for="description" class="form-control-label">Description</label>
<input type="text" class="form-control" name="description-ajout-liste" id="description" placeholder="Entrez une description">
</div>
<button type="submit" class="btn btn-primary pull-right">Ajouter</button>
<input type="hidden" name="action" value="AjouterListePublic">
</form>
</div>
</div>
</div>
</div>
</div>
<?php <?php
foreach($listes as $liste){ foreach($listes as $liste){
$done = 0;
$total = 0;
?> ?>
<!-- Affichage des listes -->
<div class="container py-2 h-100"> <div class="container py-2 h-100">
<div class="row d-flex justify-content-center align-items-center 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="col col-lg-8 col-xl-6">
<div class="card rounded-3"> <div class="card rounded-3">
<div class="card-body p-4"> <div class="card-body p-4">
<div> <div>
<p class="mb-2"> <p class="mb-2">
<span class="h2 me-2 text-info"><?= $liste->getNom()?> <span class="h2 me-2 text-info"><?= $liste->getNom()?>
@ -36,23 +86,102 @@
<img src="./vue/Images/trash.png" width="20" /> <img src="./vue/Images/trash.png" width="20" />
</button> </button>
</a> </a>
<button type="submit" class="btn btn-default"> <button data-toggle="modal" data-target="#formulaireModif<?= $liste->getId()?>" class="btn btn-default">
<img src="./vue/Images/edit.png" width="20" /> <img src="./vue/Images/edit.png" width="20" />
</button> </button>
<button data-toggle="modal" data-target="#formulaireAjout<?= $liste->getId()?>" class="btn btn-default">
<img src="./vue/Images/plus.png" width="20" />
</button>
</span> </span>
</p> </p>
<p><span class="h5 me-2"><?= $liste->getDescription()?></span> <p><span class="h5 me-2"><?= $liste->getDescription()?></span>
<p class="text-muted pb-2"><?= $liste->getDateCreation()?></p> <p class="text-muted pb-2"><?= $liste->getDateCreation()?></p>
</div>
<!-- Fenetre modal -->
<div class="container">
<div class="modal fade" id="formulaireAjout<?= $liste->getId()?>">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title">Ajout d'une tache</h4>
<button type="button" class="close" data-dismiss="modal">
<span>&times;</span>
</button>
</div> </div>
<div class="modal-body row">
<form class="col" method="POST" action="index.php?action=AjouterTache&idListe=<?= $liste->getId() ?>">
<div class="form-group">
<label for="nom" class="form-control-label">Nom</label>
<input type="text" class="form-control" name ="nom-ajout" id="nom" placeholder="Entrez un nom">
</div>
<div class="form-group">
<label for="description" class="form-control-label">Description</label>
<input type="text" class="form-control" name="description-ajout" id="description" placeholder="Entrez une description">
</div>
<button type="submit" class="btn btn-primary pull-right">Ajouter</button>
<input type="hidden" name="action" value="AjouterTache">
<input type="hidden" name="idListe" value="<?= $liste->getId() ?>">
</form>
</div>
</div>
</div>
</div>
</div>
<div class="container">
<div class="modal fade" id="formulaireModif<?= $liste->getId()?>">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title">Modification</h4>
<button type="button" class="close" data-dismiss="modal">
<span>&times;</span>
</button>
</div>
<div class="modal-body row">
<form class="col" method="POST" action="index.php?action=ModifierListe&idListe=<?= $liste->getId() ?>">
<div class="form-group">
<label for="nom" class="form-control-label">Nouveau nom</label>
<input type="text" class="form-control" name ="nom-modif-liste" id="nom" placeholder="<?= $liste->getNom() ?>">
</div>
<div class="form-group">
<label for="description" class="form-control-label">Nouvelle description</label>
<input type="text" class="form-control" name="description-modif-liste" id="description" placeholder="<?= $liste->getDescription() ?>">
</div>
<button type="submit" class="btn btn-primary pull-right">Modifier</button>
<input type="hidden" name="action" value="ModifierListe">
<input type="hidden" name="idListe" value="<?= $liste->getId() ?>">
</form>
</div>
</div>
</div>
</div>
</div>
<!-- Tache -->
<ul class="list-group rounded-0"> <ul class="list-group rounded-0">
<?php <?php
foreach($taches as $tache){ foreach($taches as $tache){
if($tache->getIdListe() == $liste->getId()){ if($tache->getIdListe() == $liste->getId()){
if($tache->getEstValide() == 1){
$done = $done + 1;
}
$total = $total + 1;
?> ?>
<li class="list-group-item border-0 d-flex align-items-center ps-0"> <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="..."/> <form name="action" action="index.php?action=check" method="POST">
<input class="form-check-input me-3" type="checkbox" onChange="submit();"
<?php if($tache->getEstValide() == 1) echo "checked" ?>>
<input type="hidden" name="idTache" value="<?= $tache->getId() ?>" >
</form>
<?= $tache->getNom() ?> : <?= $tache->getDescription() ?> <?= $tache->getNom() ?> : <?= $tache->getDescription() ?>
<a href="index.php?action=SupprimerTache&idTache=<?= $tache->getId() ?>"> <a href="index.php?action=SupprimerTache&idTache=<?= $tache->getId() ?>">
@ -71,6 +200,16 @@
?> ?>
</ul> </ul>
</div> </div>
<div class="progress">
<?php
if($total != 0){
$pourcentage = $done * 100 / $total;
} else{
$pourcentage = 0;
}
?>
<div class="progress-bar progress-bar-striped" role="progressbar" aria-valuenow="75" aria-valuemin="0" aria-valuemax="100" style="width: <?php echo"$pourcentage" ?>%;"></div>
</div>
</div> </div>
</div> </div>
</div> </div>
@ -79,7 +218,6 @@
} }
?> ?>
<nav aria-label="Page navigation example"> <nav aria-label="Page navigation example">
<ul class="pagination justify-content-center"> <ul class="pagination justify-content-center">
<li class="page-item"> <li class="page-item">
@ -177,4 +315,6 @@
<!-- Copyright --> <!-- Copyright -->
</footer> </footer>
</html> </html>
Loading…
Cancel
Save