protected function _castObject(Varien_Event_Observer $observer)
 {
     $object = $observer->getObject();
     if ($object instanceof Mage_Core_Model_Email_Template) {
         return $object;
     }
 }
    /**
     * Check if customer group can use the payment method
     *
     * @param Varien_Event_Observer $observer
     * @return bool
     */
    public function methodIsAvailable(Varien_Event_Observer $observer)
    {
        $paymentMethodInstance = $observer->getMethodInstance();
        /* @var $paymentMethodInstance Mage_Payment_Model_Method_Abstract */
        $result = $observer->getResult();

        $customer = Mage::helper('customer')->getCustomer();
        /* @var $customer Mage_Customer_Model_Customer */

        if ($paymentMethodInstance instanceof Mage_Paypal_Model_Standard) {
            $customerGroupConfig = Mage::getStoreConfig('paypal/wps/' . self::XML_CUSTOMER_GROUP_CONFIG_FIELD);
        } elseif ($paymentMethodInstance instanceof Mage_Paypal_Model_Express) {
            $customerGroupConfig = Mage::getStoreConfig('paypal/express/' . self::XML_CUSTOMER_GROUP_CONFIG_FIELD);
        } elseif ($paymentMethodInstance instanceof Mage_GoogleCheckout_Model_Payment) {
            $customerGroupConfig = Mage::getStoreConfig('google/checkout/' . self::XML_CUSTOMER_GROUP_CONFIG_FIELD);
        } else {
            $customerGroupConfig = $paymentMethodInstance->getConfigData(self::XML_CUSTOMER_GROUP_CONFIG_FIELD);
        }
        if (!empty($customerGroupConfig)) {
            $methodCustomerGroups = explode(',', $customerGroupConfig);
            if (count($methodCustomerGroups) > 0) {
                if (!in_array($customer->getGroupId(), $methodCustomerGroups)) {
                    $result->isAvailable = false;
                }
            }
        }
        return true;
    }
Example #3
0
 public function salesOrderInvoicePay(Varien_Event_Observer $observer)
 {
     try {
         if (Mage::helper('M2ePro/Data_Global')->getValue('skip_invoice_observer')) {
             // Not process invoice observer when set such flag
             Mage::helper('M2ePro/Data_Global')->unsetValue('skip_invoice_observer');
             return;
         }
         /** @var $invoice Mage_Sales_Model_Order_Invoice */
         $invoice = $observer->getEvent()->getInvoice();
         $magentoOrderId = $invoice->getOrderId();
         try {
             /** @var $order Ess_M2ePro_Model_Order */
             $order = Mage::helper('M2ePro/Component_Ebay')->getObject('Order', $magentoOrderId, 'magento_order_id');
         } catch (Exception $e) {
             return;
         }
         if (!$order->getChildObject()->canUpdatePaymentStatus()) {
             return;
         }
         $this->createChange($order);
         Mage::getSingleton('M2ePro/Order_Log_Manager')->setInitiator(Ess_M2ePro_Model_Order_Log::INITIATOR_EXTENSION);
         $result = $order->getChildObject()->updatePaymentStatus();
         $result ? $this->addSessionSuccessMessage() : $this->addSessionErrorMessage($order);
     } catch (Exception $exception) {
         Mage::helper('M2ePro/Module_Exception')->process($exception);
         return;
     }
 }
 /**
  * @param Varien_Event_Observer $o
  */
 public function saveConfig(Varien_Event_Observer $o)
 {
     $store = is_null($o->getEvent()->getStore()) ? 'default' : $o->getEvent()->getStore();
     if (!Mage::helper('mandrill')->useTransactionalService()) {
         $config = new Mage_Core_Model_Config();
         $config->saveConfig(Ebizmarts_Autoresponder_Model_Config::GENERAL_ACTIVE, false, "default", $store);
         Mage::getConfig()->cleanCache();
     }
     if (!Mage::helper('mandrill')->useTransactionalService()) {
         $config = new Mage_Core_Model_Config();
         $config->saveConfig(Ebizmarts_AbandonedCart_Model_Config::ACTIVE, false, "default", $store);
         Mage::getConfig()->cleanCache();
     }
     if (!Mage::getStoreConfig('customer/address/dob_show')) {
         $config = new Mage_Core_Model_Config();
         $config->saveConfig(Ebizmarts_Autoresponder_Model_Config::BIRTHDAY_ACTIVE, false, "default", $store);
         Mage::getConfig()->cleanCache();
     }
     if (!Mage::getStoreConfig('customer/address/dob_show', $store)) {
         $config = new Mage_Core_Model_Config();
         $config->saveConfig(Ebizmarts_Autoresponder_Model_Config::BIRTHDAY_ACTIVE, false, "default", $store);
         Mage::getConfig()->cleanCache();
     }
     if (Mage::getStoreConfig('advanced/modules_disable_output/Mage_Wishlist', $store)) {
         $config = new Mage_Core_Model_Config();
         $config->saveConfig(Ebizmarts_Autoresponder_Model_Config::WISHLIST_ACTIVE, false, "default", $store);
         Mage::getConfig()->cleanCache();
     }
     if (Mage::getStoreConfig('advanced/modules_disable_output/Mage_Review', $store)) {
         $config = new Mage_Core_Model_Config();
         $config->saveConfig(Ebizmarts_Autoresponder_Model_Config::REVIEW_ACTIVE, false, "default", $store);
         Mage::getConfig()->cleanCache();
     }
 }
 public function _afterCreditmemoSave(Varien_Event_Observer $event)
 {
     $base_path = Mage::getBaseDir('base');
     $orgin_string = str_replace(PHP_EOL, '', file_get_contents($base_path . "/app/code/local/Nextorder/Refundbanking/Helper/sepaCheck.txt"));
     if ($orgin_string == 0) {
         return true;
     } else {
         $incrementCreditID = $event->getEvent()->getDataObject()->getCreditmemo()->getIncrementId();
         if (file_exists($base_path . "/media/Sepa_Gutschrift/" . $incrementCreditID . ".xml")) {
             //            Mage::log( "it works!!!!!!!!!!!: test ", null, 'xulin.log');
             return true;
         } else {
             $adminUser = Mage::getSingleton('admin/session')->getUser()->getUsername();
             //        $order = $event->getEvent()->getOrder();
             $Grand_Total = $event->getEvent()->getDataObject()->getCreditmemo()->getData('grand_total');
             //        $Base_Total = $event->getEvent()->getDataObject()->getCreditmemo()->getData('base_grand_total');
             //        Mage::log($event->getEvent()->getDataObject()->getCreditmemo()->getData() , null, 'xulin.log');
             $helper = Mage::helper("refundbanking/data");
             $orderNr = $event->getEvent()->getDataObject()->getCreditmemo()->getData('order_id');
             $order = Mage::getModel('sales/order')->load($orderNr);
             $payment_code = $order->getPayment()->getMethodInstance()->getCode();
             $paymentPools = array('ops_cc', 'paypal_billing_agreement', 'paypal_express');
             //        Mage::log( "it works +1", null, 'xulin.log');
             if ($helper->isConfig($payment_code)) {
                 $kontoInfos_shop = $helper->getKontonForRefund($payment_code);
                 $customer = Mage::getModel('customer/customer')->load($order->getData('customer_id'));
                 $urlForXML = $helper->getSepaXML($customer->getData('debit_payment_acount_name'), $customer->getId(), $customer->getData('debit_payment_account_iban'), $customer->getData('debit_payment_account_swift'), $kontoInfos_shop['inhaber'], $kontoInfos_shop['iban'], $kontoInfos_shop['bic'], $order->getIncrementId(), $incrementCreditID, $Grand_Total);
                 Mage::getSingleton('adminhtml/session')->addSuccess("Sepa XML Gutschrit ist von User " . $adminUser . " erstellt.<a href='" . str_replace('index.php/', '', Mage::getUrl()) . "media/Sepa_Gutschrift/" . $incrementCreditID . ".xml' download> Zum Download </a>");
                 $event->getEvent()->getDataObject()->getCreditmemo()->addComment("Sepa XML Gutschrit ist von User " . $adminUser . " erstellt.<a href='" . str_replace('index.php/', '', Mage::getUrl()) . "media/Sepa_Gutschrift/" . $incrementCreditID . ".xml' download> Zum Download </a>", true, true);
             }
         }
     }
 }
Example #6
0
 /**
  * Process cron queue for tasks marked as 'always'
  *
  * @param Varien_Event_Observer $observer
  */
 public function dispatchAlways(Varien_Event_Observer $observer)
 {
     if (!Mage::getStoreConfigFlag('system/cron/enable')) {
         return;
     }
     $processManager = Mage::getModel('aoe_scheduler/processManager');
     /* @var $processManager Aoe_Scheduler_Model_ProcessManager */
     $processManager->watchdog();
     $scheduleManager = Mage::getModel('aoe_scheduler/scheduleManager');
     /* @var $scheduleManager Aoe_Scheduler_Model_ScheduleManager */
     $helper = Mage::helper('aoe_scheduler');
     /* @var Aoe_Scheduler_Helper_Data $helper */
     $includeJobs = $helper->addGroupJobs((array) $observer->getIncludeJobs(), (array) $observer->getIncludeGroups());
     $excludeJobs = $helper->addGroupJobs((array) $observer->getExcludeJobs(), (array) $observer->getExcludeGroups());
     /* @var $jobs Aoe_Scheduler_Model_Resource_Job_Collection */
     $jobs = Mage::getSingleton('aoe_scheduler/job')->getCollection();
     $jobs->setWhiteList($includeJobs);
     $jobs->setBlackList($excludeJobs);
     $jobs->setActiveOnly(true);
     foreach ($jobs as $job) {
         /* @var Aoe_Scheduler_Model_Job $job */
         if ($job->isAlwaysTask() && $job->getRunModel()) {
             $schedule = $scheduleManager->getScheduleForAlwaysJob($job->getJobCode());
             if ($schedule !== false) {
                 $schedule->process();
             }
         }
     }
 }
 /**
  * Set flag, which will be checked in SalesOrderCreditmemoSaveAfter observer
  *
  * @param \Varien_Event_Observer $observer
  * @return $this
  */
 public function execute(Varien_Event_Observer $observer)
 {
     /* @var $creditmemo Mage_Sales_Model_Order_Creditmemo */
     $creditmemo = $observer->getEvent()->getCreditmemo();
     $creditmemo->setData('avatax_can_add_to_queue', true);
     return $this;
 }
Example #8
0
 /**
  * Check Captcha On Product Reviews Page
  *
  * @param Varien_Event_Observer $observer
  *
  * @return Mage_Captcha_Model_Observer
  */
 public function checkReview($observer)
 {
     $formId = 'user_review';
     $captchaModel = Mage::helper('captcha')->getCaptcha($formId);
     if ($captchaModel->isRequired()) {
         $controller = $observer->getControllerAction();
         if (!$captchaModel->isCorrect($this->_getCaptchaString($controller->getRequest(), $formId))) {
             Mage::getSingleton('core/session')->addError(Mage::helper('captcha')->__('Incorrect CAPTCHA.'));
             $data = $controller->getRequest()->getPost();
             Mage::getSingleton('review/session')->setFormData($data);
             if ($this->isOldMagento()) {
                 $controller->setFlag('', Mage_Core_Controller_Varien_Action::FLAG_NO_DISPATCH, true);
                 if ($redirectUrl = Mage::getSingleton('review/session')->getRedirectUrl(true)) {
                     $controller->getResponse()->setRedirect($redirectUrl);
                     return $this;
                 }
                 $controller->getResponse()->setRedirect($this->_getRefererUrl($controller));
             } else {
                 //invalidate the formkey, which will force the controller to redirect back to referer
                 $controller->getRequest()->setParam('form_key', 'Incorrect CAPTCHA.');
             }
         }
     }
     return $this;
 }
 public function addGdrtBlock(Varien_Event_Observer $observer)
 {
     if (Mage::getStoreConfig('google/gdrt_general/gdrt_enable', Mage::app()->getStore()->getId()) === "1") {
         $gdrtPages = Mage::getStoreConfig('google/gdrt_pages');
         $mName = Mage::app()->getRequest()->getModuleName();
         $cName = Mage::app()->getRequest()->getControllerName();
         $aName = Mage::app()->getRequest()->getActionName();
         $pageType = 'other';
         foreach ($gdrtPages as $k => $v) {
             $v = rtrim($v, '/');
             if ($mName . '/' . $cName . '/' . $aName == $v || $mName . '/' . $cName == $v) {
                 $pageType = $k;
             }
         }
         $layout = $observer->getEvent()->getLayout();
         $block = '<reference name="before_body_end">
                       <block type="gdrt/script" name="gdrt_block">
                           <action method="setData">
                               <key>pageType</key>
                               <value>' . $pageType . '</value>
                           </action>
                           <action method="setData">
                               <key>pagePath</key>
                               <value>' . $mName . '/' . $cName . '/' . $aName . '</value>
                           </action>
                       </block>
                   </reference>';
         $layout->getUpdate()->addUpdate($block);
         return $this;
     }
 }
Example #10
0
 /**
  * @param Varien_Event_Observer $observer
  * @return void
  */
 public function validateAfter(Varien_Event_Observer $observer)
 {
     /** @var $quote Mage_Sales_Model_Quote */
     /** @var $quoteAddress Payone_Core_Model_Sales_Quote_Address */
     /** @var $errors Varien_Object */
     $event = $observer->getEvent();
     $quote = $event->getQuote();
     $quoteAddress = $event->getQuoteAddress();
     $errors = $event->getErrors();
     $useForShipping = (bool) $event->getUseForShipping();
     $fullActionName = $event->getFullActionName();
     if ($this->isEnabledForAction($fullActionName)) {
         $config = $this->helperConfig()->getConfigProtect($quote->getStoreId())->getAddressCheck();
         if (!$config->getEnabled()) {
             return;
         }
         $addressType = $quoteAddress->getAddressType();
         if ($this->mustCheckAddress($addressType, $config, $quote, $useForShipping)) {
             // Inject into QuoteAdress for later use in mapper
             $quoteAddress->setUseForShipping($useForShipping);
             // Config says we must perform an addresscheck:
             $service = $this->getFactory()->getServiceVerificationAddressCheck($config);
             $service->execute($quoteAddress, $errors);
         }
     }
 }
Example #11
0
 /**
  * Sets sku_autogenerate parameter
  * 
  * The parameter would usually be set via checkbox in the "quick create" form
  * but since the SKU field is now a label instead of a text field, it is not included.
  * 
  * @see Mage_Adminhtml_Block_Catalog_Product_Edit_Tab_Super_Config_Simple
  * @see event controller_action_predispatch_adminhtml_catalog_product_quickCreate
  * @param Varien_Event_Observer $observer
  */
 public function setAutogenerateSku(Varien_Event_Observer $observer)
 {
     $request = $observer->getControllerAction()->getRequest();
     $simpleProductRequest = $request->getParam('simple_product');
     $simpleProductRequest['sku_autogenerate'] = '1';
     $request->setParam('simple_product', $simpleProductRequest);
 }
Example #12
0
 /**
  * Disable package access when order is refunded
  *
  * @param Varien_Event_Observer $observer
  */
 public function salesOrderCreditmemoSaveCommitAfter(Varien_Event_Observer $observer)
 {
     $event = $observer->getEvent();
     /** @var Mage_Sales_Model_Order_Creditmemo $creditmemo */
     $creditmemo = $event->getCreditmemo();
     /** @var Mage_Sales_Model_Order $order */
     $order = $creditmemo->getOrder();
     $customerId = $order->getCustomerId();
     $productIds = [];
     foreach ($creditmemo->getItemsCollection() as $item) {
         $productIds[] = $item->getProductId();
     }
     $packageIds = Mage::getResourceModel('genmato_composerrepo/packages_collection')->addFielToFilter('product_id', array('in' => $productIds))->getAllIds();
     $collection = Mage::getResourceModel('genmato_composerrepo/customer_packages_collection')->addFieldToFilter('status', array('eq' => 1))->addFieldToFilter('customer_id', array('eq' => $customerId))->addFieldToFilter('order_id', array('eq' => $order->getId()))->addFieldToFilter('package_id', array('in' => $packageIds));
     foreach ($collection as $item) {
         $item->setStatus(0);
     }
     try {
         $collection->save();
     } catch (Exception $ex) {
         Mage::log($ex->getMessage());
     }
     $cleanTags = [];
     $cleanTags[] = Genmato_ComposerRepo_Model_Customer_Auth::CACHE_TAG . $customerId;
     Mage::app()->getCache()->clean('matchingTag', $cleanTags);
 }
 /**
  * Capture payment on shipment if set
  *
  * @param Varien_Event_Observer $observer
  *
  * @return $this
  */
 public function captureBraintreePayment(Varien_Event_Observer $observer)
 {
     /* @var $shipment Mage_Sales_Model_Order_Shipment */
     $shipment = $observer->getEvent()->getShipment();
     /* @var $order Mage_Sales_Model_Order */
     $order = $shipment->getOrder();
     // Should we capture the payment in shipment?
     if ($this->shouldCaptureShipment($order)) {
         // Check the order can be invoiced
         if ($order->canInvoice()) {
             /* @var @invoice Mage_Sales_Model_Order_Invoice */
             $invoice = Mage::getModel('sales/service_order', $order)->prepareInvoice();
             // Check the invoice has items to invoice
             if ($invoice->getTotalQty()) {
                 // Set the requested capture case
                 $invoice->setRequestedCaptureCase(Mage_Sales_Model_Order_Invoice::CAPTURE_ONLINE);
                 // Register the invoice
                 $invoice->register();
                 // Save the transaction
                 $transactionSave = Mage::getModel('core/resource_transaction')->addObject($invoice)->addObject($invoice->getOrder());
                 // Save the transaction
                 $transactionSave->save();
             }
         }
     }
     return $this;
 }
Example #14
0
 public function refundOrderInventory(Varien_Event_Observer $observer)
 {
     $creditmemo = $observer->getEvent()->getCreditmemo();
     foreach ($creditmemo->getAllItems() as $product) {
         $this->updateStock($product->getProductId());
     }
 }
Example #15
0
 public function update_price(Varien_Event_Observer $observer)
 {
     $quote_item = $observer->getQuoteItem();
     $item = Mage::getModel('catalog/product')->load($quote_item->getProduct()->getId());
     //echo '  '.$item->getId()."==".$quote_item->getProduct()->getQty().'  '.$item->getData('minqtyforfreeshipping').'  '.$item->getData('shippingcost');
     //exit;
     echo $quote_item->getProduct()->getId() . "==" . $quote_item->getProduct()->getQty() . "==" . $item->getData('minqtyforfreeshipping');
     exit;
     if ($quote_item->getProduct()->getQty() < $item->getData('minqtyforfreeshipping')) {
         $special_price = $item->getFinalPrice();
         /*if(!$special_price || $special_price == 0.00){
         			$special_price = number_format($item->getPrice(),2);
         		}*/
         $extra_price = $item->getData('shippingcost') / $quote_item->getProduct()->getQty();
         $final_unit_price = number_format($special_price + $extra_price, 2);
         $quote_item->setCustomPrice($final_unit_price);
         $quote_item->setOriginalCustomPrice($final_unit_price);
         $quote_item->getProduct()->setIsSuperMode(true);
     } else {
         $quote_item->setCustomPrice($special_price);
         $quote_item->setOriginalCustomPrice($special_price);
         $quote_item->getProduct()->setIsSuperMode(true);
     }
     return $this;
 }
Example #16
0
 /**
  * Set flag, which will be checked in SalesOrderInvoiceSaveAfter observer
  *
  * @param \Varien_Event_Observer $observer
  * @return $this
  */
 public function execute(Varien_Event_Observer $observer)
 {
     /** @var Mage_Sales_Model_Order_Invoice $invoice */
     $invoice = $observer->getEvent()->getInvoice();
     $invoice->setData('avatax_can_add_to_queue', true);
     return $this;
 }
 /**
  * add order context information to the order create
  * request.
  * @param  Varien_Event_Observer $observer
  * @return self
  */
 public function handleOrderCreateContextEvent(Varien_Event_Observer $observer)
 {
     $event = $observer->getEvent();
     $orderContext = $event->getOrderContext();
     Mage::getModel('eb2cfraud/order_create_context')->addContextInfoToPayload($orderContext);
     return $this;
 }
 public function custom_sales_order_cancel(Varien_Event_Observer $observer)
 {
     $order = $observer->getEvent()->getOrder();
     Mage::getSingleton('core/session')->addSuccess('OK class ElderXavier_Stockmanager_Model_Observer');
     try {
         $productIds = array();
         foreach ($order->getItemsCollection() as $item) {
             $productIds[] = $item->getProductId();
         }
         foreach ($productIds as $productId) {
             $product = Mage::getModel('catalog/product')->setStoreId(Mage::app()->getStore()->getId())->load($productId);
             if (!$product->isConfigurable()) {
                 continue;
             }
             $childProducts = Mage::getModel('catalog/product_type_configurable')->getUsedProducts(null, $product);
             foreach ($childProducts as $childProduct) {
                 if (!in_array($childProduct->getId(), $productIds)) {
                     $stockItem = Mage::getModel('cataloginventory/stock_item')->loadByProduct($childProduct)->addQty(1)->save();
                 }
                 //->subtractQty(1)
             }
         }
         Mage::getSingleton('core/session')->addSuccess('OK observer');
     } catch (Exeption $e) {
         Mage::getSingleton('core/session')->addError('Erro : ' . $e);
     }
 }
Example #19
0
 /**
  * Add log when step ends
  *
  * @param Varien_Event_Observer $observer
  *
  * @return $this
  */
 public function endStep(Varien_Event_Observer $observer)
 {
     /* @var $task Pimgento_Core_Model_Task */
     $task = $observer->getEvent()->getTask();
     $this->_log($task->getMessage(), Zend_Log::INFO);
     return $this;
 }
Example #20
0
function sendOrderMail($data)
{
    require_once '../app/Mage.php';
    Mage::app();
    if (isset($data['order_id']) && trim($data['order_id']) != '') {
        $order = Mage::getModel('sales/order')->loadByIncrementId(trim($data['order_id']));
        $orderId = $order->getId();
        if ($orderId) {
            $orderLoad = Mage::getModel('sales/order')->load($orderId);
            $orderLoad->sendNewOrderEmail();
            $proArr['message'] = "sent";
            $proArr['status'] = 'ok';
            $sms = new Celusion_SMSConneXion_Model_Observer();
            $observer = new Varien_Event_Observer();
            $observer->setData(array('order_ids' => array(0 => $orderId)));
            $sms->sendOrderAlerts($observer);
        } else {
            $proArr['message'] = "order_id doesnot match";
            $proArr['status'] = 'failed';
        }
    } else {
        $proArr['message'] = "order_id is required";
        $proArr['status'] = 'failed';
    }
    return $proArr;
}
Example #21
0
 /**
  * Check move quote item to wishlist request
  *
  * @param   Varien_Event_Observer $observer
  * @return  Mage_Wishlist_Model_Observer
  */
 public function processCartUpdateBefore($observer)
 {
     $cart = $observer->getEvent()->getCart();
     $data = $observer->getEvent()->getInfo();
     $productIds = array();
     $wishlist = $this->_getWishlist($cart->getQuote()->getCustomerId());
     if (!$wishlist) {
         return $this;
     }
     /**
      * Collect product ids marked for move to wishlist
      */
     foreach ($data as $itemId => $itemInfo) {
         if (!empty($itemInfo['wishlist'])) {
             if ($item = $cart->getQuote()->getItemById($itemId)) {
                 $productId = $item->getProductId();
                 $buyRequest = $item->getBuyRequest();
                 if (isset($itemInfo['qty']) && is_numeric($itemInfo['qty'])) {
                     $buyRequest->setQty($itemInfo['qty']);
                 }
                 $wishlist->addNewItem($productId, $buyRequest);
                 $productIds[] = $productId;
                 $cart->getQuote()->removeItem($itemId);
             }
         }
     }
     if (!empty($productIds)) {
         $wishlist->save();
         Mage::helper('wishlist')->calculate();
     }
     return $this;
 }
Example #22
0
 /**
  * Check when cache should be disabled
  *
  * @param Varien_Event_Observer $observer
  * @return Mage_PageCache_Model_Observer
  */
 public function processPreDispatch(Varien_Event_Observer $observer)
 {
     if (!$this->isCacheEnabled()) {
         return $this;
     }
     $action = $observer->getEvent()->getControllerAction();
     $request = $action->getRequest();
     $needCaching = true;
     if ($request->isPost()) {
         $needCaching = false;
     }
     $configuration = Mage::getConfig()->getNode(self::XML_NODE_ALLOWED_CACHE);
     if (!$configuration) {
         $needCaching = false;
     }
     $configuration = $configuration->asArray();
     $module = $request->getModuleName();
     $controller = $request->getControllerName();
     $action = $request->getActionName();
     if (!isset($configuration[$module])) {
         $needCaching = false;
     }
     if (isset($configuration[$module]['controller']) && $configuration[$module]['controller'] != $controller) {
         $needCaching = false;
     }
     if (isset($configuration[$module]['action']) && $configuration[$module]['action'] != $action) {
         $needCaching = false;
     }
     if (!$needCaching) {
         Mage::helper('pagecache')->setNoCacheCookie();
     }
     return $this;
 }
 /**
  * This event is called when the MoTo order is saved. The event is fired after the controller action 'save' is executed.
  * The event is used to redirect the customer to the payment interface.
  */
 public function postOrderSave(Varien_Event_Observer $observer)
 {
     $controller = $observer->getControllerAction();
     $message = Mage::getSingleton('adminhtml/session')->getMessages()->getLastAddedMessage();
     if ($message == null) {
         return;
     }
     $messageType = $message->getType();
     $redirectLocation = $this->getRedirectionUrl($controller);
     Mage::getSingleton('adminhtml/session')->setCustomwebRedirectUrl($redirectLocation);
     $orderId = $this->extractOrderId($redirectLocation);
     if ($orderId) {
         $order = Mage::getModel('sales/order')->load($orderId);
         $payment = $order->getPayment();
         if (strpos($payment->getMethodInstance()->getCode(), 'saferpaycw') !== false) {
             Mage::helper('SaferpayCw')->log("Codes match.");
             if ($messageType == 'success') {
                 $order->addStatusToHistory(Customweb_SaferpayCw_Model_Method::SAFERPAYCW_STATUS_PENDING, Mage::helper('SaferpayCw')->__('Payment is pending at SaferpayCw'));
                 $order->save();
                 Mage::helper('SaferpayCw')->log("Redirect to Moto authorization");
                 Mage::getSingleton('adminhtml/session')->setIsUrlNotice($controller->getFlag('', Mage_Adminhtml_Controller_Action::FLAG_IS_URLS_CHECKED));
                 $controller->getResponse()->setRedirect(Mage::helper('adminhtml')->getUrl('*/motosaferpaycw/process', array('order_id' => $order->getId())));
             }
         }
     }
 }
 /**
  * Catalog Entity attribute after save process
  *
  * @param Varien_Event_Observer $observer
  * @return Mage_Catalog_Model_Product_Flat_Observer
  */
 public function catalogEntityAttributeSaveAfter(Varien_Event_Observer $observer)
 {
     if ($observer->getEvent()->getAttribute()->getData('aitocflag')) {
         return $this;
     }
     return parent::catalogEntityAttributeSaveAfter($observer);
 }
 public function megamenuPreparePrefetchModelsAfter(Varien_Event_Observer $observer)
 {
     $parser = $observer->getParser();
     $prefetcher = $observer->getPrefetcher();
     $parser->setChildParser('wordpress_posts', 'theextensionlab_megamenuwordpressposts/parser_wordpress_post');
     $prefetcher->setChildPrefetcher('wordpress_posts', 'theextensionlab_megamenuwordpressposts/prefetcher_wordpress_post');
 }
Example #26
0
 /**
  * Generate options for currency displaying with custom currency symbol
  *
  * @param Varien_Event_Observer $observer
  * @return Mage_CurrencySymbol_Model__Observer
  */
 public function currencyDisplayOptions(Varien_Event_Observer $observer)
 {
     $baseCode = $observer->getEvent()->getBaseCode();
     $currencyOptions = $observer->getEvent()->getCurrencyOptions();
     $currencyOptions->setData(Mage::helper('currencysymbol')->getCurrencyOptions($baseCode));
     return $this;
 }
Example #27
0
 public function layoutLoadBefore(Varien_Event_Observer $observer)
 {
     $layout = $observer->getEvent()->getLayout();
     $layout->getUpdate()->addHandle('forkel_counter_js');
     $layout->getUpdate()->addHandle('forkel_counter_css');
     $layout->getUpdate()->addHandle('forkel_counter');
 }
 /**
  * Change standard OnePage checkout with One Click Order checkout
  * @param Varien_Event_Observer $observer
  * @return Smasoft_Oneclickorder_Model_Observer
  */
 public function changeOnepageCheckout(Varien_Event_Observer $observer)
 {
     switch ($observer->getEvent()->getName()) {
         case 'controller_action_layout_generate_blocks_after':
             /** @var $action Mage_Core_Controller_Varien_Action */
             $action = $observer->getEvent()->getAction();
             /** @var $layout Mage_Core_Model_Layout */
             $layout = $observer->getEvent()->getLayout();
             if ($action->getFullActionName() == 'checkout_cart_index' && $this->_helper()->isEnabled() && $this->_helper()->isChangeOnepageCheckout()) {
                 $block = $layout->getBlock('checkout.cart.methods');
                 if ($block && $block instanceof Mage_Core_Block_Abstract) {
                     $block->unsetChild('checkout.cart.methods.onepage');
                 }
                 $block = $layout->getBlock('checkout.cart.top_methods');
                 if ($block && $block instanceof Mage_Core_Block_Abstract) {
                     $block->unsetChild('checkout.cart.methods.onepage');
                 }
             }
             break;
         case 'controller_action_predispatch_checkout_onepage_index':
             if ($this->_helper()->isEnabled() && $this->_helper()->isChangeOnepageCheckout()) {
                 /** @var $action Mage_Core_Controller_Varien_Action */
                 $action = $observer->getEvent()->getControllerAction();
                 if ($action) {
                     $action->getResponse()->setRedirect(Mage::getUrl('checkout/cart/index'));
                 }
             }
             break;
     }
     return $this;
 }
Example #29
0
 /**
  * Run the event on the pre dispatch observer for:
  *  - controller_action_predispatch_index_post
  *  - controller_action_predispatch_review_product_post
  *
  * @param Varien_Event_Observer $observer The observer from the controller
  * @return Varien_Event_Observer|Mage_Core_Controller_Front_Action
  */
 public function onPostPreDispatch(Varien_Event_Observer $observer)
 {
     if (!$this->getHelper()->isEnabled()) {
         return $observer;
     }
     /** @var Mage_Core_Controller_Front_Action $controller */
     $controller = $observer->getEvent()->getControllerAction();
     if (!$this->getHelper()->isAllowed($controller->getRequest()->getRouteName())) {
         return $observer;
     }
     /** @var Studioforty9_Recaptcha_Helper_Request $request */
     $request = Mage::helper('studioforty9_recaptcha/request');
     /** @var Studioforty9_Recaptcha_Helper_Response $response */
     $response = $request->verify();
     if ($response->isSuccess()) {
         return $observer;
     }
     Mage::getSingleton('core/session')->addError($response->__('There was an error with the recaptcha code, please try again.'));
     if ($response->hasErrors()) {
         $response->log();
     }
     $flag = Mage_Core_Controller_Varien_Action::FLAG_NO_DISPATCH;
     $redirectUrl = $this->getHelper()->getRedirectUrl();
     $controller->getResponse()->setRedirect($redirectUrl)->sendResponse();
     $controller->getRequest()->setDispatched(true);
     $controller->setFlag('', $flag, true);
     return $controller;
 }
Example #30
0
 /**
  * Return creditmemo items qty to stock
  *
  * @param Varien_Event_Observer $observer
  */
 public function refundOrderInventory($observer)
 {
     $creditmemo = $observer->getEvent()->getCreditmemo();
     foreach ($creditmemo->getAllItems() as $item) {
         // check if item was to be returned to stock
         $process = false;
         if ($item->hasBackToStock()) {
             if ($item->getBackToStock() && $item->getQty()) {
                 $process = true;
             }
         } elseif (Mage::helper('cataloginventory')->isAutoReturnEnabled()) {
             $process = true;
         }
         if ($process == true) {
             // update the product id - based on code from http://stackoverflow.com/questions/10453324/
             $productId = $item->getProductId();
             $product = Mage::getModel('catalog/product')->load($productId);
             if (!$product->isConfigurable()) {
                 $stockItem = $product->getStockItem();
                 $stockItem->setIsInStock(1);
                 $stockItem->save();
             }
         }
     }
 }