Расширение для CMF Cotonti. Интеграция данных базы SxGeoIP.
Интеграция в CMF Cotonti данных базы SxGeoIP, содержащих данные географической привязки IP-адресов к странам и городам мира. База разработана, поддерживается и распространяется (под лицензией BSD) сайтом http://sypexgeo.net/
- Высокая скорость работы
- Определение по IP-адресу страны и города
- Хорошая точность определения по странам СНГ
- База содержит названия населенных пунктов в русской транскрипции
- не обновлялась с весны 2013 года (хотя автор заявлял подготовку очередной версии)
Пример работы базы вы можете найти на странице разработчика базы по адресу: http://sypexgeo.net/
Cotonti Siena v0.9.x и более новые.
Плагин начнет работу сразу после установки. Однако, для более тонкой настройки Вы можете заглянуть в раздел настроек плагина.
Используются данные о гео-привязке IP адресов, упакованные в файл формата SxGeoIP. Подробнее про формат смотри на сайте автора http://sypexgeo.net/. Данные о стране и городе хранятся и извлекаются отдельно (из разных файлов).
- Распаковать, скопировать файлы в корень сайта.
- Установить через панель Администрирования → Расширения (
Управление сайтом → Расширения
) - Проверьте настройки в меню настройки плагина (
Управление сайтом → Расширения → sxgeo → Конфигурация
).
Использовать данные можно двумя способами
-
Через вызовы функций
sx_getCity($ip)
иsx_getCountry($ip)
. Эти функции возвращают строки с именем города и страны соответственно. Если IP адрес не указан - система использует IP адрес текущего пользователя.Примеры: {PHP|sx_getCity('8.8.8.8')} {PHP.usr.ip|sx_getCountry($this)}
Обратите внимание, что название страны возвращается в текущей локали Cotonti (выбранной пользователем),
исходя из определенного языкового файла countries.*.lang.php
. Название города возвращается всегда
в русском варианте, в том виде, как извлечено из файла SxGeoIP.
-
Если в настройках расширения включен режим
Автоматическая инициализация
, то в шаблонах можно использовать прямые обращения к сгенерированным для текущего пользователя данным.Формат данных:
/**
* Contains data for country code and id from last sx_getCountry*() call.
*/
$sx_country = array(
'iso' => '', // ISO 3166-1 code in appear case
'name' => '', // Country name with Cotonti locale as defined in countries.*.lang.php file
'id' => 0 // Country ID used in SxGeoIP base
);
/**
* Contains info about city from last sx_getCity*() call.
*/
$sx_city = array(
'info' => array(), // basic info, see sx_getCity() function for details
'ext_info' => array() //extended info, see sx_getCityExt() function for details
);
Вызов из шаблона:
город - {PHP.sx_city.info.city}
страна - {PHP.sx_country.name}
Distributed under BSD license.
Андрей Мацовкин - автор плагина для Cotonti База IP адресов разработана, поддерживается и распространяется (под лицензией BSD) сайтом http://sypexgeo.net/
- Cotonti.com -- Home of Cotonti CMF
- sxgeo на GitHub -- Свежая версия на GitHub