/**
  * @param Subscription $subscription
  */
 public function invokeOptOutAction(Subscription $subscription)
 {
     if (FALSE === $this->subscriptionService->optOut($subscription->getEmail())) {
         $message = 'tx_supermailerreg_message.email_not_registered';
     } else {
         $message = 'tx_supermailerreg_message.check_confirmation_mail';
     }
     $this->addFlashMessage(LocalizationUtility::translate($message, 'Supermailerreg'));
     $this->redirect('subscribe');
 }
 /**
  * @param Subscription $subscription
  * @return bool
  */
 public function optIn(Subscription $subscription)
 {
     $isNewSubscription = TRUE;
     $existingSubscription = $this->subscriptionRepository->findExisting($subscription->getEmail());
     if (NULL !== $existingSubscription) {
         if (TRUE === $existingSubscription->isConfirmed()) {
             return FALSE;
         } else {
             $isNewSubscription = FALSE;
             $subscription = $existingSubscription;
         }
     }
     $token = $this->createToken($subscription->getEmail());
     $subscription->setToken($token);
     if (TRUE === $isNewSubscription) {
         $this->subscriptionRepository->add($subscription);
     } else {
         $this->subscriptionRepository->update($subscription);
     }
     $this->emailService->sendOptInMail($subscription);
     return TRUE;
 }
Example #3
0
 /**
  * @param Subscription $subscription
  */
 public function sendUnsubscribeConfirmationMail(Subscription $subscription)
 {
     $variables = ['subscription' => $subscription];
     $fromMail = $this->settings['settings']['controlMail'];
     $toMail = $subscription->getEmail();
     $subject = LocalizationUtility::translate('tx_supermailerreg_mail.subject_confirmation_mail', 'Supermailerreg');
     $this->send($toMail, $fromMail, 'Newsletter', 'Newsletter', $subject, 'UnsubscribeConfirmation', TRUE, $variables);
 }