Back to PhocacartTax class

Method changeTaxBasedOnRule

public static
changeTaxBasedOnRule
(mixed $taxId, mixed $tax, mixed $taxCalculationType, mixed $taxTitle)

Method changeTaxBasedOnRule - Source code

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;
}