/** * Method provides itemwise tax details. * * @param object $vars Data needed for tax plugins. * * @since 1.0 * @return null */ function tj_calculateTax($vars) { $itemTaxDetails = array(); $cartitems = $vars->cartdetails; $dis_totalamt = $vars->totalAmount; $address = $vars->addressDetails; // Load helper files $this->_TjloadTaxHelperFiles(); $itemTaxDetails = array(); $taxHelper = new taxHelper(); foreach ($cartitems as $citem) { if ($citem['item_id']) { $item_id = $citem['item_id']; // Get Current item tax details $itemTaxDetails[$item_id] = $taxHelper->getItemTax($citem['product_final_price'], $citem['item_id'], $address); } } return $itemTaxDetails; /* ItemTaxDetails will be like below * [41] => Array // 41 is item_id ( [taxdetails] => Array ( * // add tax detail here ) [taxAmount] => 1.2 )*/ }
/** * This method provide aplicable shipping charge detail using for provided shipping method. * * @param object $vars gives billing, shipping, item_id, methodId(unique plug shipping method id) etc. * * @since 2.2 * @return Shipping charges. */ function getShipMethodChargeDetail($vars) { $shipMethDetail = $this->getShipMethodDetail($vars->shipMethId); // 1.Check method is applicable or not (Min & max amount) etc. $shipMethRateDetail = $this->getApplicableShipMethRateDetail($vars, $shipMethDetail); $ShippingCharges = 0; if ($shipMethRateDetail !== false) { $ShippingCharges = $shipMethRateDetail['shipCost'] + $shipMethRateDetail['handleCost']; } $comp_params = JComponentHelper::getParams('com_quick2cart'); $isTaxationEnabled = $comp_params->get('enableTaxtion', 0); // 2. check shipping tax charges if (!empty($shipMethDetail['taxprofileId']) && $isTaxationEnabled) { $address = new stdClass(); $address->billing_address = $vars->billing_address; $address->shipping_address = $vars->shipping_address; $address->ship_chk = $vars->ship_chk; //$itemTaxDetails[$item_id] = $taxHelper->getItemTax($citem['product_final_price'], $citem['item_id'], $address); // LOAD tax helper $path = JPATH_SITE . DS . 'components' . DS . 'com_quick2cart' . DS . 'helpers' . DS . 'taxHelper.php'; if (!class_exists('productHelper')) { //require_once $path; JLoader::register('taxHelper', $path); JLoader::load('taxHelper'); } $taxHelper = new taxHelper(); $taxDetail = $taxHelper->getItemTax($ShippingCharges, $vars->cartItemDetail['item_id'], $address, $shipMethDetail['taxprofileId']); } if ($shipMethRateDetail !== false) { $shipTaxDetail = isset($taxDetail) ? $taxDetail['taxdetails'] : array(); $taxOnShipCharge = isset($taxDetail) ? $taxDetail['taxAmount'] : 0; $retData['methodId'] = $shipMethDetail['methodId']; $retData['name'] = $shipMethDetail['name']; $retData['totalShipCost'] = $ShippingCharges + $taxOnShipCharge; // This is the unique id of method's price entry id. Which will be used further to revalidate price $retData['plugMethRateId'] = $shipMethRateDetail['id']; //$shipMethDetail['rateDetail'] = $shipMethRateDetail; return $retData; } }