diff --git a/config/config.php b/config/config.php index be1f0c0..6088200 100644 --- a/config/config.php +++ b/config/config.php @@ -21,6 +21,7 @@ $vues['signin'] = 'vue/signin.php'; $vues['quiz'] = 'vue/quiz.html'; $vues['search'] = 'vue/search.php'; $vues['favorite'] = 'vue/favorits.php'; +$vues['profil'] = 'vue/profil.php'; diff --git a/src/Controleur/FrontControler.php b/src/Controleur/FrontControler.php index 807668f..8491ca8 100644 --- a/src/Controleur/FrontControler.php +++ b/src/Controleur/FrontControler.php @@ -7,7 +7,7 @@ Class FrontControler{ private $listAction; - private string $role = 'user'; //Mettre en admin le temps de créer les comptes + private string $role = 'visitor'; //Mettre en admin le temps de créer les comptes private Connection $co; @@ -15,7 +15,7 @@ Class FrontControler{ global $twig; $this->listAction = ['visitor' => array('accueil','search','quote','login','signin'), - 'user' => array('quiz','commentary','logout','addComment','favorite'), + 'user' => array('quiz','commentary','logout','addComment','favorite','profil'), 'admin' => array('null')]; $dVueEreur = []; @@ -36,14 +36,15 @@ Class FrontControler{ $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', '/addComment', 'UserControler','addComment'); $router->map('GET|POST', '/quiz/[i:id]?', 'QuizControler','quiz'); $router->map('GET|POST', '/favorite', 'UserControler','favorite'); $router->map('GET|POST', '/search', 'VisitorControler','search'); + $router->map('GET|POST', '/profil', 'UserControler','profil'); + $router->map('GET|POST', '/login', 'VisitorControler','login'); + $router->map('GET|POST', '/signin', 'VisitorControler','signin'); - + $match = $router->match(); $action = NULL; @@ -67,13 +68,12 @@ Class FrontControler{ $controller='VisitorControler'; } - else { - $controller = '\\Controleur\\' . $controller; - $controller = new $controller($co); - if (is_callable(array($controller, $action))) { - call_user_func_array(array($controller, $action), - array($match['params'])); - } + $controller = '\\Controleur\\' . $controller; + $controller = new $controller($co); + if (is_callable(array($controller, $action))) { + call_user_func_array(array($controller, $action), + array($match['params'])); + } } diff --git a/src/Controleur/UserControler.php b/src/Controleur/UserControler.php index fde3375..e509422 100644 --- a/src/Controleur/UserControler.php +++ b/src/Controleur/UserControler.php @@ -21,7 +21,13 @@ class UserControler { $this->cMod = new CommentaryModel(new CommentaryGateway($co)); $this->uMod = new UserModel(new UserGateway($co)); } + + public function profil() { + + global $vues; + require_once $vues['profil']; + } public function quiz() { global $vues; require_once $vues['quiz']; diff --git a/src/Controleur/VisitorControler.php b/src/Controleur/VisitorControler.php index 5a52fc6..b34a23a 100644 --- a/src/Controleur/VisitorControler.php +++ b/src/Controleur/VisitorControler.php @@ -37,12 +37,51 @@ Class VisitorControler { global $co; $this->qMod = new QuoteModel(new QuoteGateway($co)); $this->cMod = new CommentaryModel(new CommentaryGateway($co)); + $this->sMod = new SearchModel(new QuoteGateway($co)); + $this->accueilGateway = new AccueilGateway($co); $this->gw = new UserGateway($co); $this->mdl = new UserModel($this->gw); - $this -> getAction($action); } + public function accueil(){ + global $vues; + + // Récupérer la citation du jour via AccueilGateway + $citationDuJour = $this->accueilGateway->getQuoteOfTheDay('fr'); + $suggestions = $this->accueilGateway->getSuggestions(0, 'fr'); + + // Passer les données à la vue + require_once $vues['accueil']; + } + + public function quote(array $arg){ + global $vues; + $id= $arg['idQuote'] ?? 1; + $q = $this->qMod->searchId($id); + $c = $this->cMod->getComment($id); + require_once $vues['quote']; + } + + public function favorite() { + global $vues; + require_once $vues['favorite']; + } + + public function search(array $arg){ + global $vues; + + $type = ($_POST['type'] ?? ""); + $search = ($_POST['search'] ?? NULL); + $filtre = ($arg['filtre'] ?? []); + + + $tq=$this->sMod->searchQuote($type,$search,$filtre); + + require_once $vues['search']; + } + + /** * @throws SyntaxError * @throws RuntimeError @@ -68,34 +107,19 @@ Class VisitorControler { } } - public function accueil(){ - global $vues; - - // Récupérer la citation du jour via AccueilGateway - $citationDuJour = $this->accueilGateway->getQuoteOfTheDay('fr'); - $suggestions = $this->accueilGateway->getSuggestions(0, 'fr'); - - // Passer les données à la vue - require_once $vues['accueil']; - } - - public function quote(array $arg){ - global $vues; - $id= $arg['idQuote'] ?? 1; - $q = $this->qMod->searchId($id); - $c = $this->cMod->getComment($id); - require_once $vues['quote']; - } - /** * @throws SyntaxError * @throws RuntimeError * @throws LoaderError */ - public function visitorLogIn(): void + public function login() { - global $twig; - echo $twig->render("login.html.twig"); + global $vues; + require_once $vues['login']; + + // global $twig; + + // echo $twig->render("login.html.twig"); $this -> toLogIn(); } @@ -141,7 +165,7 @@ Class VisitorControler { * @throws RuntimeError * @throws LoaderError */ - public function visitorSignIn(): void + public function signin(): void { global $twig; echo $twig->render("signin.html.twig"); @@ -194,22 +218,4 @@ Class VisitorControler { header("Location: /"); } } - - public function favorite() { - global $vues; - require_once $vues['favorite']; - } - - public function search(array $arg){ - global $vues; - - $type = ($_POST['type'] ?? ""); - $search = ($_POST['search'] ?? NULL); - $filtre = ($arg['filtre'] ?? []); - - - $tq=$this->sMod->searchQuote($type,$search,$filtre); - - require_once $vues['search']; - } } \ No newline at end of file diff --git a/vue/login.php b/vue/login.php index 39ec7a4..59abf86 100644 --- a/vue/login.php +++ b/vue/login.php @@ -9,5 +9,5 @@ )); echo $twig->render('bandeau.html.twig'); - echo $twig->render('login.html'); + echo $twig->render('login.html.twig'); ?> \ No newline at end of file diff --git a/vue/profil.php b/vue/profil.php index 6e1957a..78e24f8 100644 --- a/vue/profil.php +++ b/vue/profil.php @@ -1,18 +1,21 @@ false, + echo $twig->render('head.html.twig', [ + 'title' => "Accueil", + 'style' => "public/styles/styleProfil.css", + 'scripts' => array("public/script/theme-toggle.js") ]); - // - echo $twig->render('profil.html', array( + + // Rendu du bandeau + echo $twig->render('bandeau.html.twig'); + + echo $twig->render('profil.html.twig', array( 'srcUsername' => "Test User", 'srcEmail' => "test@gmail.com", 'srcPasswd' => "*****", - 'srcImg' => "../images/imageProfil.png", + 'srcImg' => "images/imageProfil.png", )); ?> \ No newline at end of file diff --git a/vue/quote.php b/vue/quote.php index 01fc624..b3d27ad 100644 --- a/vue/quote.php +++ b/vue/quote.php @@ -8,7 +8,7 @@ 'scripts' => array("../public/script/theme-toggle-double-param.js") )); echo $twig->render('bandeau.html.twig'); - echo $twig->render('quote.html', array( + echo $twig->render('quote.html.twig', array( 'srcImg' => $q->getImgPath(), 'nameCarac' => $q->getCarac(), 'quoteContent' => $q->getContent(), diff --git a/vue/search.php b/vue/search.php index a3ae87b..22732e9 100644 --- a/vue/search.php +++ b/vue/search.php @@ -5,6 +5,7 @@ echo $twig->render('head.html.twig', array( 'title' => "Quote", 'style' => "public/styles/styleSearch.css", + 'scripts' => array("public/script/theme-toggle.js") )); echo $twig->render('bandeau.html.twig'); diff --git a/vue/templates/bandeau.html.twig b/vue/templates/bandeau.html.twig index 638ab5d..4bb49d8 100644 --- a/vue/templates/bandeau.html.twig +++ b/vue/templates/bandeau.html.twig @@ -8,14 +8,13 @@ -
- user -
- +
+ - user + + user
\ No newline at end of file diff --git a/vue/templates/login.html.twig b/vue/templates/login.html.twig index fb5869e..b453775 100644 --- a/vue/templates/login.html.twig +++ b/vue/templates/login.html.twig @@ -39,7 +39,7 @@ {% endif %}

Vous n'avez de compte?

- S'incrire + S'incrire
diff --git a/vue/templates/profil.html.twig b/vue/templates/profil.html.twig index aef1ede..e43c3e4 100644 --- a/vue/templates/profil.html.twig +++ b/vue/templates/profil.html.twig @@ -1,34 +1,9 @@ - - - - - - - Wiki Fantasy : Profil - - - - - - -
-
- - -
-

▶ Profil ◀

- +

{{ srcUsername }}

@@ -42,7 +17,7 @@

Language :

- +
Ajouter une citation