mirror of
https://github.com/quentin-g-dev/afup.git
synced 2026-03-24 17:22:06 +01:00
40 lines
1.2 KiB
PHP
40 lines
1.2 KiB
PHP
<?php
|
|
|
|
namespace AppBundle\Controller;
|
|
|
|
use AppBundle\Association\Model\Repository\TechletterUnsubscriptionsRepository;
|
|
use Symfony\Component\HttpFoundation\Request;
|
|
use Symfony\Component\HttpFoundation\Response;
|
|
|
|
class TechletterController extends SiteBaseController
|
|
{
|
|
public function indexAction()
|
|
{
|
|
return $this->render('site/techletter/index.html.twig');
|
|
}
|
|
|
|
/**
|
|
* @param Request $request
|
|
*
|
|
* @return Response
|
|
*/
|
|
public function webhookAction(Request $request)
|
|
{
|
|
if ($request->get('webhook_key') != $this->getParameter('mailchimp_techletter_webhook_key')) {
|
|
return new Response('ko', 401);
|
|
}
|
|
|
|
if (Request::METHOD_GET == $request->getMethod()) {
|
|
return new Response('ok');
|
|
}
|
|
|
|
if ($request->get('type') == 'unsubscribe') {
|
|
$techletterUnsubscriptionRepository = $this->get('ting')->get(TechletterUnsubscriptionsRepository::class);
|
|
$techletterUnsubscription = $techletterUnsubscriptionRepository->createFromWebhookData($request->get('data', []));
|
|
$techletterUnsubscriptionRepository->save($techletterUnsubscription);
|
|
}
|
|
|
|
return new Response('ok');
|
|
}
|
|
}
|