src/Controller/MainController.php line 90

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use App\Form\ContactType;
  4. use App\Model\ContactModel;
  5. use App\Service\MailChimpService;
  6. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  7. use Symfony\Component\HttpFoundation\Request;
  8. use Symfony\Component\HttpFoundation\Response;
  9. use Symfony\Component\Routing\Annotation\Route;
  10. class MainController extends AbstractController
  11. {
  12.     /**
  13.      * @param Request $request
  14.      * @return Response
  15.      * @Route("/", name="home")
  16.      */
  17.     public function index(Request $request): Response
  18.     {
  19.         return $this->render('main/index.html.twig', []);
  20.     }
  21.     /**
  22.      * @param Request $request
  23.      * @return Response
  24.      * @Route("/eligible", name="eligible")
  25.      */
  26.     public function eligible(Request $request): Response
  27.     {
  28.         return $this->render('main/eligible.html.twig', []);
  29.     }
  30.     /**
  31.      * @param Request $request
  32.      * @return Response
  33.      * @Route("/eligible-result", name="eligible_result")
  34.      */
  35.     public function eligibleResult(Request $request): Response
  36.     {
  37.         return $this->render('main/eligible-result.html.twig', []);
  38.     }
  39.     /**
  40.      * @param Request $request
  41.      * @return Response
  42.      * @Route("/eligible-error", name="eligible_error")
  43.      */
  44.     public function eligibleError(Request $request): Response
  45.     {
  46.         return $this->render('main/eligible-error.html.twig', []);
  47.     }
  48.     /**
  49.      * @param Request $request
  50.      * @return Response
  51.      * @Route("/subscribe", name="subscribe")
  52.      */
  53.     public function subscribe(Request $request): Response
  54.     {
  55.         return $this->render('main/subscribe.html.twig', []);
  56.     }
  57.     /**
  58.      * @param Request $request
  59.      * @return Response
  60.      * @Route("/subscribe-error", name="subscribe_error")
  61.      */
  62.     public function subscribeError(Request $request): Response
  63.     {
  64.         return $this->render('main/subscription-error.html.twig', []);
  65.     }
  66.     /**
  67.      * @param Request $request
  68.      * @return Response
  69.      * @Route("/user", name="user")
  70.      */
  71.     public function user(Request $request): Response
  72.     {
  73.         return $this->render('main/user-information.html.twig', []);
  74.     }
  75.     /**
  76.      * @param Request $request
  77.      * @return Response
  78.      * @Route("/contact", name="contact")
  79.      */
  80.     public function contact(Request $requestMailChimpService $chimpService): Response
  81.     {
  82.         $model = new ContactModel();
  83.         $form $this->createForm(ContactType::class, $model);
  84.         $form->handleRequest($request);
  85.         if ($form->isSubmitted() && $form->isValid()) {
  86.             $referer $request->headers->get('referer');
  87.             $chimpService->addMemberToList($model->getEmail());
  88.         }
  89.         return $this->render('main/contact.html.twig', [
  90.             'form' => $form->createView()
  91.         ]);
  92.     }
  93. }