diff --git a/fluxRSS/.htaccess b/fluxRSS/.htaccess new file mode 100755 index 0000000..7ded04e --- /dev/null +++ b/fluxRSS/.htaccess @@ -0,0 +1,3 @@ +RewriteEngine on +RewriteCond %{REQUEST_FILENAME} !-f +RewriteRule . index.php [L] \ No newline at end of file diff --git a/fluxRSS/cache/7d/7d23d818a9618a39f1bf95b3e694ad5c44a32007fb7602bc4dc5cebe7a55ad13.php b/fluxRSS/cache/7d/7d23d818a9618a39f1bf95b3e694ad5c44a32007fb7602bc4dc5cebe7a55ad13.php index 1dcc316..aa56ec3 100755 --- a/fluxRSS/cache/7d/7d23d818a9618a39f1bf95b3e694ad5c44a32007fb7602bc4dc5cebe7a55ad13.php +++ b/fluxRSS/cache/7d/7d23d818a9618a39f1bf95b3e694ad5c44a32007fb7602bc4dc5cebe7a55ad13.php @@ -12,7 +12,7 @@ use Twig\Sandbox\SecurityNotAllowedFunctionError; use Twig\Source; use Twig\Template; -/* vuephp1.html */ +/* Connection.html */ class __TwigTemplate_2ce784f5b9085065b66af58be97997ff169e0f0d71d95a1d280acea4a24fd4e6 extends Template { private $source; @@ -165,7 +165,7 @@ utilisation anormale de la vuephp public function getTemplateName() { - return "vuephp1.html"; + return "Connection.html"; } public function isTraitable() @@ -180,6 +180,6 @@ utilisation anormale de la vuephp public function getSourceContext() { - return new Source("", "vuephp1.html", "/Applications/MAMP/htdocs/phptwig/templates/vuephp1.html"); + return new Source("", "Connection.html", "/Applications/MAMP/htdocs/phptwig/templates/Connection.html"); } } diff --git a/fluxRSS/config/config.php b/fluxRSS/config/config.php index a187ad0..be4f14e 100755 --- a/fluxRSS/config/config.php +++ b/fluxRSS/config/config.php @@ -12,3 +12,4 @@ $rep = __DIR__ . '/../'; $base = 'dbrorossetto'; $login = 'rorossetto'; $mdp = 'tpphp'; +$path = '~mapoint2/Tp/routeur/Srouteur'; diff --git a/fluxRSS/controleur/AdminControleur.php b/fluxRSS/controleur/AdminControleur.php new file mode 100755 index 0000000..6d97769 --- /dev/null +++ b/fluxRSS/controleur/AdminControleur.php @@ -0,0 +1,8 @@ +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]); + } + } } } \ No newline at end of file diff --git a/fluxRSS/controleur/Controleur.php b/fluxRSS/controleur/UserControleur.php similarity index 95% rename from fluxRSS/controleur/Controleur.php rename to fluxRSS/controleur/UserControleur.php index 86ef927..7a488fe 100755 --- a/fluxRSS/controleur/Controleur.php +++ b/fluxRSS/controleur/UserControleur.php @@ -3,7 +3,7 @@ namespace controleur; use model\ArticleModel; -class Controleur +class UserControleur { public function __construct() { @@ -81,6 +81,6 @@ class Controleur //'data' => $data, ]; - echo $twig->render('vuephp1.html', ['dVue' => $dVue, 'dVueEreur' => $dVueEreur]); + echo $twig->render('Connection.html', ['dVue' => $dVue, 'dVueEreur' => $dVueEreur]); } }//fin class diff --git a/fluxRSS/index.php b/fluxRSS/index.php index fd16b5b..1eb4352 100755 --- a/fluxRSS/index.php +++ b/fluxRSS/index.php @@ -5,7 +5,7 @@ require_once __DIR__ . '/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(); diff --git a/fluxRSS/model/AdminModel.php b/fluxRSS/model/AdminModel.php index df3ece6..9d51182 100755 --- a/fluxRSS/model/AdminModel.php +++ b/fluxRSS/model/AdminModel.php @@ -22,4 +22,9 @@ class AdminModel } return null; } + + public static function isAdmin(): bool + { + return $_SESSION['role'] == 'admin'; + } } \ No newline at end of file diff --git a/fluxRSS/templates/vuephp1.html b/fluxRSS/templates/Connection.html similarity index 100% rename from fluxRSS/templates/vuephp1.html rename to fluxRSS/templates/Connection.html