<?php
namespace AppBundle\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use AppBundle\Entity\Contract;
use Symfony\Component\HttpFoundation\Request;
use AppBundle\Form\ContactType;
use AppBundle\Services\Helper\WebsiteHelper;
use Doctrine\ORM\EntityManagerInterface;
use Symfony\Component\Mailer\MailerInterface;
use Symfony\Component\Mime\Email;
class DefaultController extends AbstractController
{
public function website404Action()
{
return $this->render('Default/website_404.html.twig');
}
public function indexAction()
{
return $this->redirectToRoute('webmaster_login');
}
public function cguAction(EntityManagerInterface $em)
{
$cgu = $em->getRepository(Contract::class)->findOneByIsCurrent(true);
return $this->render('Default/cgu.html.twig', [
'cgu' => $cgu,
]);
}
public function domaineAction(WebsiteHelper $websiteHelper)
{
$website = $websiteHelper->getCurrentWebsite(true);
return $this->render('Default/domaine.html.twig', [
'website' => $website,
]);
}
public function contactAction(Request $request, WebsiteHelper $websiteHelper, MailerInterface $mailer)
{
$website = $websiteHelper->getCurrentWebsite();
$form = $this->createForm(ContactType::class);
$form->handleRequest($request);
if($form->isSubmitted() && $form->isValid()) {
$data = $form->getData();
$mailFrom = $this->getParameter('mail_from');
$email = (new Email())
->from($mailFrom)
->to($website->getContactEmail())
->subject('FFS - Nouveau message de votre site')
->html($this->renderView('Mail/contact.html.twig', ['data' => $data]));
$mailer->send($email);
$this->addFlash('success', 'Votre demande de contact a bien été envoyée.');
if($this->getParameter('current_website_by_domain') === true) {
$url = $this->generateUrl('website_home');
}
else {
$url = $this->generateUrl('website_home', ['website' => $website->getSlug()]);
}
return $this->redirect($url);
}
return $this->render('Default/contact.html.twig', [
'website' => $website,
'form' => $form->createView()
]);
}
}