GeoIP 4.0

\BXmaker\GeoIP\Service

\BXmaker\GeoIP\ServiceTable -

namespace BXmaker\GeoIP;
class ServiceTable extends \Bitrix\Main\ORM\Data\DataManager
{
    //...
}

Методы

getFilePath

public static function getFilePath();

getMap

public static function getMap();

getTableName

public static function getTableName();

\BXmaker\GeoIP\Service -

Класс для взаимодействия с сервисами через которые происходит разбор IP адресов

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

Константы

ON_BUILD_SERVICE_LIST

\BXmaker\GeoIP\Service::ON_BUILD_SERVICE_LIST = 'onBuildServiceList'

LOG_UPDATE_LOCAL_DATABASE

\BXmaker\GeoIP\Service::LOG_UPDATE_LOCAL_DATABASE = 'UPDATE_LOCAL_DATABASE'

Методы

__construct

public function __construct();

defineIp

Вернет ip адрес из параметров сервера, если удастся его определить, либо null

/**
 * @return string|null
 */
public function defineIp();

getArray

Вернет массив доступных сервисов

/**
 * @emit self::ON_BUILD_SERVICE_LIST
 * @return mixed [[CLASS:string, NAME: string], ...]
 */
public static function getArray();

getData

Вернет данные по IP адресу

/**
 * @param $ip
 * @return null|\BXmaker\GeoIP\Service\Data
 */
public function getData($ip, $withBitrixGeoService = true);

getIp

Вернет текущий IP адрес

/**
 * @return string|null
 */
public function getIp();

getServiceByCode

Вернет активный проинициализированный сервис по коду, либо null

/**
 * @param $serviceCode
 * @return \BXmaker\GeoIP\Service\Base|null
 * @throws \Bitrix\Main\ArgumentException
 * @throws \Bitrix\Main\ObjectPropertyException
 * @throws \Bitrix\Main\SystemException
 */
public function getServiceByCode($serviceCode);

getServicesDataForClientSide

Вернете массив c данными сервисов для клиентской стороны, определения геопозиции в браузере

/**
 * @return array
 * @throws \Bitrix\Main\ArgumentException
 * @throws \Bitrix\Main\ObjectPropertyException
 * @throws \Bitrix\Main\SystemException
 */
public function getServicesDataForClientSide();

initAllServices

Проинициализирует все активные сервисы

/**
 * @return bool
 * @throws \Bitrix\Main\ArgumentException
 * @throws \Bitrix\Main\ObjectPropertyException
 * @throws \Bitrix\Main\SystemException
 */
public function initAllServices();

initServiceByRow

Инициализация класса сервиса по записи из БД

/**
 * @param array $arService - массив с полями записи
 * @return \BXmaker\GeoIP\Service\Base
 * @throws \Bitrix\Main\ArgumentException
 */
public function initServiceByRow($arService);

isValidIp

Проверка подходит ли IP для использования

/**
 * @param $ip
 * @return bool
 */
public static function isValidIp($ip);

setEnabledBitrixServiceGeoIP

Вклчюение/отклчюение использования встроеных сервисов геолокации, для исключения зацикливания, так как модуль может использовать встроеные сервисы геолокации при том что среди встроенных сервисов геолокации может быть добавлен обработчик от модуля

/**
 * @param $flag
 * @return $this
 */
public function setEnabledBitrixServiceGeoIP($flag);

setIp

Установка конкретного IP

/**
 * @param $ip
 * @return $this
 */
public function setIp($ip);

table

/**
 * @return \BXmaker\GeoIP\ServiceTable
 */
public function table();

updateDatabase

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

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