• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/lib/service/geoip/sypexgeo.php
  • Класс: BitrixMainServiceGeoIpSypexGeo
  • Вызов: SypexGeo::getDataResult
public function getDataResult($ip, $lang = '')
{
	$dataResult = new Result;
	$geoData = new Data();

	$geoData->lang = $lang = $lang <> '' ? $lang : 'en';

	$key = !empty($this->config['KEY']) ? $this->config['KEY'] : '';
	$res = $this->sendRequest($ip, $key);

	if($res->isSuccess())
	{
		$data = $res->getData();

		$geoData->countryName = $data['country']['name_'.$lang];
		$geoData->countryCode = $data['country']['iso'];
		$geoData->regionName = $data['region']['name_'.$lang];
		$geoData->regionGeonameId = $data['region']['id'];
		$geoData->regionCode = $data['region']['iso'];
		$geoData->cityName = $data['city']['name_'.$lang];
		$geoData->cityGeonameId = $data['city']['id'];
		$geoData->latitude = $data['city']['lat'];
		$geoData->longitude = $data['city']['lon'];
		$geoData->timezone = $data['region']['timezone'];

		if ($geoData->regionGeonameId && $geoData->regionName)
		{
			$geoData->geonames[$geoData->regionGeonameId][$lang] = $geoData->regionName;
		}

		if ($geoData->cityGeonameId && $geoData->cityName)
		{
			$geoData->geonames[$geoData->cityGeonameId][$lang] = $geoData->cityName;
		}
	}
	else
	{
		$dataResult->addErrors($res->getErrors());
	}

	$dataResult->setGeoData($geoData);
	return $dataResult;
}