mirror of
https://github.com/quentin-g-dev/afup.git
synced 2026-03-25 17:52:13 +01:00
* 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
47 lines
1.4 KiB
PHP
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
|
|
])
|
|
;
|
|
}
|
|
}
|