PATH:
home
/
sparklp6
/
public_html
/
sparklerfilters-org
/
administrator
/
components
/
com_j2store
/
models
<?php /** * @package J2Store * @copyright Copyright (c)2014-17 Ramesh Elamathi / J2Store.org * @license GNU GPL v3 or later */ // No direct access to this file defined('_JEXEC') or die; class J2StoreModelPromotions extends F0FModel { /** * Method to buildQuery to return list of data * @see F0FModel::buildQuery() * @return query */ public function buildQuery($overrideLimits = false) { $app = JFactory::getApplication(); $db = JFactory::getDbo(); $query = $db->getQuery(true); $this->getSelectQuery($query); $this->getWhereQuery($query); return $query; } /** * Method to getSelect query * @param unknown_type $query */ protected function getSelectQuery(&$query) { $query->select("promotion.extension_id,promotion.name,promotion.type,promotion.folder,promotion.element,promotion.params,promotion.enabled,promotion.ordering") ->from("#__extensions as promotion"); } protected function getWhereQuery(&$query) { $query->where("promotion.type='plugin'"); $query->where("promotion.element LIKE 'promotion_%'"); $query->where("promotion.folder='j2store'"); } protected function onProcessList(&$resultArray){ foreach($resultArray as &$res){ $res->view = JText::_('J2STORE_VIEW'); $xmlfile = JPATH_SITE.'/plugins/j2store/'.$res->element.'/'.$res->element.'.xml'; $version = ''; if(JFile::exists($xmlfile)) { $xml = JFactory::getXML($xmlfile); $res->version =(string)$xml->version; } } } public function getPromotionRates(&$order) { static $rates; if (empty($rates) || !is_array($rates)) { $rates = array(); } if (!empty($rates)) { return $rates; } $app = JFactory::getApplication(); JPluginHelper::importPlugin ('j2store'); $plugins = $this->enabled(1)->getList(); $rates = array(); // add taxes, even thought they aren't displayed $order_tax = 0; // add taxes, even thought they aren't displayed $order_tax = 0; $orderitems = $order->getItems(); foreach( $orderitems as $item ) { $order->order_subtotal += $item->orderitem_tax; $order_tax += $item->orderitem_tax; } if ($plugins) { foreach ($plugins as $plugin) { $promotionOptions = $app->triggerEvent( "onJ2StoreGetPromotionOptions", array( $plugin->element, $order ) ); if (in_array(true, $promotionOptions, true)) { $results = $app->triggerEvent( "onJ2StoreGetPromotionRates", array( $plugin->element, $order ) ); foreach ($results as $result) { if(is_array($result)) { foreach( $result as $r ) { $extra = 0; // here is where a global handling rate would be added // if ($global_handling = $this->defines->get( 'global_handling' )) // { // $extra = $global_handling; // } $r['extra'] += $extra; $r['total'] += $extra; $rates[] = $r; } } } } } } $order->order_subtotal -= $order_tax; return $rates; } }
[-] shippings.php
[edit]
[-] coupons.php
[edit]
[-] productoptions.php
[edit]
[-] inventories.php
[edit]
[-] configurations.php
[edit]
[-] orders.php
[edit]
[+]
fields
[-] productprices.php
[edit]
[-] index.html
[edit]
[-] customers.php
[edit]
[-] apps.php
[edit]
[-] productoptionvalues.php
[edit]
[-] myprofiles.php
[edit]
[-] queues.php
[edit]
[-] emailtemplates.php
[edit]
[-] eupdates.php
[edit]
[+]
behavior
[-] reports.php
[edit]
[-] invoicetemplates.php
[edit]
[-] addresses.php
[edit]
[-] taxprofiles.php
[edit]
[-] orderhistories.php
[edit]
[-] manufacturers.php
[edit]
[-] carts.php
[edit]
[-] orderitems.php
[edit]
[-] storeprofiles.php
[edit]
[-] products.php
[edit]
[-] geozones.php
[edit]
[-] currencies.php
[edit]
[-] cartitems.php
[edit]
[-] filtergroups.php
[edit]
[-] orderdownloads.php
[edit]
[-] options.php
[edit]
[-] appstores.php
[edit]
[-] customfields.php
[edit]
[-] vouchers.php
[edit]
[-] vendors.php
[edit]
[-] shippingtroubles.php
[edit]
[-] updates.php
[edit]
[-] variants.php
[edit]
[+]
..
[-] promotions.php
[edit]
[-] cartadmins.php
[edit]
[-] producttags.php
[edit]
[-] payments.php
[edit]