merge with userctrl

userctrl
Nicolas FRANCO 2 years ago
commit b501e081f2

@ -6,11 +6,12 @@
private $owner; private $owner;
private int $dc; // done counter # juste visuelle?? private int $dc; // done counter # juste visuelle??
function __construct($id, $nom, $owner="", $dc=0) { function __construct($id, $nom, $owner="", $dc = 0) {
$this->id = $id; $this->id = $id;
$this->nom = $nom; $this->nom = $nom;
$this->taches = []; $this->taches = [];
$this->owner = $owner; $this->owner = $owner;
$this->dc = $dc;
} }

@ -6,11 +6,10 @@ class FrontController
//private UserModel $ursMdl; //private UserModel $ursMdl;
//private $action_User; //private $action_User;
function __construct($ursMdl=new UserModel(), $action_User=[]){ function __construct(){
$this->$ursMdl = $ursMdl;
$this->$action_User = $action_User;
session_start(); session_start();
$ursMdl = new UserModel();
try{ try{
$user = $this->usrMdl.isUser(); // cette fonction retourne quoi? $user = $this->usrMdl.isUser(); // cette fonction retourne quoi?
$action = $_REQUEST['action']; $action = $_REQUEST['action'];
@ -20,20 +19,17 @@ class FrontController
# appel controlleur visiteur avec action connecter # appel controlleur visiteur avec action connecter
require("VisitCtrl.php"); require("VisitCtrl.php");
$visitCtrl = new VisitCtrl(); $visitCtrl = new VisitCtrl();
$visitCtrl.handleAction('connecter'); $visitCtrl->goconnexion();
// inclure la vue de connexion
} else { # sinon } else { # sinon
# handle action avec controlleur user # handle action avec controlleur user
require("UserCtrl.php"); require("UserCtrl.php");
$userCtrl = new UserCtrl(); //action ici $userCtrl = new UserCtrl();
$userCtrl.handleAction($action);
} }
} else { # sinon forcement action visiteur } else { # sinon forcement action visiteur
# appel controlleur visiteur avec l'action # appel controlleur visiteur avec l'action
require("VisitCtrl.php"); require("VisitCtrl.php");
$visitCtrl = new VisitCtrl(); $visitCtrl = new VisitCtrl();
$visitCtrl.handleAction($action);
} }
} catch (Exception $e){ // verifier si catch bon } catch (Exception $e){ // verifier si catch bon
require("../view/erreur.php"); require("../view/erreur.php");

@ -1,56 +1,45 @@
<?php <?php
class CtrlUser class UserCtrl
{ {
private $model; private $model;
private $view; private $view;
private $con; private $con;
public function __construct(TaskModel $model, HomeView $view, public function __construct(Connection $con){
Connection $con){
session_start();
$this->model = $model;
$this->view = $view;
$this->con = $con; $this->con = $con;
} $this->model = new UserModel($this->con);
public function handleAction(){
try{ try{
$action=$_REQUEST['action']; $action=$_REQUEST['action'];
switch($action){ switch($action){
// pas d'action afficher la home page avec toutes les listes
case NULL: // voir les listes privees
$this->home(); case 'voir_liste_priv':
break; $this->loadListePriv();
// ajouter une liste publique
case 'creer_liste_pub':
$this->newList('private');
break; break;
// ajouter une liste privee // ajouter une liste privee
case 'creer_liste_priv': case 'creer_liste_priv':
$this->newList('public'); $this->newListPrivate();
break;
// supprimer une liste
case 'supprimer_liste':
$this->delList();
break;
// changer nom de la liste
case 'changer_nom':
$this->changeListName();
break; break;
// ajouter une tache
// completer tache
} }
} catch(Exception $e) { } catch(Exception $e) {
require("../view/erreur.php"); require("../view/erreur.php");
} }
} }
public function loadListePriv(){
$name = "Liste privée";
$TabList = array();
// $TabList[] = new ListTask(0, "Projet PHP");
// $TabList[] = new ListTask(1, "Projet Blazor");
$TabListPriv = $this->model->getPrivateList();
require("../view/liste.php");
}
public function newListPrivate(){
$nom=$_POST['listeNom'];
insertL(new ListTask(0, $nom, $_SESSION['login']));
}
} }
?> ?>

@ -69,6 +69,7 @@ class VisitCtrl
# dans vue check if isset # dans vue check if isset
# display content # display content
$public_lists = $this->taskModel.loadPublicList(); $public_lists = $this->taskModel.loadPublicList();
require("../view/home.php");
} }
function go_connection(){ function go_connection(){

@ -44,12 +44,11 @@
} }
public function findUser($login, $mdp){ public function findUser($login, $mdp){
$pwrd = password_hash($mdp, PASSWORD_BCRYPT, array("cost" => 12)); $query = 'SELECT mdp FROM User WHERE login = :login';
$query = 'SELECT login FROM User WHERE login = :login AND mdp = :mdp'; $this->con->executeQuery($query, array(':login'=>array($login, PDO::PARAM_STR)));
$this->con->executeQuery($query, array(':login'=>array($login, PDO::PARAM_STR),
':mdp'=>array($pwrd, PDO::PARAM_STR)));
$result = $this->con->getResults(); $result = $this->con->getResults();
return $result; if(password_verify($mdp, $result[0]['mdp']))
return $login;
} }
} }
?> ?>

@ -66,7 +66,6 @@ class TaskModel
$row = $this->gtw->findListTask($row); $row = $this->gtw->findListTask($row);
} }
return $lists; return $lists;
} }
function loadPrivateLists($user){ function loadPrivateLists($user){

@ -4,13 +4,18 @@
private $con; private $con;
private $gat; private $gat;
public function __construct(Connection $con) { public function __construct(Connection $con) {
$this->con = $con; $this->con = $con;
$this->gat = new GatUser($con); } $this->gat = new UserGateway($con);
}
function connexion($login, $mdp){ function connexion($login, $mdp){
$gat->findUser($login, $mdp); $result = $this->gat->findUser($login, $mdp);
$_SESSION['login'] = $login; if (isset($result))
{
$_SESSION['login'] = $result;
}
echo $_SESSION['login'];
} }
function deconnexion(){ function deconnexion(){
@ -20,7 +25,7 @@
} }
function isConnected($login){ //teste rôle dans la session, retourne instance dobjet ou booleen function isConnected($login){ //teste rôle dans la session, retourne instance dobjet ou booleen
if (isset($_SESSION['login'])) if ($_SESSION['login'])
{ {
return true; return true;
} }

@ -11,10 +11,10 @@ echo "<h1>2do test</h1>";
# connection # connection
include("credentials.php"); include("credentials.php");
$con = new Connection('mysql:host=localhost;dbname=phpproject',$user,$pass); $con = new Connection('mysql:host=localhost;dbname=dbanboudoul', 'anboudoul', 'achanger');
# gateway # gateway
$tgt = new TaskGateway($con); // $tgt = new TaskGateway($con);
//$tgt->insert($t); //$tgt->insert($t);
//$tgt->delete('10'); //$tgt->delete('10');
//$taches = $tgt->findUserList('nifranco'); //$taches = $tgt->findUserList('nifranco');
@ -49,6 +49,7 @@ TEST ANNA
require('../dal/UserGateway.php'); require('../dal/UserGateway.php');
require('../model/UserModel.php'); require('../model/UserModel.php');
require('../controller/UserCtrl.php');
// Test Gateway User // Test Gateway User

@ -0,0 +1,14 @@
<?php
echo '<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>';
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>';
?>
Loading…
Cancel
Save