Пример #1
0
 /**
  * Unsubscribe the given user from the given list.
  *
  * @param  \TYPO3\CMS\Extbase\Domain\Model\FrontendUser        $user User to unsubscribe from list
  * @param  \Tev\TevMailchimp\Domain\Model\Mlist                $list List to unsubscribe user from
  * @return \TYPO3\CMS\Extbase\Persistence\QueryResultInterface       All lists the user is subscribed to
  */
 public function unsubscribeUserFromList(FrontendUser $user, Mlist $list)
 {
     $user = $this->castUser($user);
     $this->unsubscribeFromList($this->getEmailFromUser($user), $list);
     $list->removeFeUser($user);
     $this->mListRepo->update($list);
     $this->pm->persistAll();
 }
Пример #2
0
 /**
  * Handle a successful unsubscription by updating the local database.
  *
  * @param  string $email    Email address that was unsubscribed
  * @param  string $mcListId Mailchimp list ID (remote)
  * @return void
  */
 private function unsubscribe($email, $mcListId)
 {
     $method = 'findOneBy' . $this->emailUtil->getFieldNameUpperCamel();
     $list = $this->mListRepo->findOneByMcListId($mcListId);
     $user = $this->feUserRepo->{$method}($email);
     if ($list && $user) {
         $list->removeFeUser($user);
         $this->mListRepo->update($list);
         $this->pm->persistAll();
     }
 }