public static
isCountryOrRegionIncluded
(mixed $zones, mixed $country, mixed $region)
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;
}