vendor/globunet/user-bundle/EventListener/EmailUserCreatedListener.php line 40

Open in your IDE?
  1. <?php
  2. namespace Globunet\UserBundle\EventListener;
  3. use Symfony\Component\EventDispatcher\EventSubscriberInterface;
  4. use FOS\UserBundle\Event\UserEvent;
  5. use FOS\UserBundle\FOSUserEvents;
  6. use FOS\UserBundle\Mailer\MailerInterface;
  7. use FOS\UserBundle\Util\TokenGeneratorInterface;
  8. use Globunet\CoreBundle\Util\Util;
  9. class EmailUserCreatedListener implements EventSubscriberInterface
  10. {
  11.     private $mailer;
  12.     /**
  13.      * EmailConfirmationListener constructor.
  14.      *
  15.      * @param MailerInterface         $mailer
  16.      * @param TokenGeneratorInterface $tokenGenerator
  17.      */
  18.     public function __construct(MailerInterface $mailer)
  19.     {
  20.         $this->mailer $mailer;
  21.     }
  22.     /**
  23.      * @return array
  24.      */
  25.     public static function getSubscribedEvents()
  26.     {
  27.         return array(
  28.             FOSUserEvents::USER_CREATED => 'onCreatedSuccess',
  29.         );
  30.     }
  31.     /**
  32.      * @param FormEvent $event
  33.      */
  34.     public function onCreatedSuccess(UserEvent $event)
  35.     {
  36.         /** @var $user \FOS\UserBundle\Model\UserInterface */
  37.         $user $event->getUser();
  38.         $request $event->getRequest();
  39.         if($request != null){
  40.             $parameters $request->request->all();
  41.             $password Util::elementSearch$parameters'first''key');
  42.             //$password = ($parameters && $parameters['plainPassword'] && $parameters['plainPassword']['first'])?$parameters['plainPassword']['first']:"";
  43.             $data $request->query->all();
  44.             if(!array_key_exists("password"$data)){
  45.                 $data["password"] = $password;
  46.             }
  47.             $data["username"] = $user->getUsername();
  48.             $data["email"] = $user->getEmail();
  49.             $this->mailer->sendCreatedEmailMessage($data);
  50.         }
  51.     }
  52. }