Все модули устанавливаются и обновляются только на активные лицензии 1С-Битрикс: Управление сайтом. Узнать про лицензии можно на странице продление лицензии 1С-Битрикс.
Модуль получает местоположение пользователя по его IP, и сохраняет эти данные в сессии и cookies.
Для определения местоположения используется сервис IpGeoBase.
Если сервис IpGeoBase недоступен, модуль пытается получить данные от сервиса geoip.elib.ru.
Поиск географического местонахождения IP-адреса, выделенного RIPE локальным интернет-реестрам (LIR-ам) для Российской Федерации и Украины. Поиск IP адреса осуществляется с точностью до города.
К модулю прилагается простейший компонент, который выводит город и область, к которому принадлежит IP - адрес посетителя.
Модуль получает местоположение пользователя по его IP, и сохраняет эти данные в cookies.
Для разработчиков: данные хранятся виде сериализованного массива в переменной куки ПРЕФИКС_GEOIP, и в виде обычного массива - в $_SESSION[GEOIP]
Получить данные можно так:
if(CModule::IncludeModule("altasib.geoip"))
{
$arData = ALX_GeoIP::GetAddr();
print_r($arData);
}
Работает примерно так: при первом запросе местоположения, модуль запрашивает данные с сервиса, сохраняет полученные результаты в сессии и cookies. При следующих запросах, данные берутся из сессии.
Использование cookies нужно для того, чтобы если пользователь уже заходил на сайт и для него было определено местоположение, то при повторном заходе модулю не требовалось опять получать данные. При этом модуль сравнивает предыдущий IP-адрес (который сохранился в куках) и текущий - на тот случай, если у посетителя вдруг изменилось местоположение (переехал в другой город).
Сохранение результатов в сессии и куках позволяет максимально минимизировать количество запросов к сервису и сохранять работоспособность для большинства посетителей даже в случаях, когда сервис определения местоположения недоступен.
- Добавлена возможность явного указания ip адреса в методе ALX_GeoIP::GetAddr($ip_address).
- Добавлена альтернатива получения данных с сервисов, если нет cURL.
- Исправлен механизм сохранения данных в cookies и сессии.
1.1.7
- Внесены изменения в соответствии с новыми требованиями сервиса geoip.elib.ru - обязательная регистрация после 1 ноября 2015 года и получение уникального кода для каждого сайта.
1.1.6
- Удаление ненужного логгирования работы модуля.
1.1.5
- Демонстрационный компонент теперь поддерживает технологию "композит"
1.1.4
- Переработано обращение к сервису http://geoip.elib.ru/ (добавлено ограничение ожидания)
1.1.3
- Исправлен адрес запроса данных об адресе на новый
1.1.2
- Исправлена ошибка сохранения предыдущего IP-адреса посетителя в cookie
- Добавлена проверка на наличие функции cURL, необходимой для работы модуля
1.1.1
- Доработан функционал получения IP пользователя
1.1.0
- Время ожидания ответа сервиса уменьшено до 1 секунды
- Добавлен функционал работы с дополнительным сервисом geoip.elib.ru
- При неудачной попытке получить данные от сервиса ipgeobase.ru модуль делает запрос к сервису geoip.elib.ru
1.0.2
- Добавлено ограничение времени ожидания ответа сервера, незначительные изменения кода
1.0.1
- Добавлена поддержка utf-8 и автоопределение кодировки сайта