src/Controller/Pages/PagesVisitesController.php line 66

Open in your IDE?
  1. <?php
  2. namespace App\Controller\Pages;
  3. use App\Entity\Events;
  4. use App\Repository\EventsRepository;
  5. use App\Repository\PeriodesRepository;
  6. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  7. use Symfony\Component\HttpFoundation\Response;
  8. use Symfony\Component\Routing\Annotation\Route;
  9. /**
  10.  * @Route("/visiter")
  11.  */
  12. class PagesVisitesController extends AbstractController
  13. {
  14.     /**
  15.      * @Route("/experiences-en-terre-ivoirienne", name="visiter.experiences", defaults={"title":"ExpĂ©riences En Terre Ivoirienne"})
  16.      * @param $title
  17.      * @return Response
  18.      */
  19.     public function experiences($title): Response
  20.     {
  21.         return $this->render('pages/internes/visites/experiences.html.twig', [
  22.             'title' => $title,
  23.             'menu' => "Visiter",
  24.             'current_page' => 'visites'
  25.         ]);
  26.     }
  27.     /**
  28.      * @Route("/calendrier-fete-traditionnelle", name="visiter.calendrier.fete", defaults={"title":"Calendrier fĂȘte Traditionnelle"})
  29.      * @param $title
  30.      * @param PeriodesRepository $periodesRepository
  31.      * @param EventsRepository $eventsRepository
  32.      * @return Response
  33.      */
  34.     public function calendrierFeteTraditionnelle($titlePeriodesRepository $periodesRepositoryEventsRepository $eventsRepository): Response
  35.     {
  36.         $periodes $periodesRepository->findBy([], ['numero' => 'ASC']);
  37.         $numMois date('m');
  38.         $periodeAlaUne $periodesRepository->findOneBy(['numero' => $numMois]);
  39.         $eventsAlaUne $eventsRepository->findBy(['periodes' => $periodeAlaUne], ['createdAt' => 'ASC']);
  40.         $events = [];
  41.         foreach ($periodes as $periode){
  42.             $events[$periode->getId()] = $eventsRepository->findBy(['periodes' => $periode]);
  43.         }
  44.         return $this->render('pages/internes/visites/calendrierFeteTraditionnelle.html.twig', [
  45.             'title' => $title,
  46.             'periodes' => $periodes,
  47.             'periodeAlaUne' => $periodeAlaUne,
  48.             'eventsAlaUne' => $eventsAlaUne,
  49.             'events' => $events,
  50.             'menu' => "Visiter",
  51.             'current_page' => 'visites'
  52.         ]);
  53.     }
  54.     /**
  55.      * @Route("/calendrier/{id}/{slug}", name="events.show")
  56.      * @param string $slug
  57.      * @param Events $event
  58.      * @return Response
  59.      */
  60.     public function showCalendrier(string $slugEvents $event):
  61.     Response
  62.     {
  63.         if ($event->getSlug() !== $slug) {
  64.             return $this->redirectToRoute('events.show', [
  65.                 'id' => $event->getId(),
  66.                 'slug' => $event->getSlug(),
  67.             ], 301);
  68.         }
  69.         return $this->render('pages/internes/visites/showcalendrier.html.twig', [
  70.             'title' => $event->getName(),
  71.             'event' => $event,
  72.             'menu' => "Visiter",
  73.             'current_page' => 'visites'
  74.         ]);
  75.     }
  76. }