/** * Subscribes an email to a list * (depending on the list type) * * @param string email * @param string $list */ public function subscribeMemberTo($email, $list) { $subscriber = Subscriber::firstOrCreate(compact('email')); $list = MailingList::findOrFail($list); if ($this->isMemberSubscribedTo($subscriber, $list)) { return; } $list->subscribers()->attach($subscriber); if ($list->type === 'mailchimp') { $this->subscribeToMailchimpList($subscriber, $list); } }