diff --git a/config/.htaccess b/.htaccess similarity index 100% rename from config/.htaccess rename to .htaccess diff --git a/index.php b/index.php index 21d30c8..4a8e0c1 100644 --- a/index.php +++ b/index.php @@ -12,7 +12,7 @@ require_once __DIR__ . '/config/config.php'; require __DIR__ . '/vendor/autoload.php'; -$co = new \Gateway\Connection('pgsql:host=localhost;dbname=dbkekentin;', 'kekentin', 'Chocolat-77'); +$co = new \Gateway\Connection('pgsql:host=localhost;dbname=dbkekentin;', 'kekentin', ''); //twig $loader = new \Twig\Loader\FilesystemLoader('vue/templates'); @@ -21,7 +21,7 @@ $twig = new \Twig\Environment($loader, [ ]); -$cont = new Controleur\FrontControler(/*$co*/); +$cont = new Controleur\FrontControler($co); session_unset(); session_destroy(); diff --git a/public/script/theme-toggle.js b/public/script/theme-toggle.js index f651750..3954f9f 100644 --- a/public/script/theme-toggle.js +++ b/public/script/theme-toggle.js @@ -11,12 +11,12 @@ document.addEventListener("DOMContentLoaded", function() { if (currentTheme === 'light') { document.body.classList.remove('dark-mode'); document.body.classList.add('light-mode'); - themeIcon.src = '../images/light.svg'; // Affiche l'icône pour basculer vers le mode sombre - favicon.href = '../images/iconeClaire.ico'; // Favicon pour le mode clair + themeIcon.src = 'images/light.svg'; // Affiche l'icône pour basculer vers le mode sombre + favicon.href = 'images/iconeClaire.ico'; // Favicon pour le mode clair } else { document.body.classList.add('dark-mode'); - themeIcon.src = '../images/dark.svg'; // Affiche l'icône pour basculer vers le mode clair - favicon.href = '../images/iconeSombre.ico'; // Favicon pour le mode sombre + themeIcon.src = 'images/dark.svg'; // Affiche l'icône pour basculer vers le mode clair + favicon.href = 'images/iconeSombre.ico'; // Favicon pour le mode sombre } } else { console.error("Élément(s) manquant(s) : icône du thème ou favicon."); @@ -34,15 +34,15 @@ function toggleTheme() { // Si on est en mode sombre, on passe en mode clair body.classList.remove('dark-mode'); body.classList.add('light-mode'); - themeIcon.src = '../images/light.svg'; // Change vers le logo sombre - favicon.href = '../images/iconeClaire.ico'; // Favicon pour le mode clair + themeIcon.src = 'images/light.svg'; // Change vers le logo sombre + favicon.href = 'images/iconeClaire.ico'; // Favicon pour le mode clair localStorage.setItem('theme', 'light'); // Enregistre le thème clair dans localStorage } else { // Sinon, on repasse en mode sombre body.classList.remove('light-mode'); body.classList.add('dark-mode'); - themeIcon.src = '../images/dark.svg'; // Change vers le logo clair - favicon.href = '../images/iconeSombre.ico'; // Favicon pour le mode sombre + themeIcon.src = 'images/dark.svg'; // Change vers le logo clair + favicon.href = 'images/iconeSombre.ico'; // Favicon pour le mode sombre localStorage.setItem('theme', 'dark'); // Enregistre le thème sombre dans localStorage } } else { diff --git a/src/Controleur/FrontControler.php b/src/Controleur/FrontControler.php index b14a6b4..f99088c 100644 --- a/src/Controleur/FrontControler.php +++ b/src/Controleur/FrontControler.php @@ -7,11 +7,11 @@ Class FrontControler{ private $listAction; - private string $role = 'admin' //Mettre en admin le temps de créer les comptes + private string $role = 'admin'; //Mettre en admin le temps de créer les comptes private Connection $co; - public function __construct(/*$co*/){ + public function __construct($co){ global $twig; @@ -23,8 +23,10 @@ Class FrontControler{ $dVueEreur = []; $router = new \AltoRouter(); + + $router->setBasePath('/~kekentin/WF/WF-Website'); - $router->map('GET', '/', 'VisitorControler'); + $router->map('GET', '/', 'VisitorControler','accueil'); /* 'i' => '[0-9]++' @@ -35,13 +37,11 @@ Class FrontControler{ '' => '[^/\.]++' */ - $router->map('GET|POST', '/quote/[i:idQuote]?', 'VisitorControler'); - $router->map('GET|POST', '/login', 'VisitorControler'); - $router->map('GET|POST', '/signin', 'VisitorControler'); - - $router->map('GET|POST', '/quiz', 'UserControler'); + $router->map('GET|POST', '/quote/[i:idQuote]?', 'VisitorControler','quote'); + $router->map('GET|POST', '/login', 'VisitorControler','login'); + $router->map('GET|POST', '/signin', 'VisitorControler','signin'); - $router->map('GET|POST', '/quiz/[i:id]?', 'QuizControler'); + $router->map('GET|POST', '/quiz/[i:id]?', 'QuizControler','quiz'); $match = $router->match(); @@ -54,30 +54,26 @@ Class FrontControler{ else{ $controller=$match['target'] ?? null; - $action = explode('/',$_SERVER['PHP_SELF']); - if(count($action)>2){ - $action=$action[2]; - } - else{ - $action='accueil'; - } + $action = $match['name']; + //Si existe, on l’appelle if(!$this->ifExisteAction($action)){ $dVueEreur[] = "Action introuvable"; $this->vueErreur($dVueEreur); } - if(!$this->verifDroit($action)){ + else if(!$this->verifDroit($action)){ $action='login'; $controller='VisitorControler'; } - - $controller = '\\Controleur\\' . $controller; - $controller = new $controller; - if (is_callable(array($controller, $action))) { - call_user_func_array(array($controller, $action), - array($match['params'])); + else { + $controller = '\\Controleur\\' . $controller; + $controller = new $controller; + if (is_callable(array($controller, $action))) { + call_user_func_array(array($controller, $action), + array($match['params'])); + } } } diff --git a/src/Gateway/Connection.php b/src/Gateway/Connection.php index 8725f0c..2632683 100644 --- a/src/Gateway/Connection.php +++ b/src/Gateway/Connection.php @@ -1,7 +1,7 @@ render('head.html.twig', array( 'title' => "Accueil", - 'style' => "../../public/styles/styleAccueil.css", + 'style' => "public/styles/styleAccueil.css", )); echo $twig->render('bandeau.html.twig'); diff --git a/vue/templates/bandeau.html.twig b/vue/templates/bandeau.html.twig index 4be6013..b6c7941 100644 --- a/vue/templates/bandeau.html.twig +++ b/vue/templates/bandeau.html.twig @@ -1,14 +1,14 @@
- user + user
\ No newline at end of file diff --git a/vue/templates/head.html.twig b/vue/templates/head.html.twig index 5f5f2b7..31c1ef9 100644 --- a/vue/templates/head.html.twig +++ b/vue/templates/head.html.twig @@ -5,7 +5,7 @@ {{ title }} - - + + \ No newline at end of file