src/Controller/MainController.php line 26

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\Bridge\Twig\Mime\TemplatedEmail;
  7. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  8. use Symfony\Component\HttpFoundation\Request;
  9. use Symfony\Component\HttpFoundation\Response;
  10. use Symfony\Component\Mailer\Exception\TransportExceptionInterface;
  11. use Symfony\Component\Mailer\MailerInterface;
  12. use Symfony\Component\Mime\Email;
  13. use Symfony\Component\Routing\Annotation\Route;
  14. use Symfony\Component\Serializer\Serializer;
  15. use Symfony\Contracts\HttpClient\HttpClientInterface;
  16. class MainController extends AbstractController
  17. {
  18.     /**
  19.      * @param Request $request
  20.      * @return Response
  21.      * @Route("/", name="home")
  22.      */
  23.     public function index(Request $request): Response
  24.     {
  25.         return $this->render('main/index.html.twig', []);
  26.     }
  27.     /**
  28.      * @param Request $request
  29.      * @return Response
  30.      * @Route("/eligible", name="eligible")
  31.      */
  32.     public function eligible(Request $request): Response
  33.     {
  34.         return $this->render('main/eligible.html.twig', []);
  35.     }
  36.     /**
  37.      * @param Request $request
  38.      * @return Response
  39.      * @Route("/eligible-result", name="eligible_result")
  40.      */
  41.     public function eligibleResult(Request $request): Response
  42.     {
  43.         return $this->render('main/eligible-result.html.twig', []);
  44.     }
  45.     /**
  46.      * @param Request $request
  47.      * @return Response
  48.      * @Route("/eligible-error", name="eligible_error")
  49.      */
  50.     public function eligibleError(Request $request): Response
  51.     {
  52.         return $this->render('main/eligible-error.html.twig', []);
  53.     }
  54.     /**
  55.      * @param Request $request
  56.      * @return Response
  57.      * @Route("/user-error", name="user_error")
  58.      */
  59.     public function userError(Request $request): Response
  60.     {
  61.         return $this->render('main/user-error.html.twig', []);
  62.     }
  63.     /**
  64.      * @param Request $request
  65.      * @return Response
  66.      * @Route("/subscribe", name="subscribe")
  67.      */
  68.     public function subscribe(Request $request): Response
  69.     {
  70.         return $this->render('main/subscribe.html.twig', []);
  71.     }
  72.     /**
  73.      * @param Request $request
  74.      * @return Response
  75.      * @Route("/subscribe-error", name="subscribe_error")
  76.      */
  77.     public function subscribeError(Request $request): Response
  78.     {
  79.         return $this->render('main/subscription-error.html.twig', []);
  80.     }
  81.     /**
  82.      * @param Request $request
  83.      * @return Response
  84.      * @Route("/contact", name="contact")
  85.      */
  86.     public function contact(Request $requestMailChimpService $chimpServiceMailerInterface $mailer): Response
  87.     {
  88.         $model = new ContactModel();
  89.         $form $this->createForm(ContactType::class, $model);
  90.         $form->handleRequest($request);
  91.         if ($form->isSubmitted()) {
  92.             $referer $request->headers->get('referer');
  93. //            $chimpService->addMemberToList($model->getEmail());
  94.             $chimpService->sendEmail();
  95.           /*  try {
  96.                 $email = (new Email())
  97.                     ->from('sarah@be-rp.fr')
  98.                     ->text('wwwwwwwwwwwwwwwwwww')
  99.                     ->to('tmabrahamyan@gmail.com');
  100.                 dd($mailer->send($email));
  101.                 return $this->redirect($referer);
  102.             } catch (\Exception $e) {
  103.                 dd($e->getMessage());
  104.             } catch (TransportExceptionInterface $e) {
  105.                 dd($e);
  106.             }*/
  107.         }
  108.         return $this->render('main/contact.html.twig', [
  109.             'form' => $form->createView()
  110.         ]);
  111.     }
  112. }