protected function createNewsletterLog($className, NewsletterInterface $newsletter, SubscriberInterface $subscriber, $message) { /* @var $log \Ibrows\Bundle\NewsletterBundle\Model\Log\LogInterface */ $log = new $className(); $log->setNewsletterId($newsletter->getId())->setSubscriberId($subscriber->getId())->setSubscriberEmail($subscriber->getEmail())->setMessage($message)->setMandantName($this->mandantName); if ($subscriber instanceof SubscriberGenderTitleInterface) { $log->setSubscriberCompanyname($subscriber->getCompanyname())->setSubscriberFirstname($subscriber->getFirstname())->setSubscriberGender($subscriber->getGender())->setSubscriberLastname($subscriber->getLastname())->setSubscriberTitle($subscriber->getTitle()); } if ($subscriber instanceof SubscriberLocaleInterface) { $log->setSubscriberLocale($subscriber->getLocale()); } return $log; }
/** * @param SubscriberInterface $subscriber * @return Newsletter */ public function removeSubscriber(SubscriberInterface $subscriber) { $subscriber->removeNewsletter($this); $this->subscribers->removeElement($subscriber); return $this; }
/** * @param MandantInterface $mandant * @param NewsletterInterface $newsletter * @param SubscriberInterface $subscriber * @param $context * @return string */ public function unsubscribelink(MandantInterface $mandant, NewsletterInterface $newsletter, SubscriberInterface $subscriber, $context) { return $this->router->generate('ibrows_newsletter_unsubscribe', array('mandantHash' => $mandant->getHash(), 'newsletterHash' => $newsletter->getHash(), 'subscriberHash' => $subscriber->getHash(), 'context' => $context), true); }