src/Controller/Front/ForumController.php line 19

  1. <?php
  2. namespace App\Controller\Front;
  3. use App\Entity\Categorie;
  4. use App\Repository\CategorieRepository;
  5. use App\Repository\SujetRepository;
  6. use Knp\Component\Pager\PaginatorInterface;
  7. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  8. use Symfony\Component\HttpFoundation\Request;
  9. use Symfony\Component\HttpFoundation\Response;
  10. use Symfony\Component\Routing\Annotation\Route;
  11. #[Route('/forum')]
  12. class ForumController extends AbstractController
  13. {
  14.     #[Route('/'name'app_front_forum_index')]
  15.     #[Route('/{slug}'name'app_front_forum_index_category')]
  16.     public function index(Categorie $categorie nullRequest $requestSujetRepository $sujetRepositoryPaginatorInterface $paginatorCategorieRepository $categorieRepository): Response
  17.     {
  18.         if ($request->query->get('search')) {
  19.             $subjects $sujetRepository->searchSubjects($request->query->get('search'));
  20.         } elseif ($categorie) {
  21.             $subjects $sujetRepository->findByCourseCategory($categorie);
  22.         }else {
  23.             $subjects $sujetRepository->findBy([], ['isSolved' => 'DESC']);
  24.         }
  25.         return $this->render('front/forum/index.html.twig', [
  26.             'controller_name' => 'ForumController',
  27.             'isForumMainPage' => true,
  28.             'search' => $request->query->get('search'),
  29.             'categories' => $categorieRepository->findBCategoriesForum(15),
  30.             'subjects' => $paginator->paginate($subjects$request->query->get('page'1), 15)
  31.         ]);
  32.     }
  33. }