src/AppBundle/Controller/DefaultController.php line 16

Open in your IDE?
  1. <?php
  2. namespace AppBundle\Controller;
  3. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  4. use AppBundle\Entity\Contract;
  5. use Symfony\Component\HttpFoundation\Request;
  6. use AppBundle\Form\ContactType;
  7. use AppBundle\Services\Helper\WebsiteHelper;
  8. use Doctrine\ORM\EntityManagerInterface;
  9. use Symfony\Component\Mailer\MailerInterface;
  10. use Symfony\Component\Mime\Email;
  11. class DefaultController extends AbstractController
  12. {
  13.     public function website404Action()
  14.     {
  15.         return $this->render('Default/website_404.html.twig');
  16.     }
  17.     public function indexAction()
  18.     {
  19.         return $this->redirectToRoute('webmaster_login');
  20.     }
  21.     public function cguAction(EntityManagerInterface $em)
  22.     {
  23.         $cgu $em->getRepository(Contract::class)->findOneByIsCurrent(true);
  24.         return $this->render('Default/cgu.html.twig', [
  25.             'cgu' => $cgu,
  26.         ]);
  27.     }
  28.     public function domaineAction(WebsiteHelper $websiteHelper)
  29.     {
  30.         $website $websiteHelper->getCurrentWebsite(true);
  31.         return $this->render('Default/domaine.html.twig', [
  32.             'website' => $website,
  33.         ]);
  34.     }
  35.     public function contactAction(Request $requestWebsiteHelper $websiteHelperMailerInterface $mailer)
  36.     {
  37.         $website $websiteHelper->getCurrentWebsite();
  38.         $form $this->createForm(ContactType::class);
  39.         
  40.         $form->handleRequest($request);
  41.         if($form->isSubmitted() && $form->isValid()) {
  42.             $data $form->getData();
  43.             $mailFrom $this->getParameter('mail_from');
  44.             $email = (new Email())
  45.                 ->from($mailFrom)
  46.                 ->to($website->getContactEmail())
  47.                 ->subject('FFS - Nouveau message de votre site')
  48.                 ->html($this->renderView('Mail/contact.html.twig', ['data' => $data]));
  49.             $mailer->send($email);
  50.             
  51.             $this->addFlash('success''Votre demande de contact a bien été envoyée.');
  52.             if($this->getParameter('current_website_by_domain') === true) {
  53.                 $url $this->generateUrl('website_home');
  54.             }
  55.             else {
  56.                 $url $this->generateUrl('website_home', ['website' => $website->getSlug()]);
  57.             }
  58.             return $this->redirect($url);
  59.         }
  60.         return $this->render('Default/contact.html.twig', [
  61.             'website' => $website,
  62.             'form'    => $form->createView()
  63.         ]);
  64.     }
  65. }