src/Controller/DefaultController.php line 26

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use App\Entity\Center;
  4. use App\Entity\Condition;
  5. use App\Entity\Formulaire;
  6. use App\Entity\StayInContact;
  7. use Doctrine\ORM\EntityManagerInterface;
  8. use Sensio\Bundle\FrameworkExtraBundle\Configuration\ParamConverter;
  9. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  10. use Symfony\Component\HttpFoundation\Request;
  11. use Symfony\Component\Routing\Annotation\Route;
  12. class DefaultController extends AbstractController
  13. {
  14.     /**
  15.      * @Route("/{center}",
  16.      *     name="mmpp_front_preinscriptions",
  17.      *     defaults={"center": "bordeaux"},
  18.      *     requirements={"center": "bordeaux|antilles"},
  19.      *     host="%inscription_host%"
  20.      * )
  21.      * @ParamConverter("center", options={"mapping": {"center" = "slug"}})
  22.      */
  23.     public function preinscriptionsAction(EntityManagerInterface $emCenter $center)
  24.     {
  25.         $this->formulaires $em->getRepository(Formulaire::class)
  26.             ->findAllWithFormation($center);
  27.         return $this->render('preinscription/pre-inscriptions.html.twig', array(
  28.             'center' => $center,
  29.             'formulaires' => $this->formulaires
  30.         ));
  31.     }
  32.     /**
  33.      * @Route("/stat-proxy/{key}", name="front_stat_proxy", host="%inscription_host%")
  34.      */
  35.     public function statProxy(
  36.         EntityManagerInterface $em,
  37.         Request $request,
  38.         string $key
  39.     ) {
  40.         $url urldecode($request->query->get('url'));
  41.         $stat = (new StayInContact())
  42.             ->setDate(new \DateTime())
  43.             ->setUrl($url)
  44.             ->setKey($key)
  45.             ->setReferer(\json_encode($request->headers->get('referer')));
  46.         $em->persist($stat);
  47.         $em->flush();
  48.         return $this->redirect($url);
  49.     }
  50.     /**
  51.      * @Route("/conditions", name="mmpp_front_conditions", host="%inscription_host%")
  52.      */
  53.     public function conditionAction(EntityManagerInterface $em)
  54.     {
  55.         $conditions $em->getRepository(Condition::class)
  56.             ->findAll();
  57.         return $this->render('preinscription/conditions.html.twig', array(
  58.             'path' => 'condition',
  59.             'conditions' => $conditions[0],
  60.         ));
  61.     }
  62.     /**
  63.      * @Route("/privacy", name="front_privacy", host="%inscription_host%")
  64.      */
  65.     public function privacy()
  66.     {
  67.         return $this->render('preinscription/privacy.html.twig');
  68.     }
  69. }