|
<?php |
|
|
|
namespace AppBundle\Controller; |
|
|
|
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route; |
|
use Symfony\Bundle\FrameworkBundle\Controller\Controller; |
|
use Symfony\Component\HttpFoundation\Request; |
|
use Symfony\Component\HttpFoundation\Response; |
|
use Acme\Bundle\NewsletterBundle\Manager\NewsletterManager; |
|
|
|
class NewsletterController extends Controller |
|
{ |
|
/** |
|
* @Route("/newsletter/subscribe/{emailAddress}", name="subscribe") |
|
*/ |
|
public function subscribeAction($emailAddress) |
|
{ |
|
$responseMessage = 'failed'; |
|
if ($emailAddress) { |
|
$success = $this->getNewsletterManager()->subscribe($emailAddress); |
|
|
|
if ($success) { |
|
$responseMessage = 'Added ' . $emailAddress . ' to newsletter'; |
|
} |
|
} |
|
|
|
return new Response($responseMessage); |
|
} |
|
|
|
/** |
|
* @Route("/newsletter/unsubscribe/{emailAddress}", name="unsubscribe") |
|
*/ |
|
public function unsubscribeAction($emailAddress) |
|
{ |
|
$responseMessage = 'failed'; |
|
if ($emailAddress) { |
|
$success = $this->getNewsletterManager()->unsubscribe($emailAddress); |
|
|
|
if ($success) { |
|
$responseMessage = 'Unsubscribed ' . $emailAddress . ' from newsletter'; |
|
} |
|
} |
|
|
|
return new Response($responseMessage); |
|
} |
|
|
|
/** |
|
* @Route("/newsletter/send", name="send") |
|
*/ |
|
public function sendAction(Request $request) |
|
{ |
|
$subject = $request->get('subject'); |
|
$message = $request->get('message'); |
|
|
|
$responseMessage = 'failed'; |
|
if ($subject && $message) { |
|
$this->getNewsletterManager()->sendNewsletter($subject, $message); |
|
$responseMessage = 'done'; |
|
} |
|
|
|
return new Response($responseMessage); |
|
} |
|
|
|
/** |
|
* Get newsletter manager from container |
|
* |
|
* @return NewsletterManager |
|
*/ |
|
private function getNewsletterManager() |
|
{ |
|
return $this->get('acme_newsletter.newsletter_manager'); |
|
} |
|
} |