Files
afup/sources/AppBundle/Controller/NewsletterController.php
Jean-Baptiste Nahan ab63791ce1 correction de la configuration (#767)
* correction de la configuration
* renommage des services pour preparer SF4
* remplacement des noms de service par les noms de classe
* ajout commentaire pour les services n'ayant pas de nom sous forme de nom de classe
2019-04-03 23:13:27 +02:00

47 lines
1.4 KiB
PHP

<?php
namespace AppBundle\Controller;
use AppBundle\Mailchimp\SubscriberType;
use Symfony\Component\HttpFoundation\Request;
class NewsletterController extends SiteBaseController
{
public function subscribeFormAction()
{
return $this->render(':site/newsletter:subscribe.html.twig', ['form' => $this->getSubscriberType()->createView()]);
}
public function subscribeAction(Request $request)
{
$subscribeForm = $this->getSubscriberType();
$subscribeForm->handleRequest($request);
if ($subscribeForm->isSubmitted() && $subscribeForm->isValid()) {
try {
$this->get(\AppBundle\Mailchimp\Mailchimp::class)->subscribeAddress(
$this->getParameter('mailchimp_subscribers_list'),
$subscribeForm->getData()['email']
);
$success = true;
} catch (\Exception $e) {
$success = false;
}
return $this->render(':site/newsletter:postsubscribe.html.twig', ['success' => $success]);
}
return $this->redirect('/');
}
private function getSubscriberType()
{
return $this
->createForm(SubscriberType::class, null, [
'action' => $this->generateUrl('newsletter_subscribe'),
'method' => Request::METHOD_POST
])
;
}
}