Your IP : 216.73.216.158


Current Path : /home/megadansyp/www/libraries/regularlabs/src/Condition/
Upload File :
Current File : /home/megadansyp/www/libraries/regularlabs/src/Condition/GeoRegion.php

<?php
/**
 * @package         Regular Labs Library
 * @version         23.8.26299
 * 
 * @author          Peter van Westen <info@regularlabs.com>
 * @link            https://regularlabs.com
 * @copyright       Copyright © 2023 Regular Labs All Rights Reserved
 * @license         GNU General Public License version 2 or later
 */

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