diff --git a/Project/php/controller/FrontController.php b/Project/php/controller/FrontController.php index 2d69b2e..323d715 100755 --- a/Project/php/controller/FrontController.php +++ b/Project/php/controller/FrontController.php @@ -19,7 +19,7 @@ class FrontController $router = new \AltoRouter(); $router->setBasePath($altorouterPath); - $router->map('GET', '/', 'FrontController'); + $router->map('GET', '/', 'User'); $router->map('GET|POST', '/admin/[i:id]/[a:action]?', 'Admin'); $router->map('GET|POST', '/teacher/[i:id]/[a:action]?', 'Teacher'); $router->map('GET|POST', '/student/[i:id]/[a:action]?', 'Student'); @@ -43,39 +43,31 @@ class FrontController call_user_func_array(array($userCtrl, $action), array($match['params'])); } else { - switch ($action) { - case null: - $this->home(); - break; + if ($target == null) throw new Exception("pas de target"); - default : - if ($target == null) throw new Exception("pas de target"); + if (isset($_SESSION['login']) && isset($_SESSION['roles'])) { - if (isset($_SESSION['login']) && isset($_SESSION['roles'])) { + $_SESSION['login'] = strip_tags($_SESSION['login']); + for ($i=0 ; $igetId() != $id) throw new Exception("erreur 403 permission denied"); - } + if ($target == 'User' && $action == null) $controller->home(); + else if (!$user || $user->getId() != $id) throw new Exception("erreur 403 permission denied"); - $controller = '\\controller\\' . $target . 'Controller'; - $controller = new $controller; - - if (is_callable(array($controller, $action))) - call_user_func_array(array($controller, $action), array($match['params'])); - - break; - } - else (new UserController())->login(); + if (is_callable(array($controller, $action))) + call_user_func_array(array($controller, $action), array($match['params'])); + } } + else (new UserController())->login(); } } } @@ -85,15 +77,4 @@ class FrontController echo $twig->render('erreur.html', ['dVueEreur' => $dVueEreur]); } } - - public static function home(): void { - global $twig; - global $user; - if(isset($user)){ - echo $twig->render('home.html', ['userID' => $user->getId(), 'userRole' => $user->getRoles()]); - } - else{ - echo $twig->render('home.html', ); - } - } } \ No newline at end of file diff --git a/Project/php/controller/UserController.php b/Project/php/controller/UserController.php index ddc420b..366b842 100755 --- a/Project/php/controller/UserController.php +++ b/Project/php/controller/UserController.php @@ -53,4 +53,15 @@ class UserController extends VisitorController throw new Exception("invalid entries"); } } + + public function home(): void { + global $twig; + global $user; + if(isset($user)){ + echo $twig->render('home.html', ['userID' => $user->getId(), 'userRole' => $user->getRoles()]); + } + else{ + echo $twig->render('home.html', ); + } + } } \ No newline at end of file