public function cleanupCommand() { $settings = $this->getSettings(); $obsoleteAfterHours = 24; if (TRUE === isset($settings['obsoleteAfterHours'])) { $obsoleteAfterHours = $settings['obsoleteAfterHours']; } $subscriptions = $this->subscriptionRepository->findObsolete($obsoleteAfterHours); foreach ($subscriptions as $subscription) { $this->subscriptionRepository->remove($subscription); } $this->response->setContent('Obsolete subscriptions: ' . $subscriptions->count() . LF); $this->response->send(); }
/** * @param string $email * @param string $token * @return bool */ public function remove($email, $token) { $subscription = $this->subscriptionRepository->findByEmailAndToken($email, $token, TRUE); if (NULL === $subscription) { return FALSE; } $this->subscriptionRepository->remove($subscription); $this->emailService->sendUnsubscribeConfirmationMail($subscription); $this->emailService->sendControlMail('unsubscribe', $subscription); return TRUE; }