index.php first try

validation
Nicolas FRANCO 2 years ago
parent 55a7b525b1
commit 25af41e0b8

@ -1,7 +1,8 @@
<?php <?php
//gen require('dal/Connection.php');
$rep=__DIR__.'/../'; $rep=__DIR__.'/../';
require('dal/Connection.php'); $con = new Connection('mysql:host=localhost;dbname=phpproject', 'nifranco', 'achanger');
$con = new Connection('mysql:host=localhost;dbname=dbanboudoul', 'anboudoul', 'achanger'); //$con = new Connection('mysql:host=localhost;dbname=dbanboudoul', 'anboudoul', 'achanger');
?> ?>

@ -1,24 +1,28 @@
<?php <?php
require_once('../model/UserModel.php'); require("model/UserModel.php");
class FrontController class FrontController
{ {
//private UserModel $ursMdl; private UserModel $usrMdl;
//private $action_User; private $action_User;
private bool $isUser;
function __construct(){ function __construct(&$con){
session_start(); session_start();
$ursMdl = new UserModel(); $this->usrMdl = new UserModel($con);
$this->action_User = array('deconnexion','loadListePriv','newListPrivate');
try{ try{
$user = $this->usrMdl.isConnected(); // cette fonction retourne quoi? $this->isUser = $this->usrMdl->isConnected(); // cette fonction retourne quoi?
$action = $_REQUEST['action']; if(isset($_REQUEST['action']))
$action = $_REQUEST['action'];
else
$action = null;
if(($i = array_search($action,$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(!$user){ # si pas conncter if(!$this->isUser){ # si pas conncter
# appel controlleur visiteur avec action connecter # appel controlleur visiteur avec action connecter
require("VisitCtrl.php"); require("VisitorCtrl.php");
$visitCtrl = new VisitCtrl(); $visitCtrl = new VisitorCtrl($con);
$visitCtrl->goconnexion(); $visitCtrl->goconnexion();
} else { # sinon } else { # sinon
# handle action avec controlleur user # handle action avec controlleur user
@ -28,8 +32,8 @@ class FrontController
} 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("VisitorCtrl.php");
$visitCtrl = new VisitCtrl(); $visitCtrl = new VisitorCtrl($con,$this->isUser);
} }
} catch (Exception $e){ // verifier si catch bon } catch (Exception $e){ // verifier si catch bon
require("../view/erreur.php"); require("../view/erreur.php");

@ -1,15 +1,22 @@
<?php <?php
require_once("../model/TaskModel.php"); require("model/TaskModel.php");
class VisitorCtrl class VisitorCtrl
{ {
private $taskModel; private $taskModel;
private $userModel; private $userModel;
function __construct($con){ private $isUser;
function __construct($con,$isUser){
$this->isUser = $isUser;
$dvueErreur = array(); $dvueErreur = array();
$taskModel = new TaskModel($con); $this->taskModel = new TaskModel($con);
$userModel = new UserModel($con); $this->userModel = new UserModel($con);
try{ try{
$action = $_REQUEST['action']; if(isset($_REQUEST['action']))
$action = $_REQUEST['action'];
else
$action = null;
switch($action){ switch($action){
case null: case null:
$this->loadHome(); $this->loadHome();
@ -70,48 +77,54 @@ class VisitorCtrl
} }
} catch (Exception $e) { } catch (Exception $e) {
require("../view/erreur.php"); require("view/erreur.php");
}
function loadHome(){
$public_lists = $this->taskModel.loadPublicList();
require("../view/home.php");
} }
}
function loadHome(){
$public_lists = $this->taskModel->loadPublicLists();
$user = $this->isUser;
require("view/home.php");
}
function go_connection(){ function go_connection(){
# rediriger vers la page de connection # rediriger vers la page de connection
} }
function connection(){ function connection(){
$this->userModel->connexion($user,$mdp); $this->userModel->connexion($user,$mdp);
} }
function go_list(){
} function go_register(){
# rediriger vers la page de register
}
function makeList(){ function register(){
$this->userModel->connexion($user,$mdp);
}
function go_list(){
} }
function eraseList(){ function makeList(){
} }
function go_task(){ function eraseList(){
} }
function addTask(){ function go_task(){
} }
function eraseTask(){ function addTask(){
}
} }
function eraseTask(){
}
} }
?> ?>

@ -1,6 +1,7 @@
<?php <?php
require_once("Connection.php"); require_once("business/ListTask.php");
include_once("../business/Task.php"); include_once("business/Task.php");
class TaskGateway class TaskGateway
{ {

@ -1,8 +1,7 @@
<?php <?php
$fc = new FrontCtrl(); require(__DIR__.'/config/config.php');
$TMessage = array(); require(__DIR__.'/controller/FrontCtrl.php');
require_once(controller/FrontCtrl.php); $front = new FrontController($con);
require(erreur.php);
?> ?>

@ -1,6 +1,6 @@
<?php <?php
include_once("../dal/TaskGateway.php"); include_once("dal/TaskGateway.php");
include_once("../business/Task.php"); include_once("business/Task.php");
class TaskModel class TaskModel
{ {

@ -1,5 +1,6 @@
<?php <?php
require('../business/User.php'); require('business/User.php');
require('dal/UserGateway.php');
class UserModel{ class UserModel{
private $con; private $con;
private $gat; private $gat;
@ -24,7 +25,7 @@
$_SESSION = array(); $_SESSION = array();
} }
function isConnected($login){ //teste rôle dans la session, retourne instance dobjet ou booleen function isConnected(){ //teste rôle dans la session, retourne instance dobjet ou booleen
if(isset($_SESSION['login'])){ if(isset($_SESSION['login'])){
return true; return true;
} else { } else {

@ -13,6 +13,7 @@ require_once("../controller/VisitorCtrl.php");
# connection # connection
include("credentials.php"); include("credentials.php");
$con = new Connection('mysql:host=localhost;dbname=phpproject', 'nifranco', 'achanger'); $con = new Connection('mysql:host=localhost;dbname=phpproject', 'nifranco', 'achanger');
var_dump($con);
# gateway # gateway
// $tgt = new TaskGateway($con); // $tgt = new TaskGateway($con);
@ -30,7 +31,7 @@ foreach($tasks as $i)
# Test LOAD PRIVATE TASKS # Test LOAD PRIVATE TASKS
$mt= new TaskModel($con); $mt= new TaskModel($con);
$mt->addList('private','nifranco'); //$mt->addList('private','nifranco');
// $lists = $mt->loadPublicLists(); // $lists = $mt->loadPublicLists();
// foreach($lists as $l){ // foreach($lists as $l){
@ -44,9 +45,12 @@ $mt->addList('private','nifranco');
// $mt->addList('002','todo2','nifranco'); // $mt->addList('002','todo2','nifranco');
// $mt->modifList('2','nom','22do'); // $mt->modifList('2','nom','22do');
//mt->supList('2'); //mt->supList('2');
$public_lists = $mt->loadPrivateLists('nifranco'); $public_lists = $mt->loadPrivateLists('nifranco');
$user = true; $user = true;
//require("../view/home.php"); //require("../view/newList.php");
require("../view/home.php");
//require("../view/register.php"); //require("../view/register.php");
//require("../view/connection.php"); //require("../view/connection.php");
/* ------------- /* -------------
@ -68,7 +72,7 @@ require('../controller/UserCtrl.php');
// Test Modèle User // Test Modèle User
//$mu = new UserModel($con); $mu = new UserModel($con);
//$res = $mu->connexion('nifranco','achanger'); //$res = $mu->connexion('nifranco','achanger');
//var_dump($res); //var_dump($res);
// $mdl->ajouter('Anna', 'unmdptrescomplique'); // $mdl->ajouter('Anna', 'unmdptrescomplique');

@ -6,7 +6,7 @@
<meta name="description" content="" /> <meta name="description" content="" />
<meta name="author" content="" /> <meta name="author" content="" />
<!-- Core theme CSS (includes Bootstrap)--> <!-- Core theme CSS (includes Bootstrap)-->
<link href="../view/css/home.css" rel="stylesheet" /> <link href="view/css/home.css" rel="stylesheet" />
</head> </head>
<body> <body>
<div class="d-flex" id="wrapper"> <div class="d-flex" id="wrapper">
@ -70,6 +70,6 @@
</div> </div>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js"></script> <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js"></script>
<!-- Core theme JS--> <!-- Core theme JS-->
<script src="../view/js/home.js"></script> <script src="view/js/home.js"></script>
</body> </body>
</html> </html>

@ -6,7 +6,7 @@
<meta name="description" content="" /> <meta name="description" content="" />
<meta name="author" content="" /> <meta name="author" content="" />
<!-- Core theme CSS (includes Bootstrap)--> <!-- Core theme CSS (includes Bootstrap)-->
<link href="../view/css/home.css" rel="stylesheet" /> <link href="view/css/home.css" rel="stylesheet" />
</head> </head>
<body> <body>
<div class="d-flex" id="wrapper"> <div class="d-flex" id="wrapper">
@ -15,7 +15,7 @@
<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="#!">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="#!">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="#!">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>';
@ -110,7 +110,7 @@
<!-- Bootstrap core JS--> <!-- Bootstrap core JS-->
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js"></script> <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js"></script>
<!-- Core theme JS--> <!-- Core theme JS-->
<script src="../view/js/home.js"></script> <script src="view/js/home.js"></script>
</body> </body>
</html> </html>

@ -0,0 +1,92 @@
<!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="#!">Home</a>
<a class="list-group-item list-group-item-action list-group-item-light p-3" href="#!">New List +</a>
<?php
if($user){
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="#!">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="#!">Log out</a></li>';
} 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="#!">Register</a></li>';
}
?>
</ul>
</div>
</div>
</nav>
<!--Contenue de la page ici-->
<div class="container-fluid">
<section class="vh-50" 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" action="creerListe" >Save</button>
</div>
<?php
if($user){
echo '
<div class="col-12">
<button type="submit" class="btn btn-primary" action="creerListePrive"> Private &#128274;</button>
</div>';
}
?>
</form>
</div>
</div>
</div>
</div>
</div>
</section>
</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>

@ -6,7 +6,7 @@
<meta name="description" content="" /> <meta name="description" content="" />
<meta name="author" content="" /> <meta name="author" content="" />
<!-- Core theme CSS (includes Bootstrap)--> <!-- Core theme CSS (includes Bootstrap)-->
<link href="../view/css/home.css" rel="stylesheet" /> <link href="view/css/home.css" rel="stylesheet" />
</head> </head>
<body> <body>
<div class="d-flex" id="wrapper"> <div class="d-flex" id="wrapper">
@ -70,6 +70,6 @@
</div> </div>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js"></script> <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js"></script>
<!-- Core theme JS--> <!-- Core theme JS-->
<script src="../view/js/home.js"></script> <script src="view/js/home.js"></script>
</body> </body>
</html> </html>
Loading…
Cancel
Save