/** * @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; }
/** * @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); }