Example #1
0
 private function notifySubscriber(SubscriberInterface $subscriber)
 {
     $link = $this->getRouter()->generate('enhavo_newsletter_subscribe_activate', array('token' => $subscriber->getToken()), true);
     $template = $this->getOption('template', $this->options, 'EnhavoNewsletterBundle:Subscriber:Email/double-opt-in.html.twig');
     $message = \Swift_Message::newInstance()->setSubject($this->getSubject())->setFrom($this->getOption('from', $this->options, '*****@*****.**'))->setTo($subscriber->getEmail())->setBody($this->renderTemplate($template, ['subscriber' => $subscriber, 'link' => $link]), 'text/html');
     $this->sendMessage($message);
 }
Example #2
0
 public function exists(SubscriberInterface $subscriber, $groupNames)
 {
     // subscriber has to be in ALL given groups to return true
     if ($this->getSubscriber($subscriber->getEmail()) === null) {
         return false;
     }
     $groupsSubscriberIsIn = $this->getSubscriber($subscriber->getEmail())->getGroup()->getValues();
     $subscriberGroupNames = [];
     /**
      * @var $group Group
      */
     foreach ($groupsSubscriberIsIn as $group) {
         $subscriberGroupNames[] = $group->getName();
     }
     foreach ($groupNames as $groupName) {
         $group = $this->manager->getRepository(Group::class)->findOneBy(['name' => $groupName]);
         if ($group === null) {
             return false;
         }
         if (!in_array($groupName, $subscriberGroupNames)) {
             return false;
         }
     }
     return true;
 }
Example #3
0
 private function notifyAdmin(SubscriberInterface $subscriber, $type)
 {
     $link = $this->getRouter()->generate('enhavo_newsletter_subscribe_accept', ['token' => $subscriber->getToken(), 'type' => $type], true);
     $template = $this->getOption('admin_template', $this->options, 'EnhavoNewsletterBundle:Subscriber:Email/accept-admin.html.twig');
     $message = \Swift_Message::newInstance()->setSubject($this->getAdminSubject())->setFrom($this->getOption('from', $this->options, '*****@*****.**'))->setTo($this->getOption('admin_email', $this->options, '*****@*****.**'))->setBody($this->renderTemplate($template, ['subscriber' => $subscriber, 'link' => $link]), 'text/html');
     $this->sendMessage($message);
 }
Example #4
0
 private function notifySubscriber(SubscriberInterface $subscriber)
 {
     if ($this->getOption('notify', $this->options, true)) {
         $template = $this->getOption('template', $this->options, 'EnhavoNewsletterBundle:Subscriber:Email/notify.html.twig');
         $message = \Swift_Message::newInstance()->setSubject($this->getSubject())->setFrom($this->getOption('from', $this->options, '*****@*****.**'))->setTo($subscriber->getEmail())->setBody($this->renderTemplate($template, ['subscriber' => $subscriber]), 'text/html');
         $this->sendMessage($message);
     }
 }
Example #5
0
 public function exists(SubscriberInterface $subscriber, $groupNames = [])
 {
     // subscriber has to be in ALL given groups to return true
     if ($groupNames === []) {
         throw new NoGroupException('no groups given');
     }
     foreach ($groupNames as $groupName) {
         if (!$this->cleverReachClient->exists($subscriber->getEmail(), $groupName)) {
             return false;
         }
     }
     return true;
 }
Example #6
0
 public function exists(SubscriberInterface $subscriber)
 {
     return $this->cleverReachClient->exists($subscriber->getEmail());
 }
Example #7
0
 protected function setToken(SubscriberInterface $subscriber)
 {
     $token = $this->container->get('fos_user.util.token_generator')->generateToken();
     $subscriber->setToken($token);
 }
Example #8
0
 public function exists(SubscriberInterface $subscriber)
 {
     return $this->getSubscriber($subscriber->getEmail()) !== null;
 }