From e1c8e33b6e5cca2116ce79e338dca0036aef9abd Mon Sep 17 00:00:00 2001 From: beaulaton Date: Wed, 6 Nov 2024 16:04:13 +0100 Subject: [PATCH 1/3] Controller --- config/config.php | 4 ++++ src/Controleur/FrontControler.php | 5 ++++- src/Controleur/UserControler.php | 10 ++++++++++ src/Controleur/VisitorControler.php | 6 ++++++ vue/login.html | 2 +- vue/templates/bandeau.html.twig | 4 ++-- 6 files changed, 27 insertions(+), 4 deletions(-) diff --git a/config/config.php b/config/config.php index cd389e1..e6cd36f 100644 --- a/config/config.php +++ b/config/config.php @@ -18,6 +18,10 @@ $vues['erreur'] = 'vue/erreur.php'; $vues['accueil'] = 'vue/accueil.php'; $vues['quote'] = 'vue/quote.php'; $vues['login'] = 'vue/login.html'; +$vues['signin'] = 'vue/signin.html'; +$vues['quiz'] = 'vue/quiz.html'; + + //Style css $style['accueil'] = 'public/styles/styleAccueil.css'; diff --git a/src/Controleur/FrontControler.php b/src/Controleur/FrontControler.php index 97156cb..d623a4c 100644 --- a/src/Controleur/FrontControler.php +++ b/src/Controleur/FrontControler.php @@ -10,7 +10,7 @@ Class FrontControler{ public function __construct(){ global $twig; - $this->listAction = ['visitor' => array('accueil','search','quote','login','singin'), + $this->listAction = ['visitor' => array('accueil','search','quote','login','signin'), 'user' => array('quiz','commentary','favorite','logout'), 'admin' => array('null')]; @@ -31,6 +31,9 @@ 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'); + $match = $router->match(); $action = NULL; diff --git a/src/Controleur/UserControler.php b/src/Controleur/UserControler.php index e69de29..2cc513a 100644 --- a/src/Controleur/UserControler.php +++ b/src/Controleur/UserControler.php @@ -0,0 +1,10 @@ +

Vous n'avez pas de compte?

- S'incrire + S'incrire diff --git a/vue/templates/bandeau.html.twig b/vue/templates/bandeau.html.twig index aa84323..4c84aa7 100644 --- a/vue/templates/bandeau.html.twig +++ b/vue/templates/bandeau.html.twig @@ -5,9 +5,9 @@ quizz
- user + user
\ No newline at end of file From ca989f81fc2fa068b3a2a30d44e1134888e73f7b Mon Sep 17 00:00:00 2001 From: "kevin.modejar" Date: Wed, 6 Nov 2024 16:28:02 +0100 Subject: [PATCH 2/3] modif gateway + model quote --- src/Controleur/VisitorControler.php | 2 +- src/Gateway/quoteGateway.php | 12 ++++++------ src/Model/quoteModel.php | 6 +++--- vue/quote.php | 10 +--------- vue/templates/bandeau.html.twig | 4 ++-- 5 files changed, 13 insertions(+), 21 deletions(-) diff --git a/src/Controleur/VisitorControler.php b/src/Controleur/VisitorControler.php index 0c60b74..8b3cd3c 100644 --- a/src/Controleur/VisitorControler.php +++ b/src/Controleur/VisitorControler.php @@ -11,7 +11,7 @@ Class VisitorControler{ public function quote(array $arg){ global $vues; $id=$arg['idQuote'] ?? 1; - + //echo "{$id}"; require_once $vues['quote']; diff --git a/src/Gateway/quoteGateway.php b/src/Gateway/quoteGateway.php index 6c34a59..527bcdf 100644 --- a/src/Gateway/quoteGateway.php +++ b/src/Gateway/quoteGateway.php @@ -36,11 +36,11 @@ Class QuoteGateway{ return $result; } - public function getComment(int $id):array{ - - //obtention des commentaire d'une citation - $query="SELECT c.id_comment u.username, u.imgPath, c.comment, c.date FROM Commentary c JOIN Quote q ON c.quote = q.id_quote JOIN User u ON u.id_user = c.user JOIN Image i ON i.id_img = u.img WHERE id_quote = :id;"; - $this->con->executeQuery($query,array(':id' => array($id,PDO::PARAM_INT))); + public function searchId(string $id):array{ + + //recherche par id + $query="SELECT q.id_quote, q.content, c.caracter, c.img_path, s.title, s.date, q.like, q.language FROM Quote q JOIN Caracter c ON c.id_caracter = q.id_caracter JOIN Source s ON s.id_source = q.id_source WHERE q.id_quote = '%:id%' AND q.isValid = true;"; + $this->con->executeQuery($query,array(':id' => array($id,PDO::PARAM_STR))); $result=$this->con->getResults(); return $result; } @@ -64,7 +64,7 @@ Class QuoteGateway{ $this->con->executeQuery($query,array(':id' => array($id,PDO::PARAM_INT))); } - public function validQuote(int $id){ + public function invalidQuote(int $id){ //Invalide la quote par l'admin (suppression) $query ='DELETE FROM Quote WHERE id_Quote=:id'; $this->con->executeQuery($query,array(':id' => array($id,PDO::PARAM_INT))); diff --git a/src/Model/quoteModel.php b/src/Model/quoteModel.php index e16622c..95867a1 100644 --- a/src/Model/quoteModel.php +++ b/src/Model/quoteModel.php @@ -11,9 +11,9 @@ $this->gateway = $gate; } - public function searchQuote(string $quote,int $numpage,string $language) : Quote{ - $res = $this->gateway->searchQuote($quote,$numpage,$language); - return new Quote($res[0]['']); + public function searchId(int $id): Quote{ + $res = $this->gate->searchId($id)[0]; + return new Quote($res["q.id_quote"],$res["q.content"],$res["c.caracter"],$res["c.img_path"],$res["s.title"],$res["s.date"],$res["q.like"],$res["q.language"]); } } diff --git a/vue/quote.php b/vue/quote.php index f2269f8..809a8c1 100644 --- a/vue/quote.php +++ b/vue/quote.php @@ -1,14 +1,6 @@ false, - ]); - - //global $twig; + global $twig; echo $twig->render('head.html.twig', array( 'title' => "Quote", diff --git a/vue/templates/bandeau.html.twig b/vue/templates/bandeau.html.twig index aa84323..46a6ca9 100644 --- a/vue/templates/bandeau.html.twig +++ b/vue/templates/bandeau.html.twig @@ -2,10 +2,10 @@
user From 32fc6dc68bed9da067fd8c99c1d4c635fb621e38 Mon Sep 17 00:00:00 2001 From: beaulaton Date: Wed, 6 Nov 2024 17:07:15 +0100 Subject: [PATCH 3/3] Lien avec la page Quiz, login, signit --- config/config.php | 2 +- index.php | 4 ++-- src/Controleur/FrontControler.php | 15 ++++++++++++--- src/Gateway/Connection.php | 6 +++--- vue/templates/bandeau.html.twig | 2 +- 5 files changed, 19 insertions(+), 10 deletions(-) diff --git a/config/config.php b/config/config.php index e6cd36f..70ce410 100644 --- a/config/config.php +++ b/config/config.php @@ -9,7 +9,7 @@ $rep = __DIR__ . '/../'; //BD -$base = 'dbkemondejar'; +$base = ''; $login = ''; $mdp = ''; diff --git a/index.php b/index.php index bebf483..6e8b364 100644 --- a/index.php +++ b/index.php @@ -11,7 +11,7 @@ require_once __DIR__ . '/config/config.php'; require __DIR__ . '/vendor/autoload.php'; -$co = new \Gateway\Connection('pgsql:host=localhost;dbname=dbwikifantasy;', 'kiem', ''); +//$co = new \Gateway\Connection("pgsql:host=londres;dbname=dblebeaulato","lebeaulato","MaSQL:2004!"); //twig $loader = new \Twig\Loader\FilesystemLoader('vue/templates'); @@ -20,7 +20,7 @@ $twig = new \Twig\Environment($loader, [ ]); -$cont = new Controleur\FrontControler($co); +$cont = new Controleur\FrontControler(/*$co*/); session_unset(); session_destroy(); diff --git a/src/Controleur/FrontControler.php b/src/Controleur/FrontControler.php index d623a4c..78dceb5 100644 --- a/src/Controleur/FrontControler.php +++ b/src/Controleur/FrontControler.php @@ -1,14 +1,20 @@ listAction = ['visitor' => array('accueil','search','quote','login','signin'), 'user' => array('quiz','commentary','favorite','logout'), @@ -32,14 +38,17 @@ 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', '/quiz/[i:id]?', 'QuizControler'); + $match = $router->match(); $action = NULL; if(!$match){ - $dVueEreur[] = "Requette introuvable"; + $dVueEreur[] = "Requête introuvable"; $this->vueErreur($dVueEreur); } else{ diff --git a/src/Gateway/Connection.php b/src/Gateway/Connection.php index bf6ae67..8725f0c 100644 --- a/src/Gateway/Connection.php +++ b/src/Gateway/Connection.php @@ -1,14 +1,14 @@ setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); } diff --git a/vue/templates/bandeau.html.twig b/vue/templates/bandeau.html.twig index 4c84aa7..567f11a 100644 --- a/vue/templates/bandeau.html.twig +++ b/vue/templates/bandeau.html.twig @@ -2,7 +2,7 @@