Cotonti / Open Source PHP Content Management FrameworkContent Management Framework

Расширения / Мобильность и геолокация / Интеграция БД SxGeoIP (геолокация по IP)

Интеграция в CMF Cotonti данных базы SxGeoIP, содержащих данные географической привязки IP-адресов к странам и городам мира. База разработана, поддерживается и распространяется (под лицензией BSD) сайтом http://sypexgeo.net/

SxGeo IP base

Расширение для CMF Cotonti. Интеграция данных базы SxGeoIP.

#1. Описание

Интеграция в CMF Cotonti данных базы SxGeoIP, содержащих данные географической привязки IP-адресов к странам и городам мира. База разработана, поддерживается и распространяется (под лицензией BSD) сайтом http://sypexgeo.net/

#2. Возможности и особенности

  • Высокая скорость работы
  • Определение по IP-адресу страны и города
  • Хорошая точность определения по странам СНГ
  • База содержит названия населенных пунктов в русской транскрипции

#3. Недостатки

  • не обновлялась с весны 2013 года (хотя автор заявлял подготовку очередной версии)

#4. Демонстрация

Пример работы базы вы можете найти на странице разработчика базы по адресу: http://sypexgeo.net/

#5. Требования

Cotonti Siena v0.9.x и более новые.

#5.1. Комментарии

Плагин начнет работу сразу после установки. Однако, для более тонкой настройки Вы можете заглянуть в раздел настроек плагина.

#5.2. Устройство

Используются данные о гео-привязке IP адресов, упакованные в файл формата SxGeoIP. Подробнее про формат смотри на сайте автора http://sypexgeo.net/. Данные о стране и городе хранятся и извлекаются отдельно (из разных файлов).

#6. Установка

  • Распаковать, скопировать файлы в корень сайта.
  • Установить через панель Администрирования → Расширения (Управление сайтом → Расширения)
  • Проверьте настройки в меню настройки плагина (Управление сайтом → Расширения → sxgeo → Конфигурация).

#6.1. Использование

Использовать данные можно двумя способами

  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.

  1. Если в настройках расширения включен режим Автоматическая инициализация, то в шаблонах можно использовать прямые обращения к сгенерированным для текущего пользователя данным.

    Формат данных:


    /**
    * 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}

#7. Условия распространения (лицензия)

Distributed under BSD license.

#8. Авторство

Андрей Мацовкин - автор плагина для Cotonti База IP адресов разработана, поддерживается и распространяется (под лицензией BSD) сайтом http://sypexgeo.net/

#9. Ссылки


1. Uch  11.11.2013 10:39

Спасибо!
Добавил файл для comments.loop и стало просто замечательно :)

Всего: 1, на странице: 1

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