diff --git a/public/styles/styleAccueil.css b/public/styles/styleAccueil.css index e0976f3..3f5c253 100644 --- a/public/styles/styleAccueil.css +++ b/public/styles/styleAccueil.css @@ -1,5 +1,11 @@ @import url('style.css'); /* Import de style.css */ +h2 { + text-align: center; + font-size: 2em; + margin: 20px 0; +} + /* Conteneur général pour les citations */ .citations-section { display: flex; diff --git a/src/Controleur/FrontControler.php b/src/Controleur/FrontControler.php index 2938d4a..ba8584d 100644 --- a/src/Controleur/FrontControler.php +++ b/src/Controleur/FrontControler.php @@ -7,7 +7,7 @@ Class FrontControler{ private $listAction; - private string $role = 'admin'; //Mettre en admin le temps de créer les comptes + private string $role = 'user'; //Mettre en admin le temps de créer les comptes private Connection $co; @@ -16,8 +16,8 @@ Class FrontControler{ - $this->listAction = ['visitor' => array('accueil','search','quote','login','signin', 'favorite'), - 'user' => array('quiz','commentary','logout'), + $this->listAction = ['visitor' => array('accueil','search','quote','login','signin'), + 'user' => array('quiz','commentary','logout', 'favorite'), 'admin' => array('null')]; $dVueEreur = []; @@ -40,7 +40,7 @@ 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', '/favorite', 'VisitorControler','favorite'); + $router->map('GET|POST', '/favorite', 'UserControler','favorite'); $router->map('GET|POST', '/quiz/[i:id]?', 'QuizControler','quiz'); diff --git a/src/Controleur/UserControler.php b/src/Controleur/UserControler.php index 1f8d264..2bcd4b6 100644 --- a/src/Controleur/UserControler.php +++ b/src/Controleur/UserControler.php @@ -1,23 +1,29 @@ quoteGateway = new QuoteGateway($co); + } + + public function quiz() { global $vues; require_once $vues['quiz']; } - public function favorits() { + public function favorite(array $args) { global $vues; + + $userId = 1; - $user = $_SESSION['username']; - - $idUser = $this->userGateway->getIdUser($user); + $favorites = $this->quoteGateway->getFavorites($userId); - - $suggestions = $this->favoritsGateway->getFavorits(0, 'fr'); - - require_once $vues['favorits']; + require_once $vues['favorite']; } } diff --git a/src/Controleur/VisitorControler.php b/src/Controleur/VisitorControler.php index a446714..666748a 100644 --- a/src/Controleur/VisitorControler.php +++ b/src/Controleur/VisitorControler.php @@ -30,11 +30,8 @@ class VisitorControler { public function quote(array $arg) { global $vues; -<<<<<<< HEAD - $id = $arg['idQuote'] ?? 1; -======= + $id=$arg['idQuote']; ->>>>>>> refs/remotes/origin/master $q = $this->qMod->searchId($id); require_once $vues['quote']; } @@ -48,9 +45,4 @@ class VisitorControler { global $vues; require_once $vues['signin']; } - - public function favorite() { - global $vues; - require_once $vues['favorite']; - } } diff --git a/src/Gateway/QuoteGateway.php b/src/Gateway/QuoteGateway.php index 778e6e2..9f531c0 100644 --- a/src/Gateway/QuoteGateway.php +++ b/src/Gateway/QuoteGateway.php @@ -129,6 +129,27 @@ Class QuoteGateway{ return $result; } + public function getFavorites(string $userId): array { + $query = "SELECT q.id_quote, q.content, c.caracter, i.imgPath, s.title, s.dateS, q.likes, q.langue + FROM Favorite f + JOIN Quote q ON f.quote = q.id_quote + JOIN Caracter c ON c.id_caracter = q.id_caracter + JOIN Source s ON s.id_source = q.id_source + JOIN Image i ON c.id_img = i.id_img + WHERE f.users = :userId"; + + try { + $this->con->executeQuery($query, [ + ':userId' => [$userId, PDO::PARAM_STR] + ]); + return $this->con->getResults(); + } catch (PDOException $e) { + echo "Erreur dans getFavorites: " . $e->getMessage(); + return []; + } + } + + } ?> diff --git a/src/Gateway/favoritsGateway.php b/src/Gateway/favoritsGateway.php index dc2ce93..4c8fa99 100644 --- a/src/Gateway/favoritsGateway.php +++ b/src/Gateway/favoritsGateway.php @@ -11,21 +11,5 @@ class AccueilGateway { $this->con = $con; } - public function getSuggestions(int $numpage, string $language): array { - - $username = $_SESSION['username']; - $userId = $this->userGateway->getIdUser($username); - - $query = "SELECT q.id_quote, q.content, c.caracter, i.imgPath, s.title, s.dateS, q.likes, q.langue - FROM Quote q - JOIN Favorite f ON f.quote = q.id_quote - JOIN Caracter c ON c.id_caracter = q.id_caracter - JOIN Source s ON s.id_source = q.id_source - JOIN Image i ON c.id_img = i.id_img - WHERE q.isValide = true - AND q.langue = :language - AND f.users = :userId"; - - return $this->con->getResults(); - } + } diff --git a/vue/accueil.php b/vue/accueil.php index 1764696..96f2d0b 100644 --- a/vue/accueil.php +++ b/vue/accueil.php @@ -5,6 +5,7 @@ global $twig; echo $twig->render('head.html.twig', [ 'title' => "Accueil", 'style' => "public/styles/styleAccueil.css", + 'scripts' => array("public/script/theme-toggle.js") ]); diff --git a/vue/favorits.php b/vue/favorits.php index b0632c7..f0c944e 100644 --- a/vue/favorits.php +++ b/vue/favorits.php @@ -1,25 +1,28 @@ render('head.html.twig', [ - 'title' => "Accueil", + 'title' => "Favoris", 'style' => "public/styles/styleAccueil.css", + 'scripts' => array("public/script/theme-toggle.js") ]); -// Rendu du bandeau echo $twig->render('bandeau.html.twig'); -echo "
Vous n'avez pas encore de favorits
"; } -echo "