Back to PhocacartZone class

Method isCountryOrRegionIncluded

public static
isCountryOrRegionIncluded
(mixed $zones, mixed $country, mixed $region)

Method isCountryOrRegionIncluded - Source code

public static function isCountryOrRegionIncluded($zones, $country, $region)
{
    if (!empty($zones)) {
        foreach ($zones as $k => $v) {
            // Get all countries from current zone - zones which are set as rules in shipping rule
            $countries = self::getCountries((int) $v);
            // Is user's country included in country which is included in selected Zone
            if (in_array((int) $country, $countries)) {
                return true;
            }
            // Get all regions from current zone - zones which are set as rules in shipping rule
            $regions = self::getRegions((int) $v);
            // Is user's region included in region which is included in selected Zone
            if (in_array((int) $region, $regions)) {
                return true;
            }
        }
        /*
        			// POSSIBLE SOLUTION Countries and regions not in one foreach, first we test countries than regions
        			foreach($zones as $k => $v) {
        				// Get all regions from current zone - zones which are set as rules in shipping rule
        				$regions = self::getRegions((int)$v);
        				// Is user's region included in region which is included in selected Zone
        				if (in_array((int)$region, $regions)) {
        					return true;
        				}
        			}*/
    }
    return false;
}