public function recover($visitorId) { $oldQuote = Mage::getModel('sales/quote')->load($visitorId, 'jirafe_visitor_id'); if ($oldQuote->getId()) { $customerSession = Mage::getSingleton('customer/session'); if ($oldQuote->getConvertedAt()) { $customerSession->addNotice(Mage::helper('foomanjirafe')->__('This basket has been ordered already.')); return false; } if ($oldQuote->getCustomerId()) { $customer = Mage::getModel('customer/customer')->load($oldQuote->getCustomerId()); if ($customerSession->isLoggedIn()) { $customerSession->logout(); } $customerSession->setCustomerAsLoggedIn($customer); } Mage::getSingleton('checkout/session')->replaceQuote($oldQuote); $oldQuote->setJirafeOrigVisitorId($visitorId)->save(); $siteId = Mage::helper('foomanjirafe')->getStoreConfig('site_id', $oldQuote->getStoreId()); $jirafePiwikUrl = 'http://' . Mage::getModel('foomanjirafe/jirafe')->getPiwikBaseUrl(); $piwikTracker = new Fooman_Jirafe_Model_JirafeTracker($siteId, $jirafePiwikUrl); $piwikTracker->doRecoveryEmailUpdate($visitorId, 3); return true; } return false; }