/** * Sync after forceWrite function execution at AW_Advancednewsletter_Model_Subscriber * @param AW_Advancednewsletter_Model_Subscriber $subscriber * @return AW_Advancednewsletter_Model_Sync_Mailchimp */ public function forceWrite($subscriber) { /** * If subscriber status = unsubscribed */ if ($subscriber->getStatus() == AW_Advancednewsletter_Model_Subscriber::STATUS_UNSUBSCRIBED) { /** * If subscribers store or email changed, remove subscriber from list and subscribe new one */ if ($subscriber->getOrigData('store_id') != $subscriber->getData('store_id') || $subscriber->getOrigData('email') != $subscriber->getData('email')) { $this->deleteOptional($subscriber->getOrigData('email'), $subscriber->getOrigData('store_id')); $this->subscribe($subscriber->setIsNew(true)); } $this->unsubscribeFromList($subscriber->getData('email'), $subscriber->getData('store_id')); } /** * If subscriber status = subscribed */ if ($subscriber->getStatus() == AW_Advancednewsletter_Model_Subscriber::STATUS_SUBSCRIBED) { $this->subscribe($subscriber); } return $this; }