Beispiel #1
0
 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;
 }
Beispiel #4
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;
 }
 /**
  * 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;
 }
Beispiel #6
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();
                 $productIds[] = $productId;
                 $cart->getQuote()->removeItem($itemId);
             }
         }
     }
     if (!empty($productIds)) {
         foreach ($productIds as $productId) {
             $wishlist->addNewItem($productId);
         }
         $wishlist->save();
     }
     return $this;
 }
Beispiel #7
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;
 }
 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);
             }
         }
     }
 }
Beispiel #9
0
 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
 }
Beispiel #10
0
 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();
         }
     }
 }
Beispiel #13
0
 /**
  * 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);
     }
 }
Beispiel #17
0
 /**
  * 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;
         }
     }
 }
Beispiel #19
0
 /**
  * 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;
 }
Beispiel #21
0
 /**
  * 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;
 }
Beispiel #22
0
 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);
     }
 }
Beispiel #23
0
 /**
  * @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;
 }
Beispiel #24
0
 /**
  * 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;
 }
Beispiel #25
0
 /**
  * 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;
 }
Beispiel #27
0
 /**
  * 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;
 }
Beispiel #28
0
 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');
         }
     }
 }
Beispiel #29
0
 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();
     }
 }