3 namespace Wallabag\CoreBundle\EventListener
;
5 use Symfony\Component\EventDispatcher\EventDispatcherInterface
;
6 use Symfony\Component\EventDispatcher\EventSubscriberInterface
;
7 use Doctrine\ORM\EntityManager
;
8 use FOS\UserBundle\Event\FilterUserResponseEvent
;
9 use FOS\UserBundle\FOSUserEvents
;
10 use Wallabag\CoreBundle\Entity\Config
;
12 class RegistrationConfirmedListener
implements EventSubscriberInterface
20 public function __construct(EntityManager
$em, $theme, $itemsOnPage, $rssLimit, $language)
23 $this->theme
= $theme;
24 $this->itemsOnPage
= $itemsOnPage;
25 $this->rssLimit
= $rssLimit;
26 $this->language
= $language;
29 public static function getSubscribedEvents()
32 FOSUserEvents
::REGISTRATION_CONFIRMED
=> 'authenticate',
36 public function authenticate(FilterUserResponseEvent
$event, $eventName = null, EventDispatcherInterface
$eventDispatcher = null)
38 if (!$event->getUser()->isEnabled()) {
42 $config = new Config($event->getUser());
43 $config->setTheme($this->theme
);
44 $config->setItemsPerPage($this->itemsOnPage
);
45 $config->setRssLimit($this->rssLimit
);
46 $config->setLanguage($this->language
);
47 $this->em
->persist($config);