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; }
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); } } } }
/** * 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; }
/** * 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; } }
/** * @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); } } }
/** * 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); }
/** * 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; }
public function refundOrderInventory(Varien_Event_Observer $observer) { $creditmemo = $observer->getEvent()->getCreditmemo(); foreach ($creditmemo->getAllItems() as $product) { $this->updateStock($product->getProductId()); } }
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; }
/** * 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); } }
/** * 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; }
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; }
/** * 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; }
/** * 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'); }
/** * 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; }
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; }
/** * 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; }
/** * 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(); } } } }