本文整理汇总了PHP中Mage_Newsletter_Model_Subscriber类的典型用法代码示例。如果您正苦于以下问题:PHP Mage_Newsletter_Model_Subscriber类的具体用法?PHP Mage_Newsletter_Model_Subscriber怎么用?PHP Mage_Newsletter_Model_Subscriber使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Mage_Newsletter_Model_Subscriber类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getSubscriptionObject
/**
* Get Customer Subscription Object Information
*
* @return Mage_Newsletter_Model_Subscriber
*/
public function getSubscriptionObject()
{
if (!$this->_subscription) {
$this->_subscription = Mage::getModel('Mage_Newsletter_Model_Subscriber');
$this->_subscription->loadByCustomer(Mage::getSingleton('Mage_Customer_Model_Session')->getCustomer());
}
return $this->_subscription;
}
示例2: _prepareSave
/**
* Preapares data for saving of subscriber
* Add the line for rapidmail status
*
* @param Mage_Newsletter_Model_Subscriber $subscriber
* @return array
*/
protected function _prepareSave(Mage_Newsletter_Model_Subscriber $subscriber)
{
$data = array();
$data['customer_id'] = $subscriber->getCustomerId();
$data['store_id'] = $subscriber->getStoreId() ? $subscriber->getStoreId() : 0;
$data['subscriber_status'] = $subscriber->getStatus();
$data['subscriber_email'] = $subscriber->getEmail();
$data['subscriber_confirm_code'] = $subscriber->getCode();
$data['rapidmail_status'] = $subscriber->getRapidmailStatus();
if ($subscriber->getIsStatusChanged()) {
$data['change_status_at'] = Mage::getSingleton('core/date')->gmtDate();
}
$validators = array('subscriber_email' => 'EmailAddress');
$filters = array();
$input = new Zend_Filter_Input($filters, $validators, $data);
$session = Mage::getSingleton($this->_messagesScope);
if ($input->hasInvalid() || $input->hasMissing()) {
foreach ($input->getMessages() as $message) {
if (is_array($message)) {
foreach ($message as $error) {
$session->addError($error);
}
} else {
$session->addError($message);
}
}
Mage::throwException(Mage::helper('newsletter')->__('Form was filled incorrectly'));
}
return $data;
}
示例3: send
/**
* Send mail to subscriber
*
* @param Mage_Newsletter_Model_Subscriber|string $subscriber subscriber Model or E-mail
* @param array $variables template variables
* @param string|null $name receiver name (if subscriber model not specified)
* @param Mage_Newsletter_Model_Queue|null $queue queue model, used for problems reporting.
* @return boolean
* @deprecated since 1.4.0.1
**/
public function send($subscriber, array $variables = array(), $name = null, Mage_Newsletter_Model_Queue $queue = null)
{
if (!$this->isValidForSend()) {
return false;
}
$email = '';
if ($subscriber instanceof Mage_Newsletter_Model_Subscriber) {
$email = $subscriber->getSubscriberEmail();
if (is_null($name) && ($subscriber->hasCustomerFirstname() || $subscriber->hasCustomerLastname())) {
$name = $subscriber->getCustomerFirstname() . ' ' . $subscriber->getCustomerLastname();
}
} else {
$email = (string) $subscriber;
}
if (Mage::getStoreConfigFlag(Mage_Core_Model_Email_Template::XML_PATH_SENDING_SET_RETURN_PATH)) {
$this->getMail()->setReturnPath($this->getTemplateSenderEmail());
}
ini_set('SMTP', Mage::getStoreConfig('system/smtp/host'));
ini_set('smtp_port', Mage::getStoreConfig('system/smtp/port'));
$mail = $this->getMail();
$mail->addTo($email, $name);
$text = $this->getProcessedTemplate($variables, true);
if ($this->isPlain()) {
$mail->setBodyText($text);
} else {
$mail->setBodyHTML($text);
}
$mail->setSubject($this->getProcessedTemplateSubject($variables));
$mail->setFrom($this->getTemplateSenderEmail(), $this->getTemplateSenderName());
try {
//$mail->send();
$mail->send(Mage::helper('smtp')->getTransport());
$this->_mail = null;
if (!is_null($queue)) {
$subscriber->received($queue);
}
} catch (Exception $e) {
if ($subscriber instanceof Mage_Newsletter_Model_Subscriber) {
// If letter sent for subscriber, we create a problem report entry
$problem = Mage::getModel('newsletter/problem');
$problem->addSubscriberData($subscriber);
if (!is_null($queue)) {
$problem->addQueueData($queue);
}
$problem->addErrorData($e);
$problem->save();
if (!is_null($queue)) {
$subscriber->received($queue);
}
} else {
// Otherwise throw error to upper level
throw $e;
}
return false;
}
return true;
}
示例4: sendSubscriberData
/**
* Send subscriber data through API
*
* @param Mage_Newsletter_Model_Subscriber $subscriber
* @return array
*
* @todo add unsubscribe functionality
*/
public function sendSubscriberData(Mage_Newsletter_Model_Subscriber $subscriber)
{
$this->_eventType = 'subscriber';
try {
$data = array('id' => $subscriber->getSubscriberEmail(), 'key' => 'email', 'keys' => array('email' => $subscriber->getSubscriberEmail()), 'keysconflict' => 'merge', 'lists' => array(Mage::helper('sailthruemail')->getNewsletterList() => 1), 'vars' => array('subscriberId' => $subscriber->getSubscriberId(), 'status' => $subscriber->getSubscriberStatus(), 'Website' => Mage::app()->getStore()->getWebsiteId(), 'Store' => Mage::app()->getStore()->getName(), 'Store Code' => Mage::app()->getStore()->getCode(), 'Store Id' => Mage::app()->getStore()->getId(), 'fullName' => $subscriber->getSubscriberFullName()), 'fields' => array('keys' => 1), 'optout_email' => $subscriber->getSubscriberStatus() != 1 ? 'blast' : 'none');
$response = $this->apiPost('user', $data);
$this->setCookie($response);
} catch (Sailthru_Email_Model_Client_Exception $e) {
Mage::logException($e);
} catch (Exception $e) {
Mage::logException($e);
}
return $this;
}
示例5: initSubscribe
public function initSubscribe(Mage_Newsletter_Model_Subscriber $subscriber, $options = null, $props = null)
{
$result = '';
try {
$email = $subscriber->getSubscriberEmail();
$firstname = null;
if ($subscriber->hasCustomerFirstname()) {
$firstname = $subscriber->getCustomerFirstname();
}
$lastname = null;
if ($subscriber->hasCustomerLastname()) {
$lastname = $subscriber->getCustomerLastname();
}
$listId = Mage::helper('newsman_newsletter')->getListId();
$ip = Mage::helper('core/http')->getRemoteAddr();
$result = $this->getClient()->subscriber->initSubscribe($listId, $email, $firstname, $lastname, $ip, $props, $options);
if ($result == '') {
Mage::throwException(Mage::helper('newsman_newsletter')->__('Error on method subscriber.initSubscribe'));
}
} catch (Exception $e) {
Mage::logException($e);
}
return $result;
}
示例6: addSubscriberData
/**
* Add Subscriber Data
*
* @param Mage_Newsletter_Model_Subscriber $subscriber
* @return Mage_Newsletter_Model_Problem
*/
public function addSubscriberData(Mage_Newsletter_Model_Subscriber $subscriber)
{
$this->setSubscriberId($subscriber->getId());
return $this;
}
示例7: received
public function received(Mage_Newsletter_Model_Subscriber $subscriber, Mage_Newsletter_Model_Queue $queue)
{
$this->_write->beginTransaction();
try {
$data['letter_sent_at'] = now();
$this->_write->update($this->_subscriberLinkTable, $data, array($this->_write->quoteInto('subscriber_id=?', $subscriber->getId()), $this->_write->quoteInto('queue_id=?', $queue->getId())));
$this->_write->commit();
} catch (Exception $e) {
$this->_write->rollBack();
Mage::throwException(Mage::helper('newsletter')->__('Cannot mark as received subscriber'));
}
return $this;
}
示例8: _anonymizeNewsletterSubscriber
/**
* @param Mage_Newsletter_Model_Subscriber $subscriber
* @param array $randomData
*/
protected function _anonymizeNewsletterSubscriber($subscriber, $randomData)
{
$subscriber->setData('subscriber_email', $randomData['email']);
$subscriber->getResource()->save($subscriber);
$this->_anonymizedNewsletterSubscriberIds[] = $subscriber->getId();
}
示例9: _filterSubscriber
/**
* @param Mage_Newsletter_Model_Subscriber $subscriber
*
* @return Bronto_Common_Model_Email_Template_Filter
*/
protected function _filterSubscriber(Mage_Newsletter_Model_Subscriber $subscriber)
{
if (!in_array('subscriber', $this->_filteredObjects)) {
$customer = Mage::getModel('customer/customer')->load($subscriber->getCustomerId());
$this->_filterCustomer($customer);
$this->_filteredObjects[] = 'subscriber';
}
return $this;
}
示例10: sendConfirmationSuccessEmail
public function sendConfirmationSuccessEmail()
{
if (Mage::getStoreConfig('monkey/general/active', Mage::helper('monkey')->getThisStore()) == 1) {
return $this;
} else {
return parent::sendConfirmationSuccessEmail();
}
}
示例11: sendUnsubscriptionEmail
public function sendUnsubscriptionEmail()
{
if (!Mage::getStoreConfig('remarketing/subscription/unsubscribe_email')) {
return $this;
}
return parent::sendUnsubscriptionEmail();
}
示例12: sendConfirmationSuccessEmail
/**
* Send confirmation success email if "is_send_success_email" value equals true
*
* @return Sitemaster_Checkout_Model_Subscriber
*/
public function sendConfirmationSuccessEmail()
{
if ($this->getIsSendSuccessEmail()) {
return parent::sendConfirmationRequestEmail();
}
return $this;
}
示例13: getCustomer
/**
* Fetches the rewards customer trying to subscribe
*
* @return TBT_Rewards_Model_Customer
*/
public function getCustomer()
{
if ($this->_subscribedCustomer == null) {
$customer_id = $this->_subscriber->getCustomerId();
$this->_subscribedCustomer = Mage::getModel('rewards/customer')->load($customer_id);
}
return $this->_subscribedCustomer;
}
示例14: sendConfirmationSuccessEmail
public function sendConfirmationSuccessEmail()
{
if (Mage::helper('ddg')->isNewsletterSuccessDisabled($this->getStoreId())) {
return $this;
} else {
parent::sendConfirmationSuccessEmail();
}
}
示例15: sendUnsubscriptionEmail
/**
* Send the Emails
*
* @override
* @todo make this per store scope!
* @return MailUp_MailUpSync_Model_Subscriber
*/
public function sendUnsubscriptionEmail()
{
if ($this->_getConfig()->isNewsletterNotificationDisabled()) {
Mage::log("Newsletter Notification DISABLED: sendUnsubscriptionEmail");
return $this;
} else {
return parent::sendUnsubscriptionEmail();
}
}