/** * Ban a specific CMS page revision from cache after edit (enterprise edition only) * Events: * enterprise_cms_revision_save_commit_after * * @param Varien_Object $eventObject * @return null */ public function banCmsPageRevisionCache($eventObject) { if (Mage::helper('turpentine/varnish')->getVarnishEnabled()) { $pageId = $eventObject->getDataObject()->getPageId(); $page = Mage::getModel('cms/page')->load($pageId); // Don't do anything if the page isn't found. if (!$page) { return; } $pageIdentifier = $page->getIdentifier(); $result = $this->_getVarnishAdmin()->flushUrl($pageIdentifier . '(?:\\.html?)?$'); Mage::dispatchEvent('turpentine_ban_cms_page_cache', $result); $cronHelper = Mage::helper('turpentine/cron'); if ($this->_checkResult($result) && $cronHelper->getCrawlerEnabled()) { $cronHelper->addCmsPageToCrawlerQueue($pageIdentifier); } } }
/** * Ban a specific CMS page from cache after edit * * Events: * cms_page_save_commit_after * * @param Varien_Object $eventObject * @return null */ public function banCmsPageCache($eventObject) { if (Mage::helper('turpentine/varnish')->getVarnishEnabled()) { $pageId = $eventObject->getDataObject()->getIdentifier(); $result = $this->_getVarnishAdmin()->flushUrl($pageId . '(?:\\.html?)?$'); Mage::dispatchEvent('turpentine_ban_cms_page_cache', $result); $cronHelper = Mage::helper('turpentine/cron'); if ($this->_checkResult($result) && $cronHelper->getCrawlerEnabled()) { $cronHelper->addCmsPageToCrawlerQueue($pageId); } } }
/** * Refund the asscociated vendor order * * @param Varien_Object $observer * @return Ced_CsMarketplace_Model_Observer */ public function orderCreditmemoRefund($observer) { $order = $observer->getDataObject(); try { if ($order->getState() == Mage_Sales_Model_Order::STATE_CLOSED || (double) $order->getBaseTotalRefunded() && (double) $order->getBaseTotalRefunded() >= (double) $order->getBaseTotalPaid()) { $vorders = Mage::getModel('csmarketplace/vorders')->getCollection()->addFieldToFilter('order_id', array('eq' => $order->getIncrementId())); if (count($vorders) > 0) { foreach ($vorders as $vorder) { if ($vorder->canCancel()) { $vorder->setOrderPaymentState(Mage_Sales_Model_Order_Invoice::STATE_CANCELED); $vorder->setPaymentState(Ced_CsMarketplace_Model_Vorders::STATE_CANCELED); $vorder->save(); } else { if ($vorder->canMakeRefund()) { $vorder->setPaymentState(Ced_CsMarketplace_Model_Vorders::STATE_REFUND); $vorder->save(); } } } } } return $this; } catch (Exception $e) { Mage::helper('csmarketplace')->logException($e); } }