/** * Log click to link reference and return click id * * @param Mzax_Emarketing_Model_Link $link * @param integer $eventId Optional event id * @return integer click id */ public function captureClick(Mzax_Emarketing_Model_Link_Reference $reference, $eventId = null) { if ($reference->getId()) { $adapter = $this->_getWriteAdapter(); $adapter->insert($this->getTable('link_reference_click'), array('reference_id' => $reference->getId(), 'event_id' => $eventId ? $eventId : null, 'clicked_at' => now())); $id = $adapter->lastInsertId($this->getTable('link_reference_click')); } return $id; }
/** * Every recipient provider gets notified when a link is clicked * * @param Mzax_Emarketing_Model_Link_Reference $linkReference */ public function linkClicked(Mzax_Emarketing_Model_Link_Reference $linkReference) { $recipient = $linkReference->getRecipient(); $this->getSession()->setSubscriberId($recipient->getObjectId()); /* @var $subscriber Mage_Newsletter_Model_Subscriber */ $subscriber = Mage::getModel('newsletter/subscriber')->load($recipient->getObjectId()); if ($subscriber->getCustomerId()) { $this->getSession()->setCustomerId($subscriber->getCustomerId()); $recipient->autologin($subscriber->getCustomerId()); } }
/** * Every recipient provider gets notified when a link is clicked * * @param Mzax_Emarketing_Model_Link_Reference $linkReference */ public function linkClicked(Mzax_Emarketing_Model_Link_Reference $linkReference) { $recipient = $linkReference->getRecipient(); $this->getSession()->setQuoteId($recipient->getObjectId()); /* @var $quote Mage_Sales_Model_Quote */ $quote = Mage::getModel('sales/quote')->load($recipient->getObjectId()); if ($quote->getCustomerId()) { $this->getSession()->setCustomerId($quote->getCustomerId()); $recipient->autologin($quote->getCustomerId()); } }
/** * Add a click reference to the seesion * * This reference is used by the observer to check if any goal events like * a order, signup ocurred durring this session * * @see Mzax_Emarketing_Model_Observer_Goal * @param Mzax_Emarketing_Model_Link_Reference $linkReference * @param integer $clickId * @return Mzax_Emarketing_Model_Session */ public function addClickReference(Mzax_Emarketing_Model_Link_Reference $linkReference, $clickId) { $this->setLastLinkReferenceId($linkReference->getId()); $this->setLastRecipientId($linkReference->getRecipientId()); $this->setLastAddress($linkReference->getRecipient()->getAddress()); $this->_lastRecipient = null; $clicks = $this->getClickReferences(); $clicks[] = array('link_reference_id' => (int) $linkReference->getId(), 'recipient_id' => (int) $linkReference->getRecipientId(), 'click_id' => (int) $clickId); $this->setData('click_references', $clicks); return $this; }
/** * Every recipient provider gets notified when a link is clicked * * @param Mzax_Emarketing_Model_Link_Reference $linkReference */ public function linkClicked(Mzax_Emarketing_Model_Link_Reference $linkReference) { $this->getSession()->setCustomerId($linkReference->getRecipient()->getObjectId()); $linkReference->getRecipient()->autologin($linkReference->getRecipient()->getObjectId()); }