From 812c73c94eb2cfec9a6fe22419c2db3b07e668f7 Mon Sep 17 00:00:00 2001 From: brongniart Date: Wed, 13 Nov 2024 19:15:26 +0100 Subject: [PATCH] search page --- images/search.png | Bin 0 -> 50980 bytes public/styles/style.css | 21 +++++ public/styles/styleAccueil.css | 115 +--------------------------- public/styles/styleQuoteLittle.css | 111 +++++++++++++++++++++++++++ public/styles/styleSearch.css | 66 +++++++++++++++- src/Controleur/FrontControler.php | 10 +-- src/Controleur/VisitorControler.php | 16 +++- src/Gateway/QuoteGateway.php | 28 ++++++- src/Model/searchModel.php | 0 vue/accueil.php | 29 +++---- vue/search.php | 22 +++++- vue/templates/bandeau.html.twig | 5 ++ vue/templates/filtre.html.twig | 26 ++++--- vue/templates/quoteLittle.html.twig | 9 +++ 14 files changed, 299 insertions(+), 159 deletions(-) create mode 100644 images/search.png create mode 100644 public/styles/styleQuoteLittle.css delete mode 100644 src/Model/searchModel.php create mode 100644 vue/templates/quoteLittle.html.twig diff --git a/images/search.png b/images/search.png new file mode 100644 index 0000000000000000000000000000000000000000..04ef0e60a5068cd848ebf8ce25dffc8f6381d711 GIT binary patch literal 50980 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

3k!jX%l8@uTaO20cl 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 literal 0 HcmV?d00001 diff --git a/public/styles/style.css b/public/styles/style.css index 63e9bd8..05bfef8 100644 --- a/public/styles/style.css +++ b/public/styles/style.css @@ -50,6 +50,19 @@ body { width: 40%; } +.search { + display: flex; + flex-direction: row; + justify-content: center; + align-items: center; + vertical-align: center; + margin: 10px; + width: 70px; + height: 70px; + border-radius: 50%; +} + + /* Mode sombre */ body.dark-mode { background-color: #120B1D; @@ -68,6 +81,10 @@ body.dark-mode .nav img:hover { filter: invert(59%) sepia(96%) saturate(6733%) hue-rotate(275deg) brightness(112%) contrast(122%); } +body.dark-mode .search { + background: linear-gradient(to right, #4a148c, #7b1fa2); +} + /* Mode clair */ body.light-mode { background-color: #ffffff; @@ -86,6 +103,10 @@ body.light-mode .nav img:hover { filter: invert(22%) sepia(6%) saturate(2269%) hue-rotate(193deg) brightness(98%) contrast(106%); } +body.light-mode .search { + background: linear-gradient(180deg, rgba(187,211,249,1) 0%, rgba(199,246,196,1) 100%); +} + /* Media queries for responsiveness */ /* For tablets and small devices */ diff --git a/public/styles/styleAccueil.css b/public/styles/styleAccueil.css index 9f5ead4..45a64e6 100644 --- a/public/styles/styleAccueil.css +++ b/public/styles/styleAccueil.css @@ -1,4 +1,5 @@ -@import url('style.css'); /* Import de style.css */ +@import url(./style.css); /* Import de style.css */ +@import url(./styleQuoteLittle.css); /* Conteneur général pour les citations */ .citations-section { @@ -11,41 +12,6 @@ margin: 0 0; } -/* Conteneur pour les suggestions en deux colonnes */ -.suggestions-container { - display: flex; - flex-wrap: wrap; - justify-content: space-between; - width: 90%; - margin: 0 auto; -} - -/* Citations */ -.citation-container { - background: linear-gradient(to right, #4a148c, #7b1fa2); - border-radius: 12px; - color: white; - display: flex; - align-items: flex-start; - width: 49%; /* Chaque citation occupe 45% de la largeur pour laisser 5% d'espace */ - box-sizing: border-box; - padding: 0; - height: 150px; - overflow: hidden; - margin-bottom: 20px; - word-wrap: break-word; /* Permet de couper les mots trop longs */ - word-break: break-word; -} - -/* Fixe la taille pour s'assurer que toutes les citations restent cohérentes */ -.citation-container .text-content { - flex-grow: 1; - display: flex; - flex-direction: column; - justify-content: center; - height: 150px; -} - /* Citation du jour - toujours en pleine largeur */ .citation-du-jour { width: 90%; /* Prend toute la largeur */ @@ -56,80 +22,3 @@ height: 150px; } -.suggestion { - background: linear-gradient(180deg, rgba(187,211,249,1) 0%, rgba(199,246,196,1) 100%); - padding: 0; - overflow: hidden; -} - -.citation-image { - width: 150px; - height: 100%; - object-fit: cover; - margin: 0; - border-radius: 0; -} - -.text-content { - flex: 1; - padding: 10px; - display: flex; - flex-direction: column; - justify-content: center; /* Centre verticalement le texte */ - word-wrap: break-word; /* Permet de couper les mots trop longs */ - word-break: break-word; -} - -.quote { - font-size: 1.2em; - margin-bottom: 10px; - font-style: italic; -} - - - -.movie, .character, .year { - margin-bottom: 5px; -} - -/* Mode sombre */ -body.dark-mode .suggestion { - background: linear-gradient(to right, #4a148c, #7b1fa2); - color:white; -} - -/* Mode clair */ -body.light-mode .suggestion { - background: linear-gradient(180deg, rgba(187,211,249,1) 0%, rgba(199,246,196,1) 100%); - color:black; /* Changer le texte en noir pour le mode clair */ -} - -body.light-mode .quote, -body.light-mode .movie, -body.light-mode .character, -body.light-mode .year { - color: black; /* Forcer le texte en noir pour le mode clair */ -} - -/* Responsive design */ -@media (max-width: 768px) { - .suggestions-container { - flex-direction: column; - width: 100%; - } - - .citation-container { - width: 100%; /* Chaque citation prend toute la largeur sur mobile */ - max-width: 100%; - height: 100px; /* Supprimer la hauteur fixe sur mobile */ - } - - .citation-image { - width: 100px; - height: 100px; - } - - .quote { - font-size: 1em; - } -} diff --git a/public/styles/styleQuoteLittle.css b/public/styles/styleQuoteLittle.css new file mode 100644 index 0000000..f6856cc --- /dev/null +++ b/public/styles/styleQuoteLittle.css @@ -0,0 +1,111 @@ +/* Conteneur pour les suggestions en deux colonnes */ +.quotes-container { + display: flex; + flex-wrap: wrap; + justify-content: space-between; + width: 90%; + margin: 0 auto; +} + +/* Citations */ +.citation-container { + background: linear-gradient(to right, #4a148c, #7b1fa2); + border-radius: 12px; + color: white; + display: flex; + align-items: flex-start; + width: 49%; /* Chaque citation occupe 45% de la largeur pour laisser 5% d'espace */ + box-sizing: border-box; + padding: 0; + height: 150px; + overflow: hidden; + margin-bottom: 20px; + word-wrap: break-word; /* Permet de couper les mots trop longs */ + word-break: break-word; +} + +/* Fixe la taille pour s'assurer que toutes les citations restent cohérentes */ +.citation-container .text-content { + flex-grow: 1; + display: flex; + flex-direction: column; + justify-content: center; + height: 150px; +} +.quote { + background: linear-gradient(180deg, rgba(187,211,249,1) 0%, rgba(199,246,196,1) 100%); + padding: 0; + overflow: hidden; +} + +.citation-image { + width: 150px; + height: 100%; + object-fit: cover; + margin: 0; + border-radius: 0; +} + +.text-content { + flex: 1; + padding: 10px; + display: flex; + flex-direction: column; + justify-content: center; /* Centre verticalement le texte */ + word-wrap: break-word; /* Permet de couper les mots trop longs */ + word-break: break-word; +} + +.quoteContent { + font-size: 1.2em; + margin-bottom: 10px; + font-style: italic; +} + + + +.movie, .character, .year { + margin-bottom: 5px; +} + +/* Mode sombre */ +body.dark-mode .quote { + background: linear-gradient(to right, #4a148c, #7b1fa2); + color:white; +} + +/* Mode clair */ +body.light-mode .quote { + background: linear-gradient(180deg, rgba(187,211,249,1) 0%, rgba(199,246,196,1) 100%); + color:black; /* Changer le texte en noir pour le mode clair */ +} + +body.light-mode .quote, +body.light-mode .movie, +body.light-mode .character, +body.light-mode .year { + color: black; /* Forcer le texte en noir pour le mode clair */ +} + +/* Responsive design */ +@media (max-width: 768px) { + .suggestions-container { + flex-direction: column; + width: 100%; + } + + .citation-container { + width: 100%; /* Chaque citation prend toute la largeur sur mobile */ + max-width: 100%; + height: 100px; /* Supprimer la hauteur fixe sur mobile */ + } + + .citation-image { + width: 100px; + height: 100px; + } + + .quote { + font-size: 1em; + } +} diff --git a/public/styles/styleSearch.css b/public/styles/styleSearch.css index 2ae7ecf..8c61b09 100644 --- a/public/styles/styleSearch.css +++ b/public/styles/styleSearch.css @@ -1,11 +1,69 @@ @import url(./style.css); +@import url(./styleQuoteLittle.css); + +/* ====== DEFAULT ====== */ + + +.search-container { + margin-left: 5%; + width: 90%; + + height: 60px; + border-radius: 40px; +} + +.search-container .searchButton { + float: right; + width: 60px; + height: 60px; + border-radius: 50%; + display: flex; + justify-content: center; + align-items: center; +} +.searchButton img{ + width: 70%; + height: 70%; +} + +.search-container input[type="search"] { + margin: 10px ; + border:none; + background: none; + float:left; + padding: 0; + color: #00f; + font-size: 16px; + line-height: 40px; + width:auto; +} + +.filtre{ + display: flex; + justify-content: space-around; + font-size: 30px; +} /* ====== DARK MODE ====== */ /*body.dark-mode */ - +body.dark-mode .search-container { + background: #fff; +} +body.dark-mode .search-container input[type="search"] { + color: #000; +} +body.dark-mode .search-container .searchButton { + background: linear-gradient(to right, #4a148c, #7b1fa2); +} /* ====== LIGHT MODE ====== */ /*body.light-mode*/ - - -/* ====== DEFAULT ====== */ +body.light-mode .search-container { + background: #ccc; +} +body.light-mode .search-container input[type="search"] { + color: #000; +} +body.light-mode .search-container .searchButton { + background: linear-gradient(180deg, rgba(187,211,249,1) 0%, rgba(199,246,196,1) 100%); +} \ No newline at end of file diff --git a/src/Controleur/FrontControler.php b/src/Controleur/FrontControler.php index 44a07b5..2f885ab 100644 --- a/src/Controleur/FrontControler.php +++ b/src/Controleur/FrontControler.php @@ -37,12 +37,12 @@ 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', '/quote/[i:idQuote]?', 'VisitorControler','quote'); + $router->map('GET', '/login', 'VisitorControler','login'); + $router->map('GET', '/signin', 'VisitorControler','signin'); - $router->map('GET|POST', '/quiz/[i:id]?', 'QuizControler','quiz'); - $router->map('GET|POST', '/search/[a:type]?', 'VisitorControler','search'); + $router->map('GET', '/quiz/[i:id]?', 'QuizControler','quiz'); + $router->map('GET|POST', '/search', 'VisitorControler','search'); $match = $router->match(); diff --git a/src/Controleur/VisitorControler.php b/src/Controleur/VisitorControler.php index e360f72..781188d 100644 --- a/src/Controleur/VisitorControler.php +++ b/src/Controleur/VisitorControler.php @@ -1,16 +1,19 @@ qMod = new QuoteModel(new QuoteGateway($co)); + $this->sMod = new SearchModel(new QuoteGateway($co)); } public function accueil(){ @@ -22,7 +25,7 @@ Class VisitorControler{ global $vues; $id=$arg['idQuote'] ?? 1; $q = $this->qMod->searchId($id); - //echo "{$id}"; + require_once $vues['quote']; } @@ -38,9 +41,16 @@ Class VisitorControler{ require_once $vues['signin']; } - public function search(){ - + 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/src/Gateway/QuoteGateway.php b/src/Gateway/QuoteGateway.php index 2794c32..c1ad75a 100644 --- a/src/Gateway/QuoteGateway.php +++ b/src/Gateway/QuoteGateway.php @@ -44,7 +44,33 @@ Class QuoteGateway{ return $result; } - + public function search(?string $type,?string $search,array $filtre):array{ + $query="SELECT q.id_quote, q.content, c.caracter, i.imgPath, s.title, s.dates, q.likes, q.langue + FROM Quote q + 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 lower("; + + if($type=='personnage'){ + $query = $query . "c.caracter) LIKE lower('%" . $search . "%')"; + } + elseif($type=='titre'){ + $query = $query . "s.title) LIKE lower('%" . $search . "%')"; + } + else{ + $query = $query . "q.content) LIKE lower('%" . $search . "%')"; + } + /* Categorie a rajouter + foreach($filtre as $fil){ + $query = $query . " AND " . $fil + }*/ + + $this->con->executeQuery($query,array()); + + $result=$this->con->getResults(); + return $result; + } //======================== PARTI ADMIN ======================== //Probablement à déplacer dans un autre fichier diff --git a/src/Model/searchModel.php b/src/Model/searchModel.php deleted file mode 100644 index e69de29..0000000 diff --git a/vue/accueil.php b/vue/accueil.php index 18a6c4a..acf53a9 100644 --- a/vue/accueil.php +++ b/vue/accueil.php @@ -49,7 +49,7 @@ if ($citationDuJour) { echo "

"; echo "$movie"; echo "
"; - echo "

\"$quote\"

"; + echo "

\"$quote\"

"; echo "

- $movie

"; echo "

Personnage : $character

"; echo "

Année : $year

"; @@ -61,23 +61,16 @@ if ($citationDuJour) { if (!empty($suggestions)) { echo "

Suggestions

"; - echo "
"; - foreach ($suggestions as $suggestion) { - $quote = htmlspecialchars(trim($suggestion[0])); - $movie = htmlspecialchars(trim($suggestion[1])); - $character = htmlspecialchars(trim($suggestion[2])); - $year = htmlspecialchars(trim($suggestion[3])); - $imagePath = htmlspecialchars(trim($suggestion[4])); - - echo "
"; - echo "$movie"; - echo "
"; - echo "

\"$quote\"

"; - echo "

- $movie

"; - echo "

Personnage : $character

"; - echo "

Année : $year

"; - echo "
"; - echo "
"; + echo "
"; + foreach($suggestions as $suggestion){ + + echo $twig->render('quoteLittle.html.twig', array( + 'srcImg' => htmlspecialchars(trim($suggestion[4])), + 'quoteContent' => htmlspecialchars(trim($suggestion[0])) , + 'sourceName' => htmlspecialchars(trim($suggestion[1])) , + 'nameCarac' => htmlspecialchars(trim($suggestion[2])) , + 'dateSortie' => htmlspecialchars(trim($suggestion[3])) , + )); } echo "
"; } diff --git a/vue/search.php b/vue/search.php index 177b1c3..a3ae87b 100644 --- a/vue/search.php +++ b/vue/search.php @@ -8,9 +8,25 @@ )); echo $twig->render('bandeau.html.twig'); - echo $twig->render('filtre.html.twig'); - echo $_POST['type']; - echo $_POST['search']; + echo $twig->render('filtre.html.twig',array( + 'search'=>$search, + 'type'=>$type, + )); + + + echo "

Résultats

"; + echo "
"; + foreach($tq as $q){ + + echo $twig->render('quoteLittle.html.twig', array( + 'srcImg' => $q->getImgPath(), + 'quoteContent' => $q->getContent(), + 'sourceName' => $q->getTitleSrc(), + 'nameCarac' => $q->getCarac(), + 'dateSortie' => $q->getDateSrc(), + )); + } + echo "
"; //echo $twig->render('resultat.html.twig'); ?> \ No newline at end of file diff --git a/vue/templates/bandeau.html.twig b/vue/templates/bandeau.html.twig index a5a512b..1b83d16 100644 --- a/vue/templates/bandeau.html.twig +++ b/vue/templates/bandeau.html.twig @@ -9,6 +9,11 @@ Logo
+ + + user
\ No newline at end of file diff --git a/vue/templates/filtre.html.twig b/vue/templates/filtre.html.twig index 89f8ef2..1dc25eb 100644 --- a/vue/templates/filtre.html.twig +++ b/vue/templates/filtre.html.twig @@ -1,44 +1,46 @@ -
- - + +
+ + +
-
+
- +
- +
- +
+ \ No newline at end of file diff --git a/vue/templates/quoteLittle.html.twig b/vue/templates/quoteLittle.html.twig new file mode 100644 index 0000000..3f60e60 --- /dev/null +++ b/vue/templates/quoteLittle.html.twig @@ -0,0 +1,9 @@ +
+ {{ sourceName }} +
+

{{ quoteContent }}

+

- {{ sourceName }}

+

Personnage : {{ nameCarac }}

+

Année : {{ dateSortie }}

+
+
\ No newline at end of file