Compare commits

..

No commits in common. 'master' and 'validation' have entirely different histories.

@ -7,7 +7,7 @@
private int $dc; // done counter # juste visuelle?? private int $dc; // done counter # juste visuelle??
function __construct($nom, $owner="",$dc=0,$id=0) { function __construct($nom, $owner="",$dc=0,$id=0) {
if($id==0) if($id=0)
$this->id = (int)null; $this->id = (int)null;
else else
$this->id = $id; $this->id = $id;

@ -10,11 +10,11 @@
private string $idlist; // # id associating task to list private string $idlist; // # id associating task to list
private bool $isDone; // # si la tache est complete private bool $isDone; // # si la tache est complete
function __construct($titre,$description,$priorite,$idl,$dateDeb=null,$dateFin=null,$isDone=false,$id=0) { function __construct($titre,$description,$priorite,$idl,$dateDeb="",$dateFin="",$isDone=false,$id=0) {
# if id = 0, on veut donc creer une nouvelle tache # if id = 0, on veut donc creer une nouvelle tache
# qui n'est pas encore dans la base de donnée et donc # qui n'est pas encore dans la base de donnée et donc
# le id sera fait avec le auto increment # le id sera fait avec le auto increment
if($id==0) if($id=0)
$this->set_id((int)null); $this->set_id((int)null);
else else
$this->set_id($id); $this->set_id($id);
@ -24,7 +24,6 @@
$this->set_dateDeb($dateDeb); $this->set_dateDeb($dateDeb);
$this->set_dateFin($dateFin); $this->set_dateFin($dateFin);
$this->set_idlist($idl); $this->set_idlist($idl);
$this->set_isDone($isDone);
} }
function get_id() { function get_id() {

@ -1,52 +0,0 @@
Anna BOUDOUL
Nicolas FRANCO
#### Ce qui a été fait depuis l'oral:
- fonction `loadPrivateList` de la classe `TaskModel`
* utilise deux nouvelles fonctions: `findUserList` et `findListTask` du gateway pour charger les listes privées d'un user
- fonction `loadPublicLists` de la classe `TaskModel`
* utilise deux fonctions: `findPublicList` et `findListTask` du gateway pour charger les listes publiques
- vue home.php
* correction de la fonction `isConnected` qui est nécessaire dans cette vue
- contrôleur user
* constructeur
* méthode `deconnexion` associée à l'action `deconnecter`
* méthode `newListPrivate` associée à l'action `creerListePriv`
* méthode `loadListePriv` associée à l'action `voirListePriv`
* méthode `erasePrivList` associée à l'action `supprimerListePriv`
- vue connection.php
- vue newList.php
- vue register.php
- vue about.php
- vue newTask.php
- vue homePriv.php
- fin de la vue erreur.php
- navigation entre les pages avec `href=index.php?action=...`
- classe Validation
- utilisation de la classe validation dans le code
- "binding" des bouttons avec les actions correspondantes (pour les deux controlleurs, visitor et user)
- tableau de vues et tableau des messages d'erreurs
- corrections de bugs
#### Ce qui reste à faire
Nous avions envisagé de permettre à l'utilisateur d'afficher de plus amples informations sur les tâches, comme leurs dates de début et de fin et leur description, à l'aide d'un bouton sur nos vue home et home privé cependant nous n'avons pas eu le temps de le faire et par souci d'esthétisme et de lisibilité nous n'avons pas mis toutes ces informations dans le tableau des tâches pour chaque liste.
Nous souhaitions également afficher un compte des tâches faites sur le nombre de tâches total par liste mais nous n'avons pas eu le temps de terminer cette fonctionnalité.
Nous avons tout de même conservé les attributs qui étaient censés être utilisés dans ces fonctionnalités dans notre base de données et dans nos classes métiers en vue d'une possible amélioration de notre site.
#### Plus de détails
* vous pouvez trouver plus de détail sur notre dépot git disponible ici `https://codefirst.iut.uca.fr/git/anna.boudoul/ProjetPHP`, en regardant les commits qui ont été fait tout au long du projet.

@ -7,15 +7,4 @@
$con = new Connection('mysql:host=localhost;dbname=dbanboudoul', 'anboudoul', 'mdpMYSQL'); $con = new Connection('mysql:host=localhost;dbname=dbanboudoul', 'anboudoul', 'mdpMYSQL');
$TMessage = array(); $TMessage = array();
$TabVues = array();
$TabVues["erreur"] = "view/erreur.php";
$TabVues["home"] = "view/home.php";
$TabVues["connection"] = "view/connection.php";
$TabVues["register"] = "view/register.php";
$TabVues["newList"] = "view/newList.php";
$TabVues["liste"] = "view/liste.php";
$TabVues["about"] = "view/about.php";
$TabVues["prives"] = "view/privHome.php";
?> ?>

@ -1,5 +1,4 @@
<?php <?php
require_once("config/config.php");
require("model/UserModel.php"); require("model/UserModel.php");
class FrontCtrl class FrontCtrl
@ -7,38 +6,34 @@ class FrontCtrl
private UserModel $usrMdl; private UserModel $usrMdl;
private $action_User; private $action_User;
private bool $isUser; private bool $isUser;
private $TabVues;
function __construct(&$con, $TabVues){ function __construct(&$con){
session_start(); session_start();
$this->TabVues = $TabVues;
$this->usrMdl = new UserModel($con); $this->usrMdl = new UserModel($con);
$this->action_User = array('deconnecter', 'voirListePriv', 'creerListePriv', 'supprimerListePriv'); $this->action_User = array('deconnexion','loadListePriv','newListPrivate');
try{ try{
$this->isUser = $this->usrMdl->isConnected(); // cette fonction retourne quoi?
$this->isUser = $this->usrMdl->isConnected();
$action = $_REQUEST['action'] ?? null; $action = $_REQUEST['action'] ?? null;
if(($i = array_search($action,$this->action_User)) !== false){ # si action dans la liste d'actions user if(($i = array_search($action,$this->action_User)) !== false){ # si action dans la liste d'actions user
if(!$this->isUser){ # si pas conncter if(!$this->isUser){ # si pas conncter
# appel controlleur visiteur avec action connecter # appel controlleur visiteur avec action connecter
require("VisitorCtrl.php"); require("VisitorCtrl.php");
$visitCtrl = new VisitorCtrl($con, $this->TabVues, $this->isUser); $visitCtrl = new VisitorCtrl($con);
$visitCtrl->goconnexion(); $visitCtrl->goconnexion();
} else { # sinon } else { # sinon
# handle action avec controlleur user # handle action avec controlleur user
require("UserCtrl.php"); require("UserCtrl.php");
$userCtrl = new UserCtrl($con, $this->TabVues); $userCtrl = new UserCtrl();
} }
} else { # sinon forcement action visiteur } else { # sinon forcement action visiteur
# appel controlleur visiteur avec l'action # appel controlleur visiteur avec l'action
require("VisitorCtrl.php"); require("VisitorCtrl.php");
$visitCtrl = new VisitorCtrl($con, $this->TabVues, $this->isUser); $visitCtrl = new VisitorCtrl($con,$this->isUser);
} }
} catch (Exception $e){ // verifier si catch bon } catch (Exception $e){ // verifier si catch bon
$TMessage[] = $e->getMessage(); require("../view/erreur.php");
require($this->TabVues["erreur"]);
} }
} }
} }

@ -1,5 +1,5 @@
<?php <?php
require_once("model/TaskModel.php"); require_once("../model/TaskModel.php");
class UserCtrl class UserCtrl
{ {
@ -7,10 +7,8 @@ class UserCtrl
private $con; private $con;
private $taskModel; private $taskModel;
private $userModel; private $userModel;
private $TabVues;
public function __construct(Connection $con, $TabVues){ public function __construct(Connection $con){
$this->TabVues = $TabVues;
$this->con = $con; $this->con = $con;
$this->userModel = new UserModel($this->con); $this->userModel = new UserModel($this->con);
$this->taskModel = new TaskModel($this->con); $this->taskModel = new TaskModel($this->con);
@ -27,51 +25,43 @@ class UserCtrl
case 'creerListePriv': case 'creerListePriv':
$this->newListPrivate(); $this->newListPrivate();
break; break;
// supprimer une liste privee
case 'supprimerListePriv':
$this->erasePrivList();
break;
case 'deconnecter': case 'deconnecter':
$this->deconnexion(); $this->deconnexion();
break; break;
default: default:
$TMessage[] = 'Unexpected error'; $TMessage[] = 'Unexpected error';
require($this->TabVues["erreur"]); require($rep.$vues['']);
break; break;
} }
} catch(Exception $e) { } catch(Exception $e) {
$TMessage[] = $e->getMessage(); require("../view/erreur.php");
require($this->TabVues["erreur"]);
} }
} }
public function loadListePriv(){ public function loadListePriv(){
$user = $_SESSION['login']; $name = "Liste privée";
$private_lists = $this->taskModel->loadPrivateLists($user); // $TabList[] = new ListTask(0, "Projet PHP");
require($this->TabVues["prives"]); // $TabList[] = new ListTask(1, "Projet Blazor");
$TabList = $this->taskModel->loadPrivateLists($_SESSION['login']);
require("../view/liste.php");
} }
public function newListPrivate(){ public function newListPrivate(){
$this->taskModel->addList($_POST['listName'],$_SESSION['login']); $nom=$_POST['listeNom'];
$this->loadListePriv(); // $nom = "New List";
} $this->taskModel->addList($nom,$_SESSION['login']);
function erasePrivList(){
$this->taskModel->supList($_POST['listId']);
$this->loadListePriv();
} }
function loadHome(){ function loadHome(){
$user = false;
$public_lists = $this->taskModel->loadPublicLists(); $public_lists = $this->taskModel->loadPublicLists();
require($this->TabVues["home"]); require("../view/home.php");
} }
public function deconnexion(){ public function deconnexion(){
$this->userModel->deconnexion(); $usrModel->deconnexion();
header("Location:index.php"); loadHome();
} }
} }
?> ?>

@ -1,15 +1,12 @@
<?php <?php
require("model/TaskModel.php"); require("model/TaskModel.php");
class VisitorCtrl class VisitorCtrl
{ {
private $taskModel; private $taskModel;
private $userModel; private $userModel;
private $isUser; private $isUser;
private $TabVues;
function __construct($con, $TabVues, $isUser){ function __construct($con,$isUser){
$this->TabVues = $TabVues;
$this->isUser = $isUser; $this->isUser = $isUser;
$dvueErreur = array(); $dvueErreur = array();
$this->taskModel = new TaskModel($con); $this->taskModel = new TaskModel($con);
@ -30,21 +27,17 @@ class VisitorCtrl
$this->go_connection(); $this->go_connection();
break; break;
case 'pageAbout':
$this->go_about();
break;
case 'connecter': case 'connecter':
$this->connection(); $this->connection();
# charge la vue de connexion # charge la vue de connexion
break; break;
case 'pageRegister': case 'pageRegister':
$this->go_register(); $this->go_connection();
break; break;
case 'register': case 'register':
$this->register(); $this->connection();
# charge la vue de connexion # charge la vue de connexion
break; break;
@ -76,116 +69,62 @@ class VisitorCtrl
# supprimer une tache # supprimer une tache
break; break;
case 'isDone':
$this->isDone();
break;
default: default:
#
$TMessage[] = 'Unexpected error'; $TMessage[] = 'Unexpected error';
require($this->TabVues["erreur"]); require($rep.$vues['']);
$this->loadHome();
break; break;
} }
} catch (Exception $e) { } catch (Exception $e) {
var_dump($_POST); require("view/erreur.php");
$TMessage[] = $e->getMessage();
require($this->TabVues["erreur"]);
} }
} }
function loadHome(){ function loadHome(){
$public_lists = $this->taskModel->loadPublicLists(); $public_lists = $this->taskModel->loadPublicLists();
# le if suivant est nécéssaire dans le cas ou l'action
# connection a été appeller. Dans ce cas, loadHome doit
# prendre en compte le user qui vient d'être ajouter a
# $_SESSION['login']
if(isset($_SESSION['login']) && $_SESSION['login'] != "")
$user = $_SESSION['login'];
else
$user = $this->isUser; $user = $this->isUser;
require("view/home.php");
require($this->TabVues["home"]);
} }
function go_connection(){ function go_connection(){
$user = $this->isUser; # rediriger vers la page de connection
require($this->TabVues["connection"]);
}
function go_about(){
$user = $this->isUser;
require($this->TabVues["about"]);
} }
function connection(){ function connection(){
$isCo = $this->userModel->connexion($_POST['username'],$_POST['password']); $this->userModel->connexion($user,$mdp);
if(!$isCo){
$TMessage[] = 'This user does not exist'; require($this->TabVues["erreur"]);
$this->loadHome();
}
else
$this->loadHome();
} }
function go_register(){ function go_register(){
$user = $this->isUser; # rediriger vers la page de register
require($this->TabVues["register"]);
} }
function register(){ function register(){
$this->userModel->ajouter($_POST['username'],$_POST['password']); $this->userModel->connexion($user,$mdp);
$this->go_connection();
} }
function go_list(){ function go_list(){
$user = $this->isUser;
require("view/newList.php");
} }
function makeList(){ function makeList(){
$this->taskModel->addList($_POST['listName']);
$this->loadHome();
} }
function eraseList(){ function eraseList(){
$this->taskModel->supList($_POST['listId']);
$this->loadHome();
} }
function go_task(){ function go_task(){
$user = $this->isUser;
if(isset($_POST['listId'])) $_SESSION['listId'] = $_POST['listId'];
if(isset($_POST['isPriv'])) $_SESSION['isPriv'] = $_POST['isPriv'];
require("view/newTask.php");
} }
function addTask(){ function addTask(){
$this->taskModel->addTask($_POST['titreT'],$_POST['descT'],
$_POST['prioriteT'],$_SESSION['listId'],$_POST['dateDebT'],$_POST['dateFinT']);
if(isset($_SESSION['isPriv']) && $_SESSION['isPriv'])
header("Location:index.php?action=voirListePriv");
else
$this->loadHome();
} }
function eraseTask(){ function eraseTask(){
$this->taskModel->supTask($_POST['idT']);
if(!empty($_POST['isPriv']))
header("Location:index.php?action=voirListePriv");
else
$this->loadHome();
}
function isDone(){
if ($_POST['Tdone'])
$this->taskModel->modifTask($_POST['idT'],'isDone',false);
else
$this->taskModel->modifTask($_POST['idT'],'isDone',true);
if(!empty($_POST['isPriv']))
header("Location:index.php?action=voirListePriv");
else
$this->loadHome();
} }
} }
?> ?>

@ -16,24 +16,18 @@ class TaskGateway
// functions // functions
// code de retour pour les fonctions i,u,d? // code de retour pour les fonctions i,u,d?
public function insertT(Task $t){ public function insertT(Task $t){
$query='INSERT INTO Tache VALUES (:id,:titre,:descript,:dateDeb,:dateFin,:priorite,:idList,false)'; $query='INSERT INTO Tache VALUES (:id,:titre,:descript,NULL,NULL,:priorite,:idList,false)';
if($t->get_dateDeb() == null)
$dateDeb = NULL;
else
$dateDeb = $t->get_dateDeb();
if($t->get_dateFin() == null)
$dateFin = NULL;
else
$dateFin = $t->get_dateFin();
$this->con->executeQuery($query, array( $this->con->executeQuery($query, array(
':id'=> array($t->get_id(),PDO::PARAM_STR), ':id'=> array($t->get_id(),PDO::PARAM_STR),
':titre'=> array($t->get_titre(),PDO::PARAM_STR), ':titre'=> array($t->get_titre(),PDO::PARAM_STR),
':descript'=> array($t->get_description(),PDO::PARAM_STR), ':descript'=> array($t->get_description(),PDO::PARAM_STR),
':dateDeb'=> array($dateDeb,PDO::PARAM_STR),
':dateFin'=> array($dateFin,PDO::PARAM_STR),
':priorite'=> array($t->get_priorite(),PDO::PARAM_STR), ':priorite'=> array($t->get_priorite(),PDO::PARAM_STR),
':idList'=> array($t->get_idList(),PDO::PARAM_STR) )); ':idList'=> array($t->get_idList(),PDO::PARAM_STR) ));
/*Comment gerer les erreurs?
* si valeur existe deja
*/
} }
public function update($table,$id,$element, $valeur){ public function update($table,$id,$element, $valeur){
@ -51,8 +45,7 @@ class TaskGateway
if($table == 'task'){ if($table == 'task'){
$query='DELETE FROM Tache WHERE id = :id'; $query='DELETE FROM Tache WHERE id = :id';
} else { } else {
$query='DELETE FROM uList WHERE id = :id; $query='DELETE FROM uList WHERE id = :id';
DELETE FROM Tache WHERE idList = :id;';
} }
$this->con->executeQuery($query, array( $this->con->executeQuery($query, array(
':id'=>array($id,PDO::PARAM_STR))); ':id'=>array($id,PDO::PARAM_STR)));
@ -120,20 +113,6 @@ class TaskGateway
':user'=> array($l->get_owner(),PDO::PARAM_STR))); ':user'=> array($l->get_owner(),PDO::PARAM_STR)));
} }
public function count($list){
$query='SELECT COUNT(*) from Tache where idList = :idList';
$this->con->executeQuery($query, array(
':idList' => array($list->get_id(),PDO::PARAM_INT)
));
$result = $this->con->getResults();
foreach($result as $row){
$taille = $row[0];
}
return $taille;
}
public function findUserList($user){ public function findUserList($user){
# pas réussit a faire une jointure optimale donc # pas réussit a faire une jointure optimale donc
# decomposé en plusieurs foncitons: # decomposé en plusieurs foncitons:

@ -47,8 +47,8 @@
$query = 'SELECT mdp FROM User WHERE login = :login'; $query = 'SELECT mdp FROM User WHERE login = :login';
$this->con->executeQuery($query, array(':login'=>array($login, PDO::PARAM_STR))); $this->con->executeQuery($query, array(':login'=>array($login, PDO::PARAM_STR)));
$result = $this->con->getResults(); $result = $this->con->getResults();
if(empty($result[0][0])) return; $hash = password_hash($result[0]['mdp'], PASSWORD_BCRYPT, array("cost" => 12));
if(password_verify($mdp, $result[0][0])) if(password_verify($mdp, $hash))
return $login; return $login;
} }
} }

@ -1,58 +0,0 @@
-- phpMyAdmin SQL Dump
-- version 5.2.0
-- https://www.phpmyadmin.net/
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
START TRANSACTION;
SET time_zone = "+00:00";
-- --------------------------------------------------------
--
-- Structure de la table `tache`
--
DROP TABLE IF EXISTS `tache`;
CREATE TABLE IF NOT EXISTS `tache` (
`id` int NOT NULL AUTO_INCREMENT,
`titre` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`dateDebut` date DEFAULT NULL,
`dateFin` date DEFAULT NULL,
`priorite` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`idList` int NOT NULL,
`isDone` tinyint(1) NOT NULL,
PRIMARY KEY (`id`),
KEY `FK_list` (`idList`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
-- --------------------------------------------------------
--
-- Structure de la table `ulist`
--
DROP TABLE IF EXISTS `ulist`;
CREATE TABLE IF NOT EXISTS `ulist` (
`id` int NOT NULL AUTO_INCREMENT,
`nom` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`user` varchar(250) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
`dc` int NOT NULL,
PRIMARY KEY (`id`),
KEY `FK_list_owner` (`user`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
-- --------------------------------------------------------
--
-- Structure de la table `user`
--
DROP TABLE IF EXISTS `user`;
CREATE TABLE IF NOT EXISTS `user` (
`login` varchar(250) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`mdp` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
PRIMARY KEY (`login`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
COMMIT;

@ -1,7 +1,9 @@
<?php <?php
require("config/config.php"); require_once("config/config.php");
require('config/Validation.php');
require_once("controller/FrontCtrl.php"); require_once("controller/FrontCtrl.php");
$fc = new FrontCtrl($con, $TabVues); require('config/Validation.php');
require("view/erreur.php");
$fc = new FrontCtrl($con);
?> ?>

@ -13,7 +13,7 @@ class TaskModel
$this->gtw= new TaskGateway($con); $this->gtw= new TaskGateway($con);
} }
public function addTask($titre,$desc,$priorite,$idList,$dateDeb=null,$dateFin=null,$isDone=false,$id=0) public function addTask($titre,$desc,$priorite,$idList,$dateDeb="",$dateFin="",$isDone=false,$id=0)
{ {
$t = new Task($titre,$desc,$priorite,$idList,$dateDeb,$dateFin,$isDone,$id); $t = new Task($titre,$desc,$priorite,$idList,$dateDeb,$dateFin,$isDone,$id);
$this->gtw->insertT($t); $this->gtw->insertT($t);
@ -54,11 +54,6 @@ class TaskModel
$this->gtw->update('list',$id,$element,$valeur); $this->gtw->update('list',$id,$element,$valeur);
} }
public function size($list){
$taille = $this->gtw->count($list);
return $taille;
}
public function supList($id) public function supList($id)
{ {
$this->gtw->delete('list',$id); $this->gtw->delete('list',$id);

@ -16,27 +16,27 @@
Validation::val_form_texte($login, $TMessage); Validation::val_form_texte($login, $TMessage);
Validation::val_form_mdp($mdp, $TMessage); Validation::val_form_mdp($mdp, $TMessage);
$result = $this->gat->findUser($login, $mdp); $result = $this->gat->findUser($login, $mdp);
if(!isset($result)) echo 'not set works';
if(!isset($result)){ else
return false; {
} else {
$_SESSION['login'] = $result; $_SESSION['login'] = $result;
return true;
} }
} }
function deconnexion(){ function deconnexion(){
session_unset(); session_unset();
session_destroy(); session_destroy();
$_SESSION = array();
} }
function isConnected(){ //teste rôle dans la session, retourne instance dobjet ou booleen function isConnected(){ //teste rôle dans la session, retourne instance dobjet ou booleen
Validation::val_form_texte($_SESSION['login'], $TMessage); Validation::val_form_texte($_SESSION['login'], $TMessage);
if(isset($_SESSION['login']) && $_SESSION['login']!="") if(isset($_SESSION['login'])){
return true; return true;
else } else {
return false; return false;
} }
}
function ajouter($login, $mdp){ function ajouter($login, $mdp){
Validation::val_form_texte($login, $TMessage); Validation::val_form_texte($login, $TMessage);

@ -1,9 +1,9 @@
<?php <?php
require_once("business/Task.php"); require_once("../business/Task.php");
require_once("business/ListTask.php"); require_once("../business/ListTask.php");
require_once("dal/TaskGateway.php"); require_once("../dal/TaskGateway.php");
require_once("controller/VisitorCtrl.php"); require_once("../model/TaskModel.php");
require_once("dal/Connection.php"); require_once("../controller/VisitorCtrl.php");
//echo "<h1>2do test</h1>"; //echo "<h1>2do test</h1>";
# Test de la Gateway Tache # Test de la Gateway Tache
@ -11,7 +11,8 @@ require_once("dal/Connection.php");
# $t = new Task(5,'tacheNotErr','desc.','urgent','001'); # $t = new Task(5,'tacheNotErr','desc.','urgent','001');
# connection # connection
$con = new Connection('mysql:host=localhost;dbname=phpproject', 'nifranco', 'achanger'); include("credentials.php");
$con = new Connection('mysql:host=localhost;dbname=dbanboudoul', 'anboudoul', 'mdpMYSQL');
# gateway # gateway
// $t = new Task(3,'richarlison voltar pro flu','desc.','urgent','0'); // $t = new Task(3,'richarlison voltar pro flu','desc.','urgent','0');
@ -39,7 +40,7 @@ $con = new Connection('mysql:host=localhost;dbname=phpproject', 'nifranco', 'ach
# Test LOAD PRIVATE TASKS # Test LOAD PRIVATE TASKS
$mt= new TaskModel($con); $mt= new TaskModel($con);
$mt->addList('Nicolas2do'); //$mt->addList('private','nifranco');
# Test LOAD PRIVATE TASKS # Test LOAD PRIVATE TASKS
// $mt= new TaskModel($con); // $mt= new TaskModel($con);
// $mt->addList('private','nifranco'); // $mt->addList('private','nifranco');
@ -95,23 +96,23 @@ $mdl = new UserModel($con);
// $mdl->modifLogin('Anna', 'Aeryn'); // $mdl->modifLogin('Anna', 'Aeryn');
// $mdl->modifMdp('Aeryn', 'wtfmec'); // $mdl->modifMdp('Aeryn', 'wtfmec');
// $mdl->supprimer('Aeryn'); // $mdl->supprimer('Aeryn');
// $mdl->connexion('Aeryn', 'wtfmec'); $mdl->connexion('Aeryn', 'wtfmec');
// $mt->addList("Test Liste"); $mt->addList("Test Liste");
// $mt->addList("Liste publique"); $mt->addList("Liste publique");
// $mt->addList("Liste privée", "Aeryn"); $mt->addList("Liste privée", "Aeryn");
// $mt->addList("Projet de PHP", "Aeryn"); $mt->addList("Projet de PHP", "Aeryn");
// $mt->addList("Projet Blazor", "Aeryn"); $mt->addList("Projet Blazor", "Aeryn");
// $mt->addList("Projet de PHP", "RicharlisonR9"); $mt->addList("Projet de PHP", "RicharlisonR9");
// $mt->addList("Projet Blazor", "RicharlisonR9"); $mt->addList("Projet Blazor", "RicharlisonR9");
// TEST USER CONTROLLER // TEST USER CONTROLLER
// session_start(); session_start();
// $_SESSION['login'] = 'RicharlisonR9'; $_SESSION['login'] = 'RicharlisonR9';
// $usrctrl = new UserCtrl($con); $usrctrl = new UserCtrl($con);
// $usrctrl->loadHome(); $usrctrl->loadHome();

@ -1,74 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" />
<meta name="description" content="" />
<meta name="author" content="" />
<!-- Core theme CSS (includes Bootstrap)-->
<link href="view/css/home.css" rel="stylesheet" />
</head>
<body>
<div class="d-flex" id="wrapper">
<!-- Sidebar-->
<div class="border-end bg-white" id="sidebar-wrapper">
<div class="sidebar-heading border-bottom bg-light">2do</div>
<div class="list-group list-group-flush">
<a class="list-group-item list-group-item-action list-group-item-light p-3" href="index.php">Home</a>
<a class="list-group-item list-group-item-action list-group-item-light p-3" href="index.php?action=pageListe">New List +</a>
<?php
if($user){
echo '<a class="list-group-item list-group-item-action list-group-item-light p-3" href="index.php?action=voirListePriv">My Lists &#128274;</a>';
}
?>
<a class="list-group-item list-group-item-action list-group-item-light p-3" href="index.php?action=pageAbout">About</a>
</div>
</div>
<!-- Page content wrapper-->
<div id="page-content-wrapper">
<!-- Top navigation-->
<nav class="navbar navbar-expand-lg navbar-light bg-light border-bottom">
<div class="container-fluid">
<button class="btn btn-primary" id="sidebarToggle">Toggle Menu</button>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation"><span class="navbar-toggler-icon"></span></button>
<div class="collapse navbar-collapse" id="navbarSupportedContent">
<ul class="navbar-nav ms-auto mt-2 mt-lg-0">
<?php
if($user){
echo '<li class="nav-item"><a class="nav-link" href="index.php?action=deconnecter">Log out</a></li>';
} else {
echo '<li class="nav-item"><a class="nav-link" href="index.php?action=pageConnection">Log In</a></li>';
echo '<li class="nav-item"><a class="nav-link" href="index.php?action=pageRegister">Register</a></li>';
}
?>
</ul>
</div>
</div>
</nav>
<!--Contenu de la page ici-->
<div class="container-fluid">
<center>
<div class="col-lg-4 mb-5 mb-lg-0 text-center">
<div>
<div class="rounded-5 shadow-3-soft p-4" style="background-color: #fff9f2">
<div class="border-top border-dark mx-auto" style="width: 100px"></div>
<p class="text-muted mt-4 mb-2">2Do</p>
<p class="h5 mb-4" style="color: #344e41">A PHP project</p>
<p class="pb-4 mb-4">
A little PHP project realised by two french students studying Computer Science at the IUT of
Clermont Auvergne in France. The main goal of this project was to create a little To Do List
using the PHP language. We hope that you will find it useful.
</p>
</div>
</div>
</div>
</center>
</div>
</div>
</div>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js"></script>
<!-- Core theme JS-->
<script src="../view/js/home.js"></script>
</body>
</html>

@ -14,14 +14,14 @@
<div class="border-end bg-white" id="sidebar-wrapper"> <div class="border-end bg-white" id="sidebar-wrapper">
<div class="sidebar-heading border-bottom bg-light">2do</div> <div class="sidebar-heading border-bottom bg-light">2do</div>
<div class="list-group list-group-flush"> <div class="list-group list-group-flush">
<a class="list-group-item list-group-item-action list-group-item-light p-3" href="index.php">Home</a> <a class="list-group-item list-group-item-action list-group-item-light p-3" href="#!">Home</a>
<a class="list-group-item list-group-item-action list-group-item-light p-3" href="index.php?action=pageListe">New List +</a> <a class="list-group-item list-group-item-action list-group-item-light p-3" href="#!">New List +</a>
<?php <?php
if($user){ if($user){
echo '<a class="list-group-item list-group-item-action list-group-item-light p-3" href="index.php?action=voirListePriv">My Lists &#128274;</a>'; echo '<a class="list-group-item list-group-item-action list-group-item-light p-3" href="#!">My Lists &#128274;</a>';
} }
?> ?>
<a class="list-group-item list-group-item-action list-group-item-light p-3" href="index.php?action=pageAbout">About</a> <a class="list-group-item list-group-item-action list-group-item-light p-3" href="#!">About</a>
</div> </div>
</div> </div>
<!-- Page content wrapper--> <!-- Page content wrapper-->
@ -35,10 +35,10 @@
<ul class="navbar-nav ms-auto mt-2 mt-lg-0"> <ul class="navbar-nav ms-auto mt-2 mt-lg-0">
<?php <?php
if($user){ if($user){
echo '<li class="nav-item"><a class="nav-link" href="index.php?action=deconnecter">Log out</a></li>'; echo '<li class="nav-item"><a class="nav-link" href="#!">Log out</a></li>';
} else { } else {
echo '<li class="nav-item"><a class="nav-link" href="#!">Log In</a></li>'; echo '<li class="nav-item"><a class="nav-link" href="#!">Log In</a></li>';
echo '<li class="nav-item"><a class="nav-link" href="index.php?action=pageRegister">Register</a></li>'; echo '<li class="nav-item"><a class="nav-link" href="#!">Register</a></li>';
} }
?> ?>
</ul> </ul>
@ -48,22 +48,21 @@
<!--Contenue de la page ici--> <!--Contenue de la page ici-->
<div class="container-fluid"> <div class="container-fluid">
<h1 class="text-center my-3 pb-3">Welcome back!</h1> <h1 class="text-center my-3 pb-3">Welcome back!</h1>
<form action="index.php" method="post"> <form>
<!-- Login input --> <!-- Login input -->
<div class="form-outline mb-4 align-items-center"> <div class="form-outline mb-4 align-items-center">
<input name="username" type="text" id="form2Example1" class="form-control" required/> <input type="email" id="form2Example1" class="form-control" />
<label class="form-label" for="form2Example1">Username</label> <label class="form-label" for="form2Example1">Username</label>
</div> </div>
<!-- Password input --> <!-- Password input -->
<div class="form-outline mb-4"> <div class="form-outline mb-4">
<input name="password" type="password" id="form2Example2" class="form-control" required/> <input type="password" id="form2Example2" class="form-control" />
<label class="form-label" for="form2Example2">Password</label> <label class="form-label" for="form2Example2">Password</label>
</div> </div>
<!-- Submit button --> <!-- Submit button -->
<button type="submit" class="btn btn-primary btn-block mb-4">Log In</button> <button type="button" class="btn btn-primary btn-block mb-4" action="connecter">Sign in</button>
<input type="hidden" name="action" value="connecter" ></input>
</form> </form>
</div> </div>

@ -1,18 +1,5 @@
<!DOCTYPE html> <?php
<html lang="en">
<head>
<meta charset="utf-8" />
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/css/bootstrap.min.css"
rel="stylesheet" integrity="sha384-rbsA2VBKQhggwzxH7pPCaAqO46MgnOM80zW1RWuH61DGLwZJEdK2Kadq2F9CUG65"
crossorigin="anonymous">
</head>
<body>
<?php
foreach($TMessage as $err) { foreach($TMessage as $err) {
echo '<div class="alert alert-danger alert-dismissible d-flex align-items-center fade show"> echo $err . "<br/>";
<i class="bi-exclamation-octagon-fill"></i>
<strong class="mx-2">Error!</strong>' . $err . "</div>";
} }
?> ?>
</body>
</html>

@ -0,0 +1 @@
<a href="CtrlUser.php?action=exaction&id=1"

@ -14,14 +14,14 @@
<div class="border-end bg-white" id="sidebar-wrapper"> <div class="border-end bg-white" id="sidebar-wrapper">
<div class="sidebar-heading border-bottom bg-light">2do</div> <div class="sidebar-heading border-bottom bg-light">2do</div>
<div class="list-group list-group-flush"> <div class="list-group list-group-flush">
<a class="list-group-item list-group-item-action list-group-item-light p-3" href="index.php">Home</a> <a class="list-group-item list-group-item-action list-group-item-light p-3" href="#!">Home</a>
<a class="list-group-item list-group-item-action list-group-item-light p-3" href="index.php?action=pageListe">New List +</a> <a class="list-group-item list-group-item-action list-group-item-light p-3" href="index.php?action=go_list">New List +</a>
<?php <?php
if($user){ if($user){
echo '<a class="list-group-item list-group-item-action list-group-item-light p-3" href="index.php?action=voirListePriv">My Lists &#128274;</a>'; echo '<a class="list-group-item list-group-item-action list-group-item-light p-3" href="#!">My Lists &#128274;</a>';
} }
?> ?>
<a class="list-group-item list-group-item-action list-group-item-light p-3" href="index.php?action=pageAbout">About</a> <a class="list-group-item list-group-item-action list-group-item-light p-3" href="#!">About</a>
</div> </div>
</div> </div>
<!-- Page content wrapper--> <!-- Page content wrapper-->
@ -35,10 +35,10 @@
<ul class="navbar-nav ms-auto mt-2 mt-lg-0"> <ul class="navbar-nav ms-auto mt-2 mt-lg-0">
<?php <?php
if($user){ if($user){
echo '<li class="nav-item"><a class="nav-link" href="index.php?action=deconnecter">Log out</a></li>'; echo '<li class="nav-item"><a class="nav-link" href="#!">Log out</a></li>';
} else { } else {
echo '<li class="nav-item"><a class="nav-link" href="index.php?action=pageConnection">Log In</a></li>'; echo '<li class="nav-item"><a class="nav-link" action="page_connection">Log In</a></li>';
echo '<li class="nav-item"><a class="nav-link" href="index.php?action=pageRegister">Register</a></li>'; echo '<li class="nav-item"><a class="nav-link" href="#!">Register</a></li>';
} }
?> ?>
</ul> </ul>
@ -59,20 +59,12 @@
<div class="col col-lg-9 col-xl-7"> <div class="col col-lg-9 col-xl-7">
<div class="card rounded-3"><div class="card rounded-3"> <div class="card rounded-3"><div class="card rounded-3">
<div class="card-body p-4"> <div class="card-body p-4">
<form action="index.php" method="post" class="row row-cols-lg-auto g-3 justify-content-center align-items-center mb-4 pb-2">
<div class="col-12 position-absolute top-0 start-0">
<button type="submit" class="btn btn-danger">&#128465;</button>
<input type="hidden" name="listId" value="'.$l->get_id().'"></input>
<input type="hidden" name="action" value="supprimerListe"></input>
</div>
</form>
<h4 class="text-center my-3 pb-3">'.$l->get_nom().'</h4> <h4 class="text-center my-3 pb-3">'.$l->get_nom().'</h4>
<form action="index.php" method="post" class="row row-cols-lg-auto g-3 justify-content-center align-items-center mb-4 pb-2"> <form class="row row-cols-lg-auto g-3 justify-content-center align-items-center mb-4 pb-2">
<div class="col-12"> <div class="col-12">
<button type="submit" class="btn btn-primary">New task &#128221;</button> <button type="submit" class="btn btn-primary">New task &#128221;</button>
<input type="hidden" name="listId" value="'.$l->get_id().'"></input>
<input type="hidden" name="action" value="pageTache"></input>
</div> </div>
</form> </form>
<table class="table mb-4"> <table class="table mb-4">
@ -87,41 +79,13 @@
# IF NO TASKS, display NO TASKS # IF NO TASKS, display NO TASKS
if(!empty($l->get_taches())){ if(!empty($l->get_taches())){
foreach($l->get_taches() as $t){ foreach($l->get_taches() as $t){
if(!$t->get_isDone()){
echo ' echo '
<tr> <tr>
<td>'.$t->get_titre().'</td> <td>'.$t->get_titre().'</td>
<td>'.$t->get_priorite().'</td>'; <td>'.$t->get_priorite().'</td>
} else {
echo '
<tr>
<td><del>'.$t->get_titre().'</del></td>
<td><del>'.$t->get_priorite().'</del></td>';
}
echo '
<td> <td>
<form action="index.php" method="post" class="d-inline-block">'; <button type="submit" class="btn btn-success ms-1">Done</button>
if(!$t->get_isDone()){ <button type="submit" class="btn btn-danger">&#128465;</button>
echo '<button type="submit" class="btn btn-success ms-1">&#10004;
<input type="hidden" name="idT" value="'.$t->get_id().'"></input>
<input type="hidden" name="Tdone" value="'.$t->get_isDone().'"></input>
<input type="hidden" name="action" value="isDone">
</button>';
} else {
echo '<button type="submit" class="btn btn-secondary ms-1">&#10006;
<input type="hidden" name="idT" value="'.$t->get_id().'"></input>
<input type="hidden" name="Tdone" value="'.$t->get_isDone().'"></input>
<input type="hidden" name="action" value="isDone">
</button>';
}
echo '
</form>
<form action="index.php" method="post" class="d-inline-block">
<button type="submit" class="btn btn-danger">&#128465;
<input type="hidden" name="idT" value="'.$t->get_id().'"></input>
<input type="hidden" name="action" value="supprimerTache">
</button>
</form>
</td> </td>
</tr>'; </tr>';
} }

@ -14,14 +14,14 @@
<div class="border-end bg-white" id="sidebar-wrapper"> <div class="border-end bg-white" id="sidebar-wrapper">
<div class="sidebar-heading border-bottom bg-light">2do</div> <div class="sidebar-heading border-bottom bg-light">2do</div>
<div class="list-group list-group-flush"> <div class="list-group list-group-flush">
<a class="list-group-item list-group-item-action list-group-item-light p-3" href="index.php">Home</a> <a class="list-group-item list-group-item-action list-group-item-light p-3" href="#!">Home</a>
<a class="list-group-item list-group-item-action list-group-item-light p-3" href="index.php?action=pageListe">New List +</a> <a class="list-group-item list-group-item-action list-group-item-light p-3" href="#!">New List +</a>
<?php <?php
if($user){ if($user){
echo '<a class="list-group-item list-group-item-action list-group-item-light p-3" href="index.php?action=voirListePriv">My Lists &#128274;</a>'; echo '<a class="list-group-item list-group-item-action list-group-item-light p-3" href="#!">My Lists &#128274;</a>';
} }
?> ?>
<a class="list-group-item list-group-item-action list-group-item-light p-3" href="index.php?action=pageAbout">About</a> <a class="list-group-item list-group-item-action list-group-item-light p-3" href="#!">About</a>
</div> </div>
</div> </div>
<!-- Page content wrapper--> <!-- Page content wrapper-->
@ -35,10 +35,10 @@
<ul class="navbar-nav ms-auto mt-2 mt-lg-0"> <ul class="navbar-nav ms-auto mt-2 mt-lg-0">
<?php <?php
if($user){ if($user){
echo '<li class="nav-item"><a class="nav-link" href="index.php?action=deconnecter">Log out</a></li>'; echo '<li class="nav-item"><a class="nav-link" href="#!">Log out</a></li>';
} else { } else {
echo '<li class="nav-item"><a class="nav-link" href="index.php?action=pageConnection">Log In</a></li>'; echo '<li class="nav-item"><a class="nav-link" href="#!">Log In</a></li>';
echo '<li class="nav-item"><a class="nav-link" href="index.php?action=pageRegister">Register</a></li>'; echo '<li class="nav-item"><a class="nav-link" href="#!">Register</a></li>';
} }
?> ?>
</ul> </ul>

@ -24,12 +24,3 @@ window.addEventListener('DOMContentLoaded', event => {
} }
}); });
function hideShow() {
var x = document.getElementById("myDIV");
if (x.style.display === "none") {
x.style.display = "block";
} else {
x.style.display = "none";
}
}

@ -0,0 +1,19 @@
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="utf-8" />
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/css/bootstrap.min.css"
rel="stylesheet" integrity="sha384-rbsA2VBKQhggwzxH7pPCaAqO46MgnOM80zW1RWuH61DGLwZJEdK2Kadq2F9CUG65"
crossorigin="anonymous">
</head>
<body>
<?php
echo '<h1>'.$name.'</h1><center>';
echo '<div class="list-group list-group-light">';
foreach($TabList as $liste){
echo '<button type="button" class="list-group-item list-group-item-action px-3 border-0">'.$liste->get_nom().'</button>';
}
echo '</div></center>';
?>
</body>
</html>

@ -1,4 +1,5 @@
<!DOCTYPE html> <!DOCTYPE html>
<<<<<<< HEAD
<html lang="en"> <html lang="en">
<head> <head>
<meta charset="utf-8" /> <meta charset="utf-8" />
@ -14,14 +15,14 @@
<div class="border-end bg-white" id="sidebar-wrapper"> <div class="border-end bg-white" id="sidebar-wrapper">
<div class="sidebar-heading border-bottom bg-light">2do</div> <div class="sidebar-heading border-bottom bg-light">2do</div>
<div class="list-group list-group-flush"> <div class="list-group list-group-flush">
<a class="list-group-item list-group-item-action list-group-item-light p-3" href="index.php">Home</a> <a class="list-group-item list-group-item-action list-group-item-light p-3" href="#!">Home</a>
<a class="list-group-item list-group-item-action list-group-item-light p-3" href="index.php?action=pageListe">New List +</a> <a class="list-group-item list-group-item-action list-group-item-light p-3" href="#!">New List +</a>
<?php <?php
if($user){ if($user){
echo '<a class="list-group-item list-group-item-action list-group-item-light p-3" href="index.php?action=voirListePriv">My Lists &#128274;</a>'; echo '<a class="list-group-item list-group-item-action list-group-item-light p-3" href="#!">My Lists &#128274;</a>';
} }
?> ?>
<a class="list-group-item list-group-item-action list-group-item-light p-3" href="index.php?action=pageAbout">About</a> <a class="list-group-item list-group-item-action list-group-item-light p-3" href="#!">About</a>
</div> </div>
</div> </div>
<!-- Page content wrapper--> <!-- Page content wrapper-->
@ -35,10 +36,10 @@
<ul class="navbar-nav ms-auto mt-2 mt-lg-0"> <ul class="navbar-nav ms-auto mt-2 mt-lg-0">
<?php <?php
if($user){ if($user){
echo '<li class="nav-item"><a class="nav-link" href="index.php?action=deconnecter">Log out</a></li>'; echo '<li class="nav-item"><a class="nav-link" href="#!">Log out</a></li>';
} else { } else {
echo '<li class="nav-item"><a class="nav-link" href="index.php?action=pageConnection">Log In</a></li>'; echo '<li class="nav-item"><a class="nav-link" href="#!">Log In</a></li>';
echo '<li class="nav-item"><a class="nav-link" href="index.php?action=pageRegister">Register</a></li>'; echo '<li class="nav-item"><a class="nav-link" href="#!">Register</a></li>';
} }
?> ?>
</ul> </ul>
@ -55,22 +56,22 @@
<div class="card-body p-4"> <div class="card-body p-4">
<h4 class="text-center my-3 pb-3">New List</h4> <h4 class="text-center my-3 pb-3">New List</h4>
<form action="index.php" class="row row-cols-lg-auto g-3 justify-content-center align-items-center mb-4 pb-2" method="post"> <form class="row row-cols-lg-auto g-3 justify-content-center align-items-center mb-4 pb-2">
<div class="col-12"> <div class="col-12">
<div class="form-outline"> <div class="form-outline">
<input type="text" id="form1" class="form-control" name="listName" required/> <input type="text" id="form1" class="form-control" />
</div> </div>
</div> </div>
<button type="submit" class="btn btn-primary">Add</button> <div class="col-12">
<input type="hidden" name="action" value="creerListe"></input> <button type="submit" class="btn btn-primary" action="creerListe" >Save</button>
</div>
<?php <?php
if($user){ if($user){
echo ' echo '
<label for="privateRadio" class="form-check-label"> <div class="col-12">
<input class="form-check-input" type="radio" name="action" value="creerListePriv"> Private &#128274 <button type="submit" class="btn btn-primary" action="creerListePrive"> Private &#128274;</button>
</label>'; </div>';
} }
?> ?>
</form> </form>
@ -90,3 +91,45 @@
<script src="view/js/home.js"></script> <script src="view/js/home.js"></script>
</body> </body>
</html> </html>
=======
<html lang="fr">
<head>
<meta charset="utf-8" />
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/css/bootstrap.min.css"
rel="stylesheet" integrity="sha384-rbsA2VBKQhggwzxH7pPCaAqO46MgnOM80zW1RWuH61DGLwZJEdK2Kadq2F9CUG65"
crossorigin="anonymous">
</head>
<body>
<section class="vh-100" style="background-color: #eee;">
<div class="container py-5 h-100">
<div class="row d-flex justify-content-center align-items-center h-100">
<div class="col col-lg-9 col-xl-7">
<div class="card rounded-3"><div class="card rounded-3">
<div class="card-body p-4">
<h4 class="text-center my-3 pb-3">New List</h4>
<form class="row row-cols-lg-auto g-3 justify-content-center align-items-center mb-4 pb-2">
<div class="col-12">
<div class="form-outline">
<input type="text" id="form1" class="form-control" />
</div>
</div>
<div class="col-12">
<button type="submit" class="btn btn-primary">Save</button>
</div>
<div class="col-12">
<button type="submit" class="btn btn-primary">Make private &#128274;</button>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
</section>
</body>
</html>
>>>>>>> 7b122c7d82038ee7f446b68857346a652573775c

@ -1,100 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" />
<meta name="description" content="" />
<meta name="author" content="" />
<!-- Core theme CSS (includes Bootstrap)-->
<link href="view/css/home.css" rel="stylesheet" />
</head>
<body>
<div class="d-flex" id="wrapper">
<!-- Sidebar-->
<div class="border-end bg-white" id="sidebar-wrapper">
<div class="sidebar-heading border-bottom bg-light">2do</div>
<div class="list-group list-group-flush">
<a class="list-group-item list-group-item-action list-group-item-light p-3" href="index.php">Home</a>
<a class="list-group-item list-group-item-action list-group-item-light p-3" href="index.php?action=pageListe">New List +</a>
<?php
if($user){
echo '<a class="list-group-item list-group-item-action list-group-item-light p-3" href="index.php?action=voirListePriv">My Lists &#128274;</a>';
}
?>
<a class="list-group-item list-group-item-action list-group-item-light p-3" href="index.php?action=pageAbout">About</a>
</div>
</div>
<!-- Page content wrapper-->
<div id="page-content-wrapper">
<!-- Top navigation-->
<nav class="navbar navbar-expand-lg navbar-light bg-light border-bottom">
<div class="container-fluid">
<button class="btn btn-primary" id="sidebarToggle">Toggle Menu</button>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation"><span class="navbar-toggler-icon"></span></button>
<div class="collapse navbar-collapse" id="navbarSupportedContent">
<ul class="navbar-nav ms-auto mt-2 mt-lg-0">
<?php
if($user){
echo '<li class="nav-item"><a class="nav-link" href="index.php?action=deconnecter">Log out</a></li>';
} else {
echo '<li class="nav-item"><a class="nav-link" href="index.php?action=pageConnection">Log In</a></li>';
echo '<li class="nav-item"><a class="nav-link" href="index.php?action=pageRegister">Register</a></li>';
}
?>
</ul>
</div>
</div>
</nav>
<!--Contenue de la page ici-->
<div class="container-fluid">
<h4 class="text-center my-3 pb-3">New Task</h4>
<form method="post" action="index.php">
<div class="form-outline mb-4 align-items-center">
<label class="form-label" for="form2title">Name</label>
<input name="titreT" type="text" id="form2title" class="form-control" required minlength="0" maxlength="250"/>
</div>
<div class="form-outline mb-4">
<label class="form-label" for="form2description">Description</label>
<input name="descT" type="text" id="form2description" class="form-control" minlength="0" maxlength="250">
</div>
<div class="form-outline mb-4">
<label class="form-label" for="form2dateDeb">Starting date</label>
<input name="dateDebT" type="date" id="form2dateDeb" class="form-control">
</div>
<div class="form-outline mb-4">
<label class="form-label" for="form2dateFin">Ending date</label>
<input name="dateFinT" type="date" id="form2dateFin" class="form-control">
</div>
<!-- <div class="form-outline mb-4">
<input name="prioriteT" type="text" id="form2importance" class="form-control" />
<label class="form-label" for="form2importance">Importance</label>
</div> -->
<div class="form-outline mb-4">
<label class="form-label" for="form2importance">Importance</label>
<select name="prioriteT" id="form2importance" class="form-control">
<option value="">--Please choose an option--</option>
<option value="Urgent">Urgent</option>
<option value="Important">Important</option>
<option value="Medium">Medium</option>
<option value="Low">Low</option>
<option value="None">None</option>
</select>
</div>
<!-- Submit button -->
<button type="submit" class="btn btn-primary btn-block mb-4" >Save</button>
<input type="hidden" name="action" value="ajouterTache"></input>
</form>
</div>
</div>
</div>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js"></script>
<!-- Core theme JS-->
<script src="view/js/home.js"></script>
</body>
</html>

@ -1,150 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" />
<meta name="description" content="" />
<meta name="author" content="" />
<!-- Core theme CSS (includes Bootstrap)-->
<link href="view/css/home.css" rel="stylesheet" />
</head>
<body>
<div class="d-flex" id="wrapper">
<!-- Sidebar-->
<div class="border-end bg-white" id="sidebar-wrapper">
<div class="sidebar-heading border-bottom bg-light">2do</div>
<div class="list-group list-group-flush">
<a class="list-group-item list-group-item-action list-group-item-light p-3" href="index.php">Home</a>
<a class="list-group-item list-group-item-action list-group-item-light p-3" href="index.php?action=pageListe">New List +</a>
<a class="list-group-item list-group-item-action list-group-item-light p-3" href="index.php?action=voirListePriv">My Lists &#128274;</a>
<a class="list-group-item list-group-item-action list-group-item-light p-3" href="index.php?action=pageAbout">About</a>
</div>
</div>
<!-- Page content wrapper-->
<div id="page-content-wrapper">
<!-- Top navigation-->
<nav class="navbar navbar-expand-lg navbar-light bg-light border-bottom">
<div class="container-fluid">
<button class="btn btn-primary" id="sidebarToggle">Toggle Menu</button>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation"><span class="navbar-toggler-icon"></span></button>
<div class="collapse navbar-collapse" id="navbarSupportedContent">
<ul class="navbar-nav ms-auto mt-2 mt-lg-0">
<li class="nav-item"><a class="nav-link" href="index.php?action=deconnecter">Log out</a></li>
</ul>
</div>
</div>
</nav>
<!-- Page content-->
<div class="container-fluid">
<h1 class="mt-4">My Lists</h1>
<?php
if(empty($private_lists)){
echo'
<div class="d-flex align-items-center justify-content-center">
<a href="index.php?action=pageListe" class="btn btn-default btn-lg"><span class="glyphicon glyphicon-envelope"></span>Add List &#10133;</a>
</div>';
}
foreach($private_lists as $l){
echo '
<section class="vh-0" style="background-color: #eee;">
<div class="container py-5 h-100">
<div class="row d-flex justify-content-center align-items-center h-100">
<div class="col col-lg-9 col-xl-7">
<div class="card rounded-3"><div class="card rounded-3">
<div class="card-body p-4">
<form action="index.php" method="post" class="row row-cols-lg-auto g-3 justify-content-center align-items-center mb-4 pb-2">
<div class="col-12 position-absolute top-0 start-0">
<button type="submit" class="btn btn-danger">&#128465;</button>
<input type="hidden" name="listId" value="'.$l->get_id().'"></input>
<input type="hidden" name="action" value="supprimerListePriv"></input>
</div>
</form>
<h4 class="text-center my-3 pb-3">'.$l->get_nom().'</h4>
<form action="index.php" method="post" class="row row-cols-lg-auto g-3 justify-content-center align-items-center mb-4 pb-2">
<div class="col-12">
<button type="submit" class="btn btn-primary">New task &#128221;</button>
<input type="hidden" name="listId" value="'.$l->get_id().'"></input>
<input type="hidden" name="action" value="pageTache"></input>
<input type="hidden" name="isPriv" value="true"></input>
</div>
</form>
<table class="table mb-4">
<thead>
<tr>
<th scope="col">Task</th>
<th scope="col">Importance</th>
<th scope="col">Actions</th>
</tr>
</thead>
<tbody>';
# IF NO TASKS, display NO TASKS
if(!empty($l->get_taches())){
foreach($l->get_taches() as $t){
if(!$t->get_isDone()){
echo '
<tr>
<td>'.$t->get_titre().'</td>
<td>'.$t->get_priorite().'</td>';
} else {
echo '
<tr>
<td><del>'.$t->get_titre().'</del></td>
<td><del>'.$t->get_priorite().'</del></td>';
}
echo '
<td>
<form action="index.php" method="post" class="d-inline-block">';
if(!$t->get_isDone()){
echo '<button type="submit" class="btn btn-success ms-1">&#10004;
<input type="hidden" name="idT" value="'.$t->get_id().'"></input>
<input type="hidden" name="Tdone" value="'.$t->get_isDone().'"></input>
<input type="hidden" name="action" value="isDone">
<input type="hidden" name="isPriv" value="true">
</button>';
} else {
echo '<button type="submit" class="btn btn-secondary ms-1">&#10006;
<input type="hidden" name="idT" value="'.$t->get_id().'"></input>
<input type="hidden" name="Tdone" value="'.$t->get_isDone().'"></input>
<input type="hidden" name="action" value="isDone">
<input type="hidden" name="isPriv" value="true">
</button>';
}
echo '
</form>
<form action="index.php" method="post" class="d-inline-block">
<button type="submit" class="btn btn-danger">&#128465;
<input type="hidden" name="idT" value="'.$t->get_id().'"></input>
<input type="hidden" name="action" value="supprimerTache">
<input type="hidden" name="isPriv" value="true">
</button>
</form>
</td>
</tr>';
}
} else {
echo '<h6 class="text-center my-3 pb-3">No tasks here yet!</h6>';
}
echo ' </tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</section>';
}
?>
</div>
</div>
</div>
<!-- Bootstrap core JS-->
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js"></script>
<!-- Core theme JS-->
<script src="view/js/home.js"></script>
</body>
</html>

@ -14,14 +14,14 @@
<div class="border-end bg-white" id="sidebar-wrapper"> <div class="border-end bg-white" id="sidebar-wrapper">
<div class="sidebar-heading border-bottom bg-light">2do</div> <div class="sidebar-heading border-bottom bg-light">2do</div>
<div class="list-group list-group-flush"> <div class="list-group list-group-flush">
<a class="list-group-item list-group-item-action list-group-item-light p-3" href="index.php">Home</a> <a class="list-group-item list-group-item-action list-group-item-light p-3" href="#!">Home</a>
<a class="list-group-item list-group-item-action list-group-item-light p-3" href="index.php?action=pageListe">New List +</a> <a class="list-group-item list-group-item-action list-group-item-light p-3" href="#!">New List +</a>
<?php <?php
if($user){ if($user){
echo '<a class="list-group-item list-group-item-action list-group-item-light p-3" href="index.php?action=voirListePriv">My Lists &#128274;</a>'; echo '<a class="list-group-item list-group-item-action list-group-item-light p-3" href="#!">My Lists &#128274;</a>';
} }
?> ?>
<a class="list-group-item list-group-item-action list-group-item-light p-3" href="index.php?action=pageAbout">About</a> <a class="list-group-item list-group-item-action list-group-item-light p-3" href="#!">About</a>
</div> </div>
</div> </div>
<!-- Page content wrapper--> <!-- Page content wrapper-->
@ -35,9 +35,9 @@
<ul class="navbar-nav ms-auto mt-2 mt-lg-0"> <ul class="navbar-nav ms-auto mt-2 mt-lg-0">
<?php <?php
if($user){ if($user){
echo '<li class="nav-item"><a class="nav-link" href="index.php?action=deconnecter">Log out</a></li>'; echo '<li class="nav-item"><a class="nav-link" href="#!">Log out</a></li>';
} else { } else {
echo '<li class="nav-item"><a class="nav-link" href="index.php?action=pageConnection">Log In</a></li>'; echo '<li class="nav-item"><a class="nav-link" href="#!">Log In</a></li>';
echo '<li class="nav-item"><a class="nav-link" href="#!">Register</a></li>'; echo '<li class="nav-item"><a class="nav-link" href="#!">Register</a></li>';
} }
?> ?>
@ -48,22 +48,21 @@
<!--Contenue de la page ici--> <!--Contenue de la page ici-->
<div class="container-fluid"> <div class="container-fluid">
<h2 class="text-center my-3 pb-3">Make private lists with a personnal account</h2> <h2 class="text-center my-3 pb-3">Make private lists with a personnal account</h2>
<form action="index.php" method="post"> <form>
<!-- Login input --> <!-- Login input -->
<div class="form-outline mb-4 align-items-center"> <div class="form-outline mb-4 align-items-center">
<input name="username" type="text" id="form2Example1" class="form-control" required/> <input type="email" id="form2Example1" class="form-control" />
<label class="form-label" for="form2Example1">Username</label> <label class="form-label" for="form2Example1">Username</label>
</div> </div>
<!-- Password input --> <!-- Password input -->
<div class="form-outline mb-4"> <div class="form-outline mb-4">
<input name="password" type="password" id="form2Example2" class="form-control" required/> <input type="password" id="form2Example2" class="form-control" />
<label class="form-label" for="form2Example2">Password</label> <label class="form-label" for="form2Example2">Password</label>
</div> </div>
<!-- Submit button --> <!-- Submit button -->
<button type="submit" class="btn btn-primary btn-block mb-4">Register</button> <button type="button" class="btn btn-primary btn-block mb-4" action="register">Register</button>
<input type="hidden" name="action" value="register" ></input>
</form> </form>
</div> </div>

Loading…
Cancel
Save