Example #1
0
 /**
  * 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);
         }
     }
 }
Example #2
0
 /**
  * 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);
         }
     }
 }
Example #3
0
 /**
  * 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);
     }
 }