public function subscribe($email, $list = NULL) { if (!is_null($list)) { $list = $this->findOrCreateList($list); } $subscriber = new Subscriber(); $subscriber->email = $email; $subscriber->save(); }
/** * @param string $email * @param string|NULL $listName */ public function unsubscribe($email, $listName = NULL) { $subscriber = Subscriber::where('email', $email)->first(); if (is_null($subscriber)) { return; } foreach ($subscriber->lists as $list) { if ($list->name == $listName || $listName === NULL) { $list->subscribers()->detach($subscriber); } } if (is_null($listName)) { $subscriber->delete(); } }