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;
 }
예제 #2
0
 /**
  * @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);
 }