| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 | 
							- <?php
 - 
 - /*
 -  * This file is part of the FOSUserBundle package.
 -  *
 -  * (c) FriendsOfSymfony <http://friendsofsymfony.github.com/>
 -  *
 -  * For the full copyright and license information, please view the LICENSE
 -  * file that was distributed with this source code.
 -  */
 - 
 - namespace FOS\UserBundle\Mailer;
 - 
 - use Symfony\Bundle\FrameworkBundle\Templating\EngineInterface;
 - use Symfony\Component\Routing\RouterInterface;
 - use FOS\UserBundle\Model\UserInterface;
 - use FOS\UserBundle\Mailer\MailerInterface;
 - 
 - /**
 -  * @author Thibault Duplessis <thibault.duplessis@gmail.com>
 -  */
 - class Mailer implements MailerInterface
 - {
 -     protected $mailer;
 -     protected $router;
 -     protected $templating;
 -     protected $parameters;
 - 
 -     public function __construct($mailer, RouterInterface $router, EngineInterface $templating, array $parameters)
 -     {
 -         $this->mailer = $mailer;
 -         $this->router = $router;
 -         $this->templating = $templating;
 -         $this->parameters = $parameters;
 -     }
 - 
 -     public function sendConfirmationEmailMessage(UserInterface $user)
 -     {
 -         $template = $this->parameters['confirmation.template'];
 -         $url = $this->router->generate('fos_user_registration_confirm', array('token' => $user->getConfirmationToken()), true);
 -         $rendered = $this->templating->render($template, array(
 -             'user' => $user,
 -             'confirmationUrl' =>  $url
 -         ));
 -         $this->sendEmailMessage($rendered, $this->parameters['from_email']['confirmation'], $user->getEmail());
 -     }
 - 
 -     public function sendResettingEmailMessage(UserInterface $user)
 -     {
 -         $template = $this->parameters['resetting.template'];
 -         $url = $this->router->generate('fos_user_resetting_reset', array('token' => $user->getConfirmationToken()), true);
 -         $rendered = $this->templating->render($template, array(
 -             'user' => $user,
 -             'confirmationUrl' => $url
 -         ));
 -         $this->sendEmailMessage($rendered, $this->parameters['from_email']['resetting'], $user->getEmail());
 -     }
 - 
 -     /**
 -      * @param string $renderedTemplate
 -      * @param string $toEmail
 -      */
 -     protected function sendEmailMessage($renderedTemplate, $fromEmail, $toEmail)
 -     {
 -         // Render the email, use the first line as the subject, and the rest as the body
 -         $renderedLines = explode("\n", trim($renderedTemplate));
 -         $subject = $renderedLines[0];
 -         $body = implode("\n", array_slice($renderedLines, 1));
 - 
 -         $message = \Swift_Message::newInstance()
 -             ->setSubject($subject)
 -             ->setFrom($fromEmail)
 -             ->setTo($toEmail)
 -             ->setBody($body);
 - 
 -         $this->mailer->send($message);
 -     }
 - }
 
 
  |