src/Controller/StaticPageController.php line 32

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  4. use Symfony\Component\HttpFoundation\Request;
  5. use Symfony\Component\HttpFoundation\Response;
  6. use Symfony\Component\Routing\Annotation\Route;
  7. use App\Entity\ClubLocation;
  8. use App\Service\ConfigurationPropertyService;
  9. class StaticPageController extends AbstractController
  10. {
  11.     /**
  12.      * @Route("/", methods={"GET"}, name="home")
  13.      */
  14.     public function viewHome(): Response
  15.     {
  16.         $user $this->getUser();
  17.         $propService = new ConfigurationPropertyService($this->container->get('doctrine')->getManager());
  18.         $properties $propService->findStartsWithToMap('cenacle.');
  19.         return $this->render('home.html.twig', [
  20.             'connectedUser' => $user,
  21.             'cenacleProperties' => $properties
  22.         ]);
  23.     }
  24.     /**
  25.      * @Route("/master", methods={"GET"}, name="master")
  26.      */
  27.     public function viewMaster(): Response
  28.     {
  29.         $user $this->getUser();
  30.         return $this->render('showcase/master.html.twig', [
  31.             'connectedUser' => $user
  32.         ]);
  33.     }
  34.     /**
  35.      * @Route("/taekwonkido", methods={"GET"}, name="Taekwonkido")
  36.      */
  37.     public function viewTaekwonkido(): Response
  38.     {
  39.         $user $this->getUser();
  40.         return $this->render('showcase/taekwonkido.html.twig', [
  41.             'connectedUser' => $user
  42.         ]);
  43.     }
  44.     /**
  45.      * @Route("/taekwondo", methods={"GET"}, name="Taekwondo")
  46.      */
  47.     public function viewTaekwondo(): Response
  48.     {
  49.         $user $this->getUser();
  50.         return $this->render('showcase/taekwondo.html.twig', [
  51.             'connectedUser' => $user
  52.         ]);
  53.     }
  54.     /**
  55.      * @Route("/hapkido", methods={"GET"}, name="Hapkido")
  56.      */
  57.     public function viewHapkido(): Response
  58.     {
  59.         $user $this->getUser();
  60.         return $this->render('showcase/hapkido.html.twig', [
  61.             'connectedUser' => $user
  62.         ]);
  63.     }
  64.     /**
  65.      * @Route("/sinkido", methods={"GET"}, name="Sinkido")
  66.      */
  67.     public function viewSinkido(): Response
  68.     {
  69.         $user $this->getUser();
  70.         return $this->render('showcase/sinkido.html.twig', [
  71.             'connectedUser' => $user
  72.         ]);
  73.     }
  74.     /**
  75.      * @Route("/searchclub", methods={"GET"}, name="Search club around a city")
  76.      */
  77.     public function searchClub(Request $request): Response
  78.     {
  79.         $user $this->getUser();
  80.         $query $request->query->get('q');
  81.         if($query == null) {
  82.             return $this->render('searchclub.html.twig', [
  83.                 'connectedUser' => $user
  84.             ]);
  85.         }
  86.         if(mb_strlen($query) < 3) {
  87.             return $this->render('searchclub.html.twig', [
  88.                 'error' => 'query is too short',
  89.                 'connectedUser' => $user
  90.             ]);
  91.         }
  92.         $limit $request->query->get('limit'20);
  93.         $cities $this->getDoctrine()->getManager()
  94.         ->getRepository(City::class)
  95.         ->findByStartsWith($query$limit);
  96.         foreach ($cities as &$city) {
  97.         }
  98.         $response $this->forward('App\Controller\Api\ClubSearchController::searchAroundWithdistance', ['request' => $request"zipcode" => "???"]);
  99.         $json json_decode($response->getContent());
  100.         return $this->render('searchclub.html.twig', [
  101.             'connectedUser' => $user
  102.         ]);
  103.     }
  104. }