瀏覽代碼

Merge branch 'nathan_recherche' into 'master'

Nathan recherche

See merge request clement.krebs/twyrael!11
SPAETER NATHAN 4 年之前
父節點
當前提交
ad7c4380ba

+ 1 - 3
src/Controller/DisconnectController.php

@@ -13,8 +13,6 @@ class DisconnectController extends AbstractController
     {
         $session = $this->get('session');
         $session->clear();
-        return $this->render('disconnect/index.html.twig', [
-            'controller_name' => 'DisconnectController',
-        ]);
+        return $this->render('disconnect/index.html.twig', []);
     }
 }

+ 0 - 1
src/Controller/HashtagController.php

@@ -31,7 +31,6 @@ class HashtagController extends AbstractController
             $messages = $hashtag->getMessage()->getValues();
             usort($messages, array($this, "cmp_array"));
             return $this->render('hashtag/index.html.twig', [
-                'controller_name' => 'HashtagController',
                 'messages' => $messages,
                 'username' => $session->get('user'),
             ]);

+ 0 - 1
src/Controller/HomeController.php

@@ -118,7 +118,6 @@ class HomeController extends AbstractController
 
 
         return $this->render('home/index.html.twig', [
-            'controller_name' => 'HomeController',
             'messages' => $sub_msg,
             'form' => $form->createView(),
             'username' => $session->get('user'),

+ 0 - 1
src/Controller/IndexController.php

@@ -14,7 +14,6 @@ class IndexController extends AbstractController
     public function index(): Response
     {
         return $this->render('index/index.html.twig', [
-            'controller_name' => 'IndexController',
             'username' => $this->get('session')->get('user'),
         ]);
     }

+ 0 - 1
src/Controller/ProfileController.php

@@ -72,7 +72,6 @@ class ProfileController extends AbstractController
         usort($sub_msg, array($this, "cmp_array"));
 
         return $this->render('profile/index.html.twig', [
-            'controller_name' => 'ProfileController',
             'privateNotAllowed' => $privateNotAllowed,
             'profileusername' => $username,
             'isPrivate' => $isPrivate,

+ 27 - 0
src/Controller/ResearchController.php

@@ -0,0 +1,27 @@
+<?php
+
+namespace App\Controller;
+
+use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
+use Symfony\Component\HttpFoundation\Response;
+use Symfony\Component\Routing\Annotation\Route;
+use Symfony\Component\HttpFoundation\Request;
+use App\Entity\Message;
+
+class ResearchController extends AbstractController
+{
+    #[Route('/research', name: 'research')]
+    public function index(Request $request): Response
+    {
+        $em = $this->getDoctrine()->getManager();
+        $repository_message = $em->getRepository(Message::class);
+        $messages = $repository_message->findMessageContainString($request->query->get('s'));
+        // foreach ($messages as $message) {
+        //     array_push($sub_msg, $msg);
+        // }
+        return $this->render('research/index.html.twig', [
+            'username' => $this->get('session')->get('user'),
+            'messages' => $messages,
+        ]);
+    }
+}

+ 9 - 0
src/Repository/MessageRepository.php

@@ -47,4 +47,13 @@ class MessageRepository extends ServiceEntityRepository
         ;
     }
     */
+
+    public function findMessageContainString($value)
+    {
+        return $this->createQueryBuilder('a')
+            ->where('a.text LIKE :string')
+            ->setParameter('string', '%' . $value . '%')
+            ->getQuery()
+            ->execute();
+    }
 }

+ 4 - 4
templates/base.html.twig

@@ -36,11 +36,11 @@
 								<a class="nav-link" href="{{ path('disconnect') }}">Se déconnecter</a>
 							</li>
 						</ul>
-						<form class="d-flex">
-							<input class="form-control me-2" type="search" placeholder="Search" aria-label="Search">
-							<button class="btn btn-outline-success" type="submit">Search</button>
+						<form class="d-flex" action="{{ path('research') }}" method="get">
+							<input class="form-control me-2" type="search" placeholder="Mot ou phrase" name="s">
+							<button class="btn btn-outline-success" type="submit">Rechercher</button>
 						</form>
-						{% else %}
+					{% else %}
 						<li class="nav-item">
 							<a class="nav-link" href="{{ path('register') }}">S'enregistrer</a>
 						</li>

+ 1 - 1
templates/home/index.html.twig

@@ -20,7 +20,7 @@
 					</h5>
 					<h6 class="card-subtitle mb-2 text-muted">{{ msg.getDate()|date('H:i - d/m/Y') }}</h6>
 					<p class="card-text">{{ msg.text | striptags('<a>') | raw }}</p>
-                    <a href="{{ path('rt_message', {'msgId': msg.getId() }) }}" class="card-link">RT</a>
+					<a href="{{ path('rt_message', {'msgId': msg.getId() }) }}" class="card-link">RT</a>
 				</div>
 			</div>
 		{% endfor %}

+ 22 - 0
templates/research/index.html.twig

@@ -0,0 +1,22 @@
+{% extends 'base.html.twig' %}
+
+{% block title %}
+	Recherche
+{% endblock %}
+
+{% block body %}
+	<div class="d-flex flex-column align-items-center">
+		{% for msg in messages %}
+			<div class="card" style="width: 75rem;">
+				<div class="card-body">
+					<h5 class="card-title">
+						<a href={{ path('profile', {'username': msg.sender.getUsername() } ) }}>{{ msg.sender.getUsername() }}</a>
+					</h5>
+					<h6 class="card-subtitle mb-2 text-muted">{{ msg.getDate()|date('H:i - d/m/Y') }}</h6>
+					<p class="card-text">{{ msg.text | striptags('<a>') | raw }}</p>
+					<a href="{{ path('rt_message', {'msgId': msg.getId() }) }}" class="card-link">RT</a>
+				</div>
+			</div>
+		{% endfor %}
+	</div>
+{% endblock %}