controller modified, directory src added

feature/article
Roxane ROSSETTO 1 year ago
commit 4e99917917

@ -0,0 +1,3 @@
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule . index.php [L]

@ -0,0 +1,8 @@
<?php
namespace controleur;
class AdminControleur
{
}

@ -0,0 +1,86 @@
<?php
namespace controleur;
use model\ArticleModel;
class UserControleur
{
public function __construct()
{
global $twig; // nécessaire pour utiliser variables globales
session_start();
//debut
//on initialise un tableau d'erreur
$dVueEreur = [];
try {
$action = $_REQUEST['action'] ?? null;
switch($action) {
//pas d'action, on réinitialise 1er appel
case null:
$this->Reinit();
break;
case 'validationFormulaire':
$this->ValidationFormulaire($dVueEreur);
break;
//mauvaise action
default:
$tabArticle[] = ArticleModel::getArticles();
$dVueEreur[] = "Erreur d'appel php";
$dataview = ['Article'=> $tabArticle];
echo $twig->render('listArticle.html', ['tabArticle' => $dataview, 'dVueErreur'=>$dVueEreur]);
break;
}
} catch (\PDOException $e) {
//si erreur BD, pas le cas ici
$dVueEreur[] = 'Erreur PDO : ' . $e->getMessage();
echo $twig->render('erreur.html', ['dVueEreur' => $dVueEreur]);
} catch (\Exception $e2) {
$dVueEreur[] = 'Erreur : ' . $e2->getMessage();
echo $twig->render('erreur.html', ['dVueEreur' => $dVueEreur]);
}
//fin
exit(0);
}//fin constructeur
public function Reinit()
{
global $twig; // nécessaire pour utiliser variables globales
$dVue = [
'nom' => '',
'age' => 0,
'data' => ArticleModel::getArticles()
];
echo $twig->render('listArticle.html', [
'dVue' => $dVue
]);
}
public function ValidationFormulaire(array $dVueEreur)
{
global $twig; // nécessaire pour utiliser variables globales
//si exception, ca remonte !!!
$nom = $_POST['txtNom']; // txtNom = nom du champ texte dans le formulaire
$age = $_POST['txtAge'];
\config\Validation::val_form($nom, $age, $dVueEreur);
/*
$model = new \metier\Simplemodel();
$data = $model->get_data();
*/
$dVue = [
'nom' => $nom,
'age' => $age,
//'data' => $data,
];
echo $twig->render('Connection.html', ['dVue' => $dVue, 'dVueEreur' => $dVueEreur]);
}
}//fin class

@ -5,7 +5,7 @@ require_once __DIR__ . '/src/config/config.php';
require __DIR__ . '/vendor/autoload.php';
use controleur\Controleur;
use controleur\FrontControleur;
//twig
$loader = new \Twig\Loader\FilesystemLoader('templates');
@ -13,6 +13,6 @@ $twig = new \Twig\Environment($loader, [
'cache' => false,
]);
$cont = new Controleur();
$cont = new FrontControleur();

@ -12,3 +12,4 @@ $rep = __DIR__ . '/fluxRSS/';
$base = 'dbrorossetto';
$login = 'rorossetto';
$mdp = 'tpphp';
$path = '~mapoint2/Tp/routeur/Srouteur';

@ -3,7 +3,7 @@ namespace controleur;
use model\ArticleModel;
class Controleur
class UserControleur
{
public function __construct()
{

@ -2,14 +2,57 @@
namespace controleur;
use model\AdminModel;
use vendor\AltoRouter;
use controleur\UserControleur;
use controleur\AdminControleur;
require 'AltoRouter.php';
class FrontControleur
{
public function __construct(){
<<<<<<< HEAD:fluxRSS/src/controleur/FrontControleur.php
$routeur = new AltoRouter();
=======
global $twig;
$router = new AltoRouter();
$router->setBasePath('~/mapoint2/Tp/routeur/Srouteur');
$router->map('GET', '/', 'UserControler.php');
$router->map('GET|POST','/user/[a:action]?','UserControler.php');
$router->map('GET|POST','/admin/[a:action]?','AdminControler.php');
$match = $router->match();
if (!$match) {
$dVueEreur[] = "Page doesn't exist";
echo $twig->render('erreur.html', ['dVueEreur' => $dVueEreur]);
}
else {
$controller=$match['target'] ?? null;
$action=$match['params']['action'] ?? null;
try {
$controller = '\\controleur\\' . $controller;
$controller = new $controller;
if($controller == "\\Controler\\AdminControler.php"){
if (!AdminModel::isAdmin()){
echo $twig->render('Connection.html');
}
}
if (is_callable(array($controller, $action))) {
call_user_func_array(array($controller, $action),
array($match['params']));
}
}
catch (Error $error){
$dVueEreur[] = "Controller doesn't exist";
echo $twig->render('erreur.html', ['dVueEreur' => $dVueEreur]);
}
}
>>>>>>> pre-master:fluxRSS/controleur/FrontControleur.php
}

@ -22,4 +22,9 @@ class AdminModel
}
return null;
}
public static function isAdmin(): bool
{
return $_SESSION['role'] == 'admin';
}
}
Loading…
Cancel
Save