Расширение для CMF Cotonti. Интеграция данных базы SxGeoIP.
Authors: Андрей Мацовкинn, Алексей Кальнов
Github: https://github.com/Cotonti-Extensions/sxgeo
Интеграция в CMF Cotonti данных базы SxGeoIP, содержащих данные географической привязки IP-адресов к странам и городам мира. База разработана, поддерживается и распространяется (под лицензией BSD) сайтом https://sypexgeo.net/
Пример работы базы вы можете найти на странице разработчика базы по адресу: https://sypexgeo.net/
Cotonti Siena v0.9.23 и более новые.
Плагин начнет работу сразу после установки. Однако, для более тонкой настройки Вы можете заглянуть в раздел настроек плагина.
Используются данные о гео-привязке IP адресов, упакованные в файл формата SxGeoIP. Подробнее про формат смотри на сайте автора https://sypexgeo.net/. Данные о стране и городе хранятся и извлекаются отдельно (из разных файлов).
Управление сайтом → Расширения
)Управление сайтом → Расширения → sxgeo → Конфигурация
).
Использовать данные можно двумя способами
1) Через вызовы функций 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.
2) Если в настройках расширения включен режим Автоматическая инициализация
, то в шаблонах можно использовать прямые обращения к сгенерированным для текущего пользователя данным.
Формат данных:
/**
* Contains data for country code and id from last sx_getCountry*() call.
*/
$sx_country = [
'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 = [
'info' => [], // basic info, see sx_getCity() function for details
'ext_info' => [], //extended info, see sx_getCityExt() function for details
];
Вызов из шаблона:
город - {PHP.sx_city.info.city}
страна - {PHP.sx_country.name}
Distributed under BSD license.
Андрей Мацовкин - автор плагина для Cotonti База IP адресов разработана, поддерживается и распространяется (под лицензией BSD) сайтом https://sypexgeo.net/
Поблагодарили: 7 раз
Спасибо!
Добавил файл для comments.loop и стало просто замечательно :)