/** * Unsubscribe an answerer from one or more lists. * * @param $answer_id * @param array $allLists */ public function unSubscribeAnswerer($answer_id, array $allLists = []) { // Update database record $this->answers->unSubscribeAnswererFromResults($answer_id); // Find the email for the answer, and unsubscribe it to the list $email = $this->answers->find($answer_id)->email; foreach ($allLists as $list) { $this->newsletter->unSubscribeFrom($list, $email); } }
/** * Unsubscribe from results. * * @param $email * * @return \Illuminate\View\View */ public function unSubscribeFromResults($email) { // Update database record try { $this->answers->unSubscribeToResults($email); } catch (NoAnswerFoundWithThisMailException $e) { return view('survey.error', ['message' => "Le mail {$email} n'existe pas dans la base de donnée !"]); } // Unsubscribe from mailing list try { $this->newsletter->unSubscribeFrom('Echo_results', $email); } catch (Mailchimp_List_NotSubscribed $e) { return view('survey.unsubscribed', compact('email')); } // Thank you for unsubscribing view return view('survey.unsubscribed', compact('email')); }