public static
changeTaxBasedOnRule
(mixed $taxId, mixed $tax, mixed $taxCalculationType, mixed $taxTitle)
public static function changeTaxBasedOnRule($taxId, $tax, $taxCalculationType, $taxTitle)
{
$taxChangedA = array();
$taxChangedA['taxrate'] = $tax;
$taxChangedA['taxtitle'] = $taxTitle;
$taxChangedA['taxcountryid'] = 0;
$taxChangedA['taxregionid'] = 0;
//$app = JFactory::getApplication();
//$paramsC = PhocacartUtils::getComponentParameters();
$paramsC = PhocacartUtils::getComponentParameters();
$dynamic_tax_rate = $paramsC->get('dynamic_tax_rate', 0);
$dynamic_tax_rate_priority = $paramsC->get('dynamic_tax_rate_priority', 1);
// country prioritized
if ($dynamic_tax_rate == 0) {
return $taxChangedA;
}
if ($dynamic_tax_rate_priority == 1) {
// Country prioritized
$taxChangedA = self::getTaxByCountry($taxId);
//Not found - try to find region
if (!$taxChangedA) {
$taxChangedA = self::getTaxByRegion($taxId);
}
// If country or region based tax does not have title, set the default one
if ($taxChangedA && $taxChangedA['taxtitle'] == '') {
$taxChangedA['taxtitle'] = $taxTitle;
}
} else {
// Region prioritized
$taxChangedA = self::getTaxByRegion($taxId);
//Not found - try to find country
if (!$taxChangedA) {
$taxChangedA = self::getTaxByCountry($taxId);
}
// If country or region based tax does not have title, set the default one
if ($taxChangedA && $taxChangedA['taxtitle'] == '') {
$taxChangedA['taxtitle'] = $taxTitle;
}
}
// Nothing found - back to default:
if (!$taxChangedA) {
$taxChangedA['taxrate'] = $tax;
$taxChangedA['taxtitle'] = $taxTitle;
$taxChangedA['taxcountryid'] = 0;
$taxChangedA['taxregionid'] = 0;
}
return $taxChangedA;
}