本文整理汇总了PHP中Mage_Newsletter_Model_Subscriber::setStatus方法的典型用法代码示例。如果您正苦于以下问题:PHP Mage_Newsletter_Model_Subscriber::setStatus方法的具体用法?PHP Mage_Newsletter_Model_Subscriber::setStatus怎么用?PHP Mage_Newsletter_Model_Subscriber::setStatus使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Mage_Newsletter_Model_Subscriber
的用法示例。
在下文中一共展示了Mage_Newsletter_Model_Subscriber::setStatus方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: setStatus
/**
* Synchronize the status as the following table shows
* Mage = Rapidmail Statuslist
* <ul>
* <li>NOT_ACTIVE = NEW</li>
* <li>SUBSCRIBED = ACTIVE</li>
* <li>UNSUBSCRIBED = DELETED</li>
* </ul>
* @param <type> $value
* @return <type>
*/
public function setStatus($value)
{
// Set Rapidmail Status to new
if ($value == Mage_Newsletter_Model_Subscriber::STATUS_NOT_ACTIVE) {
$this->setRapidmailStatus(Narfstudios_Rapidmail_Model_Status::STATUS_NEW);
$this->save();
// Set Rapidmail Status to active
} else {
if ($value == Mage_Newsletter_Model_Subscriber::STATUS_SUBSCRIBED && $this->getEmail() != "") {
Mage::helper('rapidmail')->activateMail($this->getEmail());
$this->setRapidmailStatus(Narfstudios_Rapidmail_Model_Status::STATUS_ACTIVE);
$this->save();
// Set Rapidmail Status as deleted
} else {
if ($value == Mage_Newsletter_Model_Subscriber::STATUS_UNSUBSCRIBED) {
$this->setRapidmailStatus(Narfstudios_Rapidmail_Model_Status::STATUS_DELETED);
$this->save();
}
}
}
return parent::setStatus($value);
}
示例2: _makeTransactional
/**
* Handle setting subscriber as transactional in bronto queue and
* removing from magento subscription
*
* @param Mage_Newsletter_Model_Subscriber $subscriber
* @param string $email
*
* @return boolean|Mage_Newsletter_Model_Subscriber
*/
private function _makeTransactional(Mage_Newsletter_Model_Subscriber $subscriber, $email)
{
/* @var $contact Bronto_Api_Contact_Row */
if (!($contact = $this->_getBrontoContact($email))) {
$this->_helper->writeError('Unable to create contact object');
return false;
}
// Get Customer using the email provided
$customerId = Mage::getModel('customer/customer')->setWebsiteId(Mage::app()->getStore()->getWebsiteId())->loadByEmail($email)->getId();
if (!$customerId) {
$customerId = Mage::getSingleton('customer/session')->getId();
}
// Set Magento Subscriber and Status
$subscriber->setCustomerId($customerId)->setSubscriberEmail($email)->setStoreId(Mage::app()->getStore()->getId())->setStatus(Mage_Newsletter_Model_Subscriber::STATUS_NOT_ACTIVE)->save();
if ($contact->status == Bronto_Api_Contact::STATUS_UNSUBSCRIBED) {
$subscriber->setStatus(Mage_Newsletter_Model_Subscriber::STATUS_UNSUBSCRIBED);
} else {
$subscriber->setStatus(Mage_Newsletter_Model_Subscriber::STATUS_NOT_ACTIVE);
}
$subscriber->save();
return $subscriber;
}