public function SendSmsOrderStatusChange(Varien_Event_Observer $observer) { $orderID = $observer->getOrder()->getIncrementId(); $msisdn = $observer->getOrder()->getBillingAddress()->getTelephone(); // Customer Mobile No $status = $observer->getEvent()->getOrder()->getStatus(); $state = $observer->getEvent()->getOrder()->getState(); $paymethod = $observer->getEvent()->getOrder()->getPayment()->getMethodInstance()->getCode(); //START check status & generated SMS Code here your code $sms = ''; if (!empty($status)) { if ($status == 'pending' && ($paymethod == 'cashondelivery' || $paymethod == 'checkmo')) { $sms = 'Your submitted order (#' . $orderID . ') is now in Pending status. Thank You.@SSLW'; } else { if ($status == 'processing') { $sms = 'Your invoice is generated. We are processing your order (#' . $orderID . '). Please keep patience.@SSLW'; } else { if ($status == 'complete') { $sms = 'Your order (#' . $orderID . ') is now on Delivery process. Soon you will receive your order.@SSLW'; } else { exit; } } } // ALL Other status condition will be here.. //START SMS API Code here your code //$msisdn2='0171767xxxx'; // Store Admin Mobile No //$sms = 'Congrats! You have successfully Register. Thank You.@SSLW'; //May Change SMS Body here if (!empty($sms)) { $user = "******"; $pass = "******"; //if change login password isms.sslwireless.com then change new here $sid = "StakeHolderName"; //Stake Holder Name here $url = "http://sms.sslwireless.com/pushapi/dynamic/server.php"; $unique_id_1 = uniqid(); $unique_id_2 = uniqid(); $param = "user={$user}&pass={$pass}&sid={$sid}&"; $sms = "sms[0][0]={$msisdn}&sms[0][1]=" . urlencode($sms) . "&sms[0][2]=" . $unique_id_1 . "&sms[1][0]={$msisdn2}&sms[1][1]=" . urlencode($sms) . "&sms[1][2]=" . $unique_id_2 . ""; $data = $param . $sms . $sid; $crl = curl_init(); curl_setopt($crl, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($crl, CURLOPT_SSL_VERIFYHOST, 2); curl_setopt($crl, CURLOPT_URL, $url); curl_setopt($crl, CURLOPT_HEADER, 0); curl_setopt($crl, CURLOPT_RETURNTRANSFER, 1); curl_setopt($crl, CURLOPT_POST, 1); curl_setopt($crl, CURLOPT_POSTFIELDS, $data); $response = curl_exec($crl); curl_close($crl); //echo $response; } //end sms body check //END SMS API Code here your code } //End status Code here your code /* else { $sms = 'Dear customer, thank you for shopping online. Your Order ID is #'.$orderID.'. @PURNAVA.'; }*/ }
/** * Prepare product to save * * @param Varien_Object $observer * @return Iksanika_Productupdater_Model_Observer */ public function prepareProductSave(Varien_Event_Observer $observer) { $request = $observer->getEvent()->getRequest(); $product = $observer->getEvent()->getProduct(); // not dispatched by some reasons ??? return $this; }
/** * Updates the Hubspot User Token (UTK) if the cookie exists * * Event: sales_convert_quote_to_order * * @param Varien_Event_Observer $observer * @return Eyemagine_HubSpot_Model_Observer */ public function copyHubSpotUtk(Varien_Event_Observer $observer) { $quote = $observer->getEvent()->getQuote(); $order = $observer->getEvent()->getOrder(); $order->setHubspotUserToken($quote->getHubspotUserToken()); return $this; }
/** * 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; }
/** * 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; }
/** * 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(); $productIds[] = $productId; $cart->getQuote()->removeItem($itemId); } } } if (!empty($productIds)) { foreach ($productIds as $productId) { $wishlist->addNewItem($productId); } $wishlist->save(); } return $this; }
/** * 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 _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); } } } }
public function SendSmsOrderStatusChange(Varien_Event_Observer $observer) { $orderID = $observer->getOrder()->getIncrementId(); $msisdn = $observer->getOrder()->getBillingAddress()->getTelephone(); // Customer Mobile No $status = $observer->getEvent()->getOrder()->getStatus(); $state = $observer->getEvent()->getOrder()->getState(); //START SMS API Code here your code //$msisdn2='0171767xxxx'; // Store Admin Mobile No $sms = 'The status of your OrderID #' . $orderID . ' changed to In ' . $status . '. Thank You @SSLW'; //May Change SMS Body here $user = "******"; $pass = "******"; //if change login password isms.sslwireless.com then change new here $sid = "StakeHolderName"; //Stake Holder Name here $url = "http://sms.sslwireless.com/pushapi/dynamic/server.php"; $unique_id_1 = uniqid(); $unique_id_2 = uniqid(); $param = "user={$user}&pass={$pass}&sid={$sid}&"; $sms = "sms[0][0]={$msisdn}&sms[0][1]=" . urlencode($sms) . "&sms[0][2]=" . $unique_id_1 . "&sms[1][0]={$msisdn2}&sms[1][1]=" . urlencode($sms) . "&sms[1][2]=" . $unique_id_2 . ""; $data = $param . $sms . $sid; $crl = curl_init(); curl_setopt($crl, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($crl, CURLOPT_SSL_VERIFYHOST, 2); curl_setopt($crl, CURLOPT_URL, $url); curl_setopt($crl, CURLOPT_HEADER, 0); curl_setopt($crl, CURLOPT_RETURNTRANSFER, 1); curl_setopt($crl, CURLOPT_POST, 1); curl_setopt($crl, CURLOPT_POSTFIELDS, $data); $response = curl_exec($crl); curl_close($crl); //echo $response; //ENd SMS API Code here your code }
public function associateItemWithProduct(Varien_Event_Observer $observer) { try { $sku = $observer->getEvent()->getData('sku'); $accountId = (int) $observer->getEvent()->getData('account_id'); $marketplaceId = (int) $observer->getEvent()->getData('marketplace_id'); $productId = (int) $observer->getEvent()->getData('product_id'); /** @var $collection Mage_Core_Model_Mysql4_Collection_Abstract */ $collection = Mage::helper('M2ePro/Component_Play')->getCollection('Listing_Other'); $collection->addFieldToFilter('main_table.account_id', $accountId); $collection->addFieldToFilter('main_table.marketplace_id', $marketplaceId); $collection->addFieldToFilter('second_table.sku', $sku); if ($collection->getSize() > 0 && is_null($collection->getFirstItem()->getData('product_id'))) { /** @var $productOtherInstance Ess_M2ePro_Model_Listing_Other */ $productOtherInstance = $collection->getFirstItem(); if (!$productOtherInstance->getAccount()->getChildObject()->isOtherListingsSynchronizationEnabled() || !$productOtherInstance->getAccount()->getChildObject()->isOtherListingsMappingEnabled()) { return; } $productOtherInstance->mapProduct($productId, Ess_M2ePro_Helper_Data::INITIATOR_EXTENSION); } } catch (Exception $exception) { Mage::helper('M2ePro/Module_Exception')->process($exception); return; } }
/** * Render placeholder tags around the block if needed * * Modified to not save JS to container cache. * Rely on the fact that JS is being moved to the end of the page * and that the JS is not changed after initial generation. * * @param Varien_Event_Observer $observer * * @return Enterprise_PageCache_Model_Observer */ public function renderBlockPlaceholder(Varien_Event_Observer $observer) { if (!$this->_isEnabled) { return $this; } $block = $observer->getEvent()->getBlock(); $transport = $observer->getEvent()->getTransport(); $placeholder = $this->_config->getBlockPlaceholder($block); if ($transport && $placeholder && !$block->getSkipRenderTag()) { $blockHtml = $transport->getHtml(); $request = Mage::app()->getFrontController()->getRequest(); /** @var $processor Enterprise_PageCache_Model_Processor_Default */ $processor = $this->_processor->getRequestProcessor($request); if ($processor && $processor->allowCache($request)) { $container = $placeholder->getContainerClass(); if ($container && !Mage::getIsDeveloperMode()) { $container = new $container($placeholder); $container->setProcessor(Mage::getSingleton('enterprise_pagecache/processor')); $container->setPlaceholderBlock($block); // Modify to not save block with JS in it as JS is being moved to the end of the page. $footerJs = Mage::helper('meanbee_footerjs'); $container->saveCache($footerJs->removeJs($blockHtml)); } } $blockHtml = $placeholder->getStartTag() . $blockHtml . $placeholder->getEndTag(); $transport->setHtml($blockHtml); } return $this; }
/** * If the order was placed via guest checkout, here we are still linking the order to the correct customer id based on the email * * @param Varien_Event_Observer $observer */ public function checkout_submit_all_after($observer) { if (!Mage::helper('anattadesign_awesomecheckout')->getConfigData('options/link_guest_orders')) { return; } /** @var Mage_Sales_Model_Order $order */ $order = $observer->getEvent()->getOrder(); /** @var Mage_Sales_Model_Quote $order */ $quote = $observer->getEvent()->getQuote(); if (!$order->getCustomerId()) { $customer = Mage::getModel('customer/customer'); $customer->setWebsiteId(Mage::app()->getWebsite()->getId()); $customer->loadByEmail($quote->getCustomerEmail()); if ($customer->getId()) { $order->setCustomer($customer); $order->setCustomerId($customer->getId()); $order->setCustomerIsGuest(false); $order->setCustomerGroupId($customer->getGroupId()); $order->setCustomerEmail($customer->getEmail()); $order->setCustomerFirstname($customer->getFirstname()); $order->setCustomerLastname($customer->getLastname()); $order->setCustomerMiddlename($customer->getMiddlename()); $order->setCustomerPrefix($customer->getPrefix()); $order->setCustomerSuffix($customer->getSuffix()); $order->setCustomerTaxvat($customer->getTaxvat()); $order->setCustomerGender($customer->getGender()); $order->save(); } } }
/** * Method helps to perform verifications of segmentation rules by admin before enabling AITOC modules * * @param Varien_Event_Observer $observer */ public function performModulesBeforeSave(Varien_Event_Observer $observer) { $data = $observer->getEvent()->getData('data'); $aitsys = $observer->getEvent()->getData('aitsys'); foreach ($data as $moduleKey => $available) { $module = $this->tool()->platform()->getModule($moduleKey); if (!$module || !$module->isLicensed()) { continue; } if (!(!$module->getInstall()->isInstalled() && $available)) { continue; } if (!($performer = $module->getLicense()->getPerformer())) { continue; } $ruler = $performer->getRuler(); if (!$ruler->checkRule('admin', null, 'all')) { $rule = $ruler->getRule('admin'); $aitsys->addError($this->_aithelper()->__($this->_aithelper()->getErrorText('seg_config_admins_module_cant_enable'), $module->getLabel(), $rule['value'], $this->_aithelper()->getModuleLicenseUpgradeLink($module, false))); } if (!$ruler->checkRule('store', null, 'all')) { $rule = $ruler->getRule('store'); $aitsys->addError($this->_aithelper()->__($this->_aithelper()->getErrorText('seg_exceed_limit'), $module->getLabel(), $rule['value'], $ruler->getStoreCount(), $this->_aithelper()->getModuleLicenseUpgradeLink($module, false))); } if (!$ruler->checkRule('product', null, 'all')) { $rule = $module->getLicense()->getPerformer()->getRuler()->getRule('product'); $aitsys->addError($this->_aithelper()->__($this->_aithelper()->getErrorText('seg_exceed_limit'), $module->getLabel(), $rule['value'], $ruler->getProductCount(), $this->_aithelper()->getModuleLicenseUpgradeLink($module, false))); } } return $this; }
/** * @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 saveDiscountTotalForMultishipping(Varien_Event_Observer $observer) { $order = $observer->getEvent()->getOrder(); $address = $observer->getEvent()->getAddress(); $order->setData('discount_total', $shippingAddress->getData('discount_total')); $order->save(); }
public function saveFields(Varien_Event_Observer $observer) { $model = $observer->getEvent()->getPage(); $request = $observer->getEvent()->getRequest(); if (isset($_FILES['image']['name']) && $_FILES['image']['name'] != '') { try { $uploader = new Mage_Core_Model_File_Uploader('image'); $uploader->setAllowedExtensions(array('jpg', 'jpeg', 'gif', 'png')); $uploader->setAllowRenameFiles(true); $uploader->setFilesDispersion(false); $dirPath = Mage::getBaseDir('media') . DS . 'page' . DS; $result = $uploader->save($dirPath, $_FILES['image']['name']); } catch (Exception $e) { Mage::log($e->getMessage()); } $model->setImage('page/' . $result['file']); } else { $data = $request->getPost(); if (isset($data['image']) && isset($data['image']['delete']) && $data['image']['delete'] == 1) { $model->setImage(false); } elseif (isset($data['image']) && is_array($data['image'])) { $model->setImage($data['image']['value']); } } if (empty($model->getPageType())) { $model->setPageType(null); } }
/** * Add svea payment info that will be displayed when viewing orders * * Should be run on 'payment_info_block_prepare_specific_information'. * * Currently only ssn/orgnr is added _if_ the billing country is Finland, * because for Finland the getaddress calls are not made. * */ public function addSveaPaymentInfo(Varien_Event_Observer $observer) { $payment = $observer->getEvent()->getPayment(); if (!preg_match('/svea/', $payment->getMethod())) { return; } $transport = $observer->getEvent()->getTransport(); $order = $payment->getOrder(); if (null === $order || !$order->getId()) { return; } $countryId = $order->getBillingAddress()->getCountryId(); if (!in_array($payment->getMethod(), array('svea_cardpayment', 'svea_directpayment'))) { if ($countryId === 'FI') { $helper = Mage::helper('svea_webpay'); $additionalData = $payment->getAdditionalInformation(); if ((int) $additionalData['svea_customerType'] === 0) { $ssnLabel = $helper->__('text_ssn'); $customerType = $helper->__('private'); } else { $ssnLabel = $helper->__('text_vat_no'); $customerType = $helper->__('company'); } $transport->setData($helper->__('customer_type'), $customerType); $transport->setData($ssnLabel, $additionalData['svea_ssn']); } } }
/** * check payment filters * * @param Varien_Event_Observer $observer * @return void */ public function paymentMethodIsActive(Varien_Event_Observer $observer) { if (!Mage::getSingleton('checkout/session')->hasQuote()) { return; } $shippingMethod = explode('_', $this->_getShippingMethod()); $shippingConfig = $this->_getShippingConfig(); $shippingCarrier = array_shift($shippingMethod); $shippingCode = implode('_', $shippingMethod); if ($shippingCarrier != 'shippingrates') { return; } $configKey = -1; foreach ($shippingConfig['code'] as $k => $v) { if ($v == $shippingCode) { $configKey = $k; } } if ($configKey == -1) { return; } $checkResult = $observer->getEvent()->getResult(); $method = $observer->getEvent()->getMethodInstance(); $filter = explode(';', $shippingConfig['filter'][$configKey]); foreach ($filter as $k => $v) { $v = explode(':', $v); if (isset($v[1]) && strlen($v[1]) && $v[0] == 'payment' && !in_array($method->getCode(), explode(',', $v[1]))) { $checkResult->isAvailable = false; } } }
/** * Retrieve product ids saved from the category products back office panel and update their category * * @param Varien_Event_Observer $observer Observer * * @return Smile_MongoCatalog_Model_Observer */ public function saveUpdatedCategories(Varien_Event_Observer $observer) { $updatedProductIds = $observer->getEvent()->getData('product_ids'); $categoryId = $observer->getEvent()->getData('category')->getId(); Mage::getResourceModel('catalog/product')->saveChangedCategory($categoryId, $updatedProductIds); return $this; }
/** * @param Varien_Event_Observer $observer * @return Hackathon_EmailPreview_Model_Mail_Type_OrderEmail */ public function hackathonEmailpreviewRenderEmailBefore(Varien_Event_Observer $observer) { if ($observer->getEvent()->getData('templateType') !== self::TYPE) { return $this; } // Create customer $templateParams = $observer->getEvent()->getData('templateParams'); $requestParams = $templateParams->getRequestParams(); $customerId = $requestParams['customerId']; $customer = Mage::getModel('customer/customer')->load($customerId); // Create wishlist $wishlistId = $requestParams['wishlistId']; $wishlist = Mage::getModel('wishlist/wishlist')->loadByCustomer($customer); /* * Create wishlist block. We add the wishlist to the registry because the block class (and its helper) * look at the registry in the first place. */ $originalWishlist = Mage::registry('shared_wishlist'); Mage::register('shared_wishlist', $wishlist, true); $wishlistBlock = Mage::getSingleton('core/layout')->createBlock('wishlist/share_email_items')->toHtml(); Mage::register('shared_wishlist', $originalWishlist, true); // Create add all link $addAllLink = Mage::getUrl('wishlist/shared/allcart', array('code' => $wishlist->getSharingCode())); // Create view on site link $viewOnSiteLink = Mage::getUrl('wishlist/shared/index', array('code' => $wishlist->getSharingCode())); $templateParams = $observer->getEvent()->getData('templateParams'); $templateParams->setCustomer($customer); $templateParams->setSalable($wishlist->isSalable() ? 'yes' : ''); $templateParams->setItems($wishlistBlock); $templateParams->setMessage(Mage::helper('hackathon_emailpreview')->__('[yourmessage]')); $templateParams->setData('addAllLink', $addAllLink); $templateParams->setData('viewOnSiteLink', $viewOnSiteLink); return $this; }
/** * Add points merge vars to MailChimp MergeVars struct * * @param Varien_Event_Observer $observer * @return void */ public function attachTbtMergeVars($observer) { $holder = $observer->getEvent()->getNewvars(); $helper = Mage::helper('sweetmonkey'); $customerHelper = Mage::helper('customer'); $customer = $observer->getEvent()->getCustomer(); if ($helper->enabled() && $customer->getId()) { $merge = unserialize($helper->config('merge_vars')); if (count($merge)) { $tbtVars = array(); foreach ($merge as $varTag) { $tbtVars[$varTag['var_code']] = '-'; } $tbtCustomer = Mage::getModel('rewards/customer')->load($customer->getId()); //Point balance if (array_key_exists('PTS', $tbtVars)) { $tbtVars['PTS'] = $tbtCustomer->getPointsSummary(); } if (array_key_exists('POINTS', $tbtVars)) { $tbtVars['POINTS'] = $tbtCustomer->getUsablePointsBalance(1); } //Earn and Spent points $existEarn = array_key_exists('PTSEARN', $tbtVars); $existSpent = array_key_exists('PTSSPENT', $tbtVars); if ($existEarn || $existSpent) { $lastTransfers = $tbtCustomer->getTransfers()->selectOnlyActive()->addOrder('last_update_ts', Varien_Data_Collection::SORT_ORDER_DESC); $spent = $earn = null; if ($lastTransfers->getSize()) { list($spent, $earn) = $this->spentAndErn($lastTransfers); } if ($existEarn && $earn) { $tbtVars['PTSEARN'] = $earn; } if ($existSpent && $spent) { $tbtVars['PTSSPENT'] = $spent; } } $tbtVars = $this->expirationPoints($tbtVars, $tbtCustomer); // //Expiration Points // if (array_key_exists('PTSEXP', $tbtVars)) { // $val = Mage::getSingleton('rewards/expiry') // ->getExpiryDate($tbtCustomer); // if ($val) { // $val = date_format(date_create_from_format('d/m/Y', $val), 'Y-m-d'); // $tbtVars['PTSEXP'] = $val; // } // } // foreach ($tbtVars as $key => $var) { // $aux = str_replace('points', '', strtolower($var)); // $tbtVars[$key] = str_replace('no', 0, $aux); // // } $tbtVars = array_filter($tbtVars); //Add data to MailChimp merge vars $holder->setData($tbtVars); } } return $this; }
public function salesQuoteItemSetCustomAttribute(Varien_Event_Observer $observer) { $item = $observer->getQuoteItem(); $product = $observer->getProduct(); $categories = $observer->getProduct()->getCategoryIds(); //$item = Mage::getSingleton('checkout/session')->getQuote()->getItemByProduct($product); $price = $observer->getEvent()->getQuoteItem()->getPrice(); $name = $observer->getEvent()->getQuoteItem()->getName(); $qty = $observer->getEvent()->getQuoteItem()->getQty(); $id = $observer->getEvent()->getQuoteItem()->getProductId(); $sku = $observer->getEvent()->getQuoteItem()->getSku(); $pid = Mage::getModel('catalog/product')->getResource()->getIdBySku($sku); $foundProduct = Mage::getModel('catalog/product')->load($pid); $price = $foundProduct->getPrice(); $specialprice = $foundProduct->getSpecialPrice(); $total_amount_setting = Mage::getStoreConfig('payumoneycharge/payumoneycharge_group/freeshippingtotal'); $total_minimum_setting = Mage::getStoreConfig('payumoneycharge/payumoneycharge_group/minimumshippingamount'); $total_each_setting = Mage::getStoreConfig('payumoneycharge/payumoneycharge_group/shipamounteach'); /*if(in_array(165,$categories) || in_array(141,$categories)) { $product = Mage::getSingleton('catalog/product')->load($id); $moq = $product->getMinqtyforfreeshipping(); $shippingcost = $product->getShippingcost(); $extraShippingCost = $moq - $qty * $shippingcost; $item->setExtraShipping($extraShippingCost); Mage::log("Bulk Shipping Charges:".$extraShippingCost); } else */ if (in_array(154, $categories) || in_array(155, $categories) || in_array(156, $categories) || in_array(160, $categories) || in_array(163, $categories) || in_array(182, $categories) || in_array(188, $categories) || in_array(189, $categories) || in_array(180, $categories) || in_array(215, $categories)) { $product = Mage::getSingleton('catalog/product')->load($id); $shippingcost = $product->getShippingcost(); $extraShippingCost = 0; $item->setExtraShipping($extraShippingCost); Mage::log("Civil Shipping Charges:" . $extraShippingCost); } else { if ($specialprice) { $row_total = $specialprice * $qty; } else { $row_total = $price * $qty; } if ($row_total >= 200) { if ($specialprice) { $cartGrossTotal = $specialprice * $qty; } else { $cartGrossTotal = $price * $qty; } $grand = $cartGrossTotal; $gtotal = (int) $grand / 100; $noofhun = (int) $gtotal - 1; $timesofhun = $total_minimum_setting + $noofhun * $total_each_setting; } else { $timesofhun = $total_minimum_setting; } $item->setShippingCost($timesofhun); Mage::log("Non Bulk Shipping Charges:" . $timesofhun); //Mage::log("Product Id:".$name); //Mage::log("Product Id:".$id); } }
/** * @param Varien_Event_Observer $observer * @return Hackathon_EmailPreview_Model_Mail_Type_Sales_NewShipmentEmail */ public function hackathonEmailpreviewRenderEmailBefore(Varien_Event_Observer $observer) { if ($observer->getEvent()->getData('templateType') !== self::TYPE_NEW && $observer->getEvent()->getData('templateType') !== self::TYPE_UPDATE) { return $this; } $this->_prepareParams($observer, 'sales/order_shipment', 'shipment'); return $this; }
/** * In Magento 1.3.3 and lower the data is stored as getObject(), but in newer versions * the data is stored as getDataObject. * @param Varien_Event_Observer $o * @return Mage_Core_Model_Abstract */ public function getEventObject(Varien_Event_Observer $o) { $obj = $o->getEvent()->getDataObject(); if (!Mage::helper('rewards/version')->isBaseMageVersionAtLeast("1.4.0.0")) { $obj = $o->getEvent()->getObject(); } return $obj; }
/** * Add address label massaction * * @param Varien_Event_Observer $observer * @return Cubix_AddressLabel_Model_Observer */ public function addMassaction($observer) { if (!$observer->getEvent()->getBlock() instanceof Mage_Adminhtml_Block_Sales_Order_Grid) { return $this; } $block = $observer->getEvent()->getBlock(); $block->getMassactionBlock()->addItem('print_addresslabel', array('label' => Mage::helper('cubix_addresslabel')->__('Print Address Label'), 'url' => Mage::getUrl('addresslabeladmin/adminhtml_pdf/printLabel'))); }
/** * @param Varien_Event_Observer $observer * @return Hackathon_EmailPreview_Model_Mail_Type_OrderEmail */ public function hackathonEmailpreviewRenderEmailBefore(Varien_Event_Observer $observer) { if ($observer->getEvent()->getData('templateType') !== self::TYPE) { return $this; } $templateParams = $observer->getEvent()->getData('templateParams'); $templateParams->setWarnings(Mage::helper('hackathon_emailpreview')->__('[error 1]') . "\n" . Mage::helper('hackathon_emailpreview')->__('[error 2]')); return $this; }
/** * Set additional payment information in backend order view page. * * @param Varien_Event_Observer $observer */ public function setBackendPaymentInfo(Varien_Event_Observer $observer) { $payment = $observer->getEvent()->getPayment(); /* @var $payment Mage_Payment_Model_Info */ if ($payment->getMethodInstance()->getCode() == self::PAYMENT_METHOD) { $observer->getEvent()->getTransport()->setData(array(Mage::helper('bb')->__('Bank Method') => $this->getHelper()->getTypeMessage($payment->getAdditionalInformation('paymentType')), Mage::helper('bb')->__('Bank Status') => $this->getHelper()->getStatusMessage($payment->getAdditionalInformation('paymentStatus')))); } return; }
public function beforeCatalogProductCollectionLoad(Varien_Event_Observer $observer) { if (Mage::getSingleton('core/design_package')->getPackageName() == 'em0122' && Mage::getDesign()->getTheme('frontend') == 'default') { $collection = $observer->getEvent()->getCollection(); if (!$collection instanceof Mage_Reports_Model_Resource_Product_Collection) { $observer->getEvent()->getCollection()->addAttributeToSelect('image'); } } }
public function addLayoutUpdate(Varien_Event_Observer $observer) { $action = $observer->getEvent()->getAction(); // only apply layout updates to our controller if ($action instanceof Enru_Madeby_ByController) { $update = $observer->getEvent()->getLayout()->getUpdate(); $update->addHandle('enrumadeby_by'); } }
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_AbandonedCart_Model_Config::ACTIVE, false, "default", $store); Mage::getConfig()->cleanCache(); } }