Server : LiteSpeed System : Linux server 3.10.0-1160.90.1.el7.x86_64 #1 SMP Thu May 4 15:21:22 UTC 2023 x86_64 User : alsaif ( 1057) PHP Version : 7.4.33 Disable Function : show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname Directory : /home/alsaif/public_html/plugins/system/nrframework/NRFramework/Assignments/ |
<?php
/**
* @author Tassos Marinos <info@tassos.gr>
* @link http://www.tassos.gr
* @copyright Copyright © 2018 Tassos Marinos All Rights Reserved
* @license GNU GPLv3 <http://www.gnu.org/licenses/gpl.html> or later
*/
namespace NRFramework\Assignments;
defined('_JEXEC') or die;
use NRFramework\Assignments\GeoIPBase;
class Region extends GeoIPBase
{
/**
* Returns the assignment's value
*
* @return string Region codes
*/
public function value()
{
return $this->getRegionCodes();
}
/**
* Get list of all ISO 3611 Country Region Codes
*
* @return array
*/
private function getRegionCodes()
{
$regionCodes = [];
$record = $this->geo->getRecord();
if ($record === false || is_null($record))
{
return $regionCodes;
}
// Skip if no regions found
if (!$regions = $record->subdivisions)
{
return $regionCodes;
}
foreach ($regions as $key => $region)
{
// Prepend country isocode to the region code
$regionCodes[] = $record->country->isoCode . '-' . $region->isoCode;
}
return $regionCodes;
}
}