GeoRegion.php
1.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
<?php
/**
* @package Regular Labs Library
* @version 18.2.10140
*
* @author Peter van Westen <info@regularlabs.com>
* @link http://www.regularlabs.com
* @copyright Copyright © 2018 Regular Labs All Rights Reserved
* @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL
*/
namespace RegularLabs\Library\Condition;
defined('_JEXEC') or die;
/**
* Class GeoRegion
* @package RegularLabs\Library\Condition
*/
class GeoRegion
extends Geo
{
public function pass()
{
if ( ! $this->getGeo() || empty($this->geo->countryCode) || empty($this->geo->regionCodes))
{
return $this->_(false);
}
$country = $this->geo->countryCode;
$regions = $this->geo->regionCodes;
array_walk($regions, function (&$region, $key, $country) {
$region = $this->getCountryRegionCode($region, $country);
}, $country);
return $this->passSimple($regions);
}
private function getCountryRegionCode(&$region, $country)
{
switch ($country . '-' . $region)
{
case 'MX-CMX':
return 'MX-DIF';
default:
return $country . '-' . $region;
}
}
}