index.php first try

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

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

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

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

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

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

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

@ -1,5 +1,6 @@
<?php
require('../business/User.php');
require('business/User.php');
require('dal/UserGateway.php');
class UserModel{
private $con;
private $gat;
@ -24,7 +25,7 @@
$_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'])){
return true;
} else {

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

@ -6,7 +6,7 @@
<meta name="description" content="" />
<meta name="author" content="" />
<!-- Core theme CSS (includes Bootstrap)-->
<link href="../view/css/home.css" rel="stylesheet" />
<link href="view/css/home.css" rel="stylesheet" />
</head>
<body>
<div class="d-flex" id="wrapper">
@ -70,6 +70,6 @@
</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>
<script src="view/js/home.js"></script>
</body>
</html>

@ -6,7 +6,7 @@
<meta name="description" content="" />
<meta name="author" content="" />
<!-- Core theme CSS (includes Bootstrap)-->
<link href="../view/css/home.css" rel="stylesheet" />
<link href="view/css/home.css" rel="stylesheet" />
</head>
<body>
<div class="d-flex" id="wrapper">
@ -15,7 +15,7 @@
<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>
<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
if($user){
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-->
<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>
<script src="view/js/home.js"></script>
</body>
</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="author" content="" />
<!-- Core theme CSS (includes Bootstrap)-->
<link href="../view/css/home.css" rel="stylesheet" />
<link href="view/css/home.css" rel="stylesheet" />
</head>
<body>
<div class="d-flex" id="wrapper">
@ -70,6 +70,6 @@
</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>
<script src="view/js/home.js"></script>
</body>
</html>
Loading…
Cancel
Save