GeoIP 4.0

\BXmaker\GeoIP\Service\Base

\BXmaker\GeoIP\Service\Base -

abstract namespace BXmaker\GeoIP\Service;
class Base
{
    //...
}

Методы

__construct

public function __construct(array $arParams = []);

canUseLocalDatabase

Имеет ли локальную базу данных

/**
 * @return false
 */
public static function canUseLocalDatabase();

canUseOnClient

Может ли запрос быть инициирован на клиентской стороне

/**
 * @return false
 */
public static function canUseOnClient();

canUseOnServer

Может ли запрос быть инициирован на серверной стороне

/**
 * @return bool
 */
public static function canUseOnServer();

fromJson

Разберет JSON и вернет данные в нужной кодировке

/**
 * @param string $json
 * @return mixed
 * @throws \Bitrix\Main\ArgumentException
 */
protected function fromJson(string $json);

fromUtf8

Преобразует данные в нужную кодировку из UTF-8 и вернет

/**
 * @param string|array $data
 * @return string|array
 */
protected function fromUtf8($data);

getClientData

Вернет данные для клиентской стороны, которые позволят загрузить расширение и определить геолокацию

/**
 * @return array
 */
public function getClientData($arParams = []);

getCode

Вернет уникальный код сервиса

/**
 * @return string
 */
public static abstract function getCode();

getConfig

Параметры настройки сервиса

/**
 * @return array
 */
public static function getConfig();

getData

/**
 * @param string $ip
 * @param string $lang
 * @return null|\BXmaker\GeoIP\Service\Data
 */
public abstract function getData(string $ip, string $lang = 'ru');

getDataByClientSideServiceResponse

/**
 * @param mixed $response
 * @param mixed $clientSideServiceData - те же данные, что и полученные методом getClientData
 * @return null|\BXmaker\GeoIP\Service\Data
 */
public function getDataByClientSideServiceResponse($response, $clientSideServiceData);

getDescription

Вернет описание сервиса

/**
 * @return string
 */
public static abstract function getDescription();

getHttpClient

Вернет объект для запросов к внешнему сервису

/**
 * @return \Bitrix\Main\Web\HttpClient
 */
public function getHttpClient();

getLocalDatabaseUpdatedDate

Вернет дату последнего обновления локальной базы IP адресов

/**
 * @return null|\Bitrix\Main\Type\DateTime
 */
public function getLocalDatabaseUpdatedDate();

getMessage

Вернет языкозависимое сообщение

/**
 * @param $name
 * @param $arReplace
 * @return string
 */
public static function getMessage($name, $arReplace = null);

getName

Вернет название сервиса

/**
 * @return string
 */
public static abstract function getName();

getParam

Вернет значение параметра из настроек проинициализированного сервиса

/**
 * @param $code
 * @return mixed|null
 */
public function getParam($code);

isEnabledUseLocaDatabase

public function isEnabledUseLocaDatabase();

isEnabledUseOnClient

Включена ли возможность использвоания на клиенте

/**
 * @return bool
 */
public function isEnabledUseOnClient();

isEnabledUseOnServer

Включена ли возомжность использвоания на сервере

/**
 * @return bool
 */
public function isEnabledUseOnServer();

setEnabledUseLocalDatabase

Включение/отключение использования локлаьной базы данных, если это доступно

/**
 * @param $flag
 * @return void
 */
public function setEnabledUseLocalDatabase($flag);

setEnabledUseOnClient

Включение/отключение использования в браузере

/**
 * @param $flag
 * @return void
 */
public function setEnabledUseOnClient($flag);

setEnabledUseOnServer

Включение/отключение использования на сервере

/**
 * @param $flag
 * @return void
 */
public function setEnabledUseOnServer($flag);

updateLocalDatabase

Запуск обнволения локальной базы данных по IP адерсам

/**
 * @return bool
 */
public function updateLocalDatabase() : bool;