• GeoIP - модуль, определяющий страну и город пользователя по IP-адресу.


  • История версий:
    • Version 1.0 GeoIP Addition
      • Отображение флага
      • Отображение страны
      • Отображение города
    • Version 1.1 GeoIP 1.1 Reloaded
      • Все возможности предыдущей версии
      • переведены названия стран на русский
      • скрипт лишился некоторых ненужных функций
      • фикс с картинками
      • подправлена и доработана инструкция
    • Version 1.2 GeoIP 1.2 Updated (with GoogleMaps support)
      • Все возможности предыдущей версии
      • На 98% новые флаги
      • Поддержка прямого линка на GoogleMaps
      • Модуль теперь подключается с помощью INCLUDE из файла
      • Детальная инструкция, пофиксены старые ошибки
      • В geoipcity.inc возвращены некоторые ф-ции для работы с GMaps
      • Добавлена защита файлов и базы в .htaccess
    • Version 1.2 (Fix 21.08.2009) GeoIP 1.2 Updated (with GoogleMaps support)
      • Обновлена база стран до августа 2009
      • Добавлен .htaccess в папку с флагами, теперь флаги работают всегда
      • Внесены изменения для поддержки GoogleMaps
      • Модуль поддерживает DataLife Engine 8.2
    • Version 1.2.1 (Fix 22.02.2010 by Yeti)
    • P.S. версия GeoIP_1.2Fix_75._8.2, переписанная под новые движки, опубликованная на 4дле от AVET-а, ссылку на которую он оставил в комментарии, оказалась нерабочей...
    • GeoIP 1.2.1 Updated (with GoogleMaps support)
      • Исправлена ошибка, при которой все авторизованные пользователи, кроме группы Администраторов, не могли увидеть определение страны и города
      • Модель поддерживает DataLife Engine 8.2-8.5
    • Version 1.3 (Update 03.01.2013 by Yeti)
    • Переписан и изменён вывод информации, добавлены на выбор варианты установки.
    • GeoIP 1.3 (with GoogleMaps support)
      • Модель поддерживает DataLife Engine 8.2-9.7

     

    1. Для начала вам необходимо скачать базу отсюда:
    http://www.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz

    Размер: около 20 Мб (в распакованном виде около 32 Мб)
    База обновляется 1 раз в месяц !!!

    2. Далее архив необходимо распаковать в папку:

    engine/modules/geoip-api/

     


    3. Далее вам необходимо скопировать файлы из данного архива в соответствующие папки вашего сайта.
    папка:

    engine/modules/geoip-api

    должна содержать следующие файлы:


    папка:

    templates/ваш шаблон/flags/

    должна содержать флаги стран (всего 236 GIF-файлов)
     

    Если всё готово - можете приступать к редактированию файлов.

     


    4. открываем:

    engine/classes/comments.class.php

    ищем:

    $tpl->set_block( "'\\[com-del\\](.*?)\\[/com-del\\]'si", "" );

    а). если хотим чтобы неавторизованные пользователи не видели информации(они увидят сообщение - Данная информация доступна после авторизации), то ниже вставляем этот код:

    if( $is_logged ) {
    // Geo City-Country Added - BEGIN
    @include ENGINE_DIR.'/modules/geoip-api/anycomments.php';
    // Geo City-Country Added - END
    } else {
    $tpl->set( '{cflag}', '' );
    $tpl->set( '{cname}', '' );
    $tpl->set( '{cityname}', '' );
    $tpl->set( '{gmaps}', '');
    $tpl->set( '{geodenied}', 'Данная информация доступна после авторизации' );
    }

    б). если хотите выводить информацию всем пользователям, то ниже вставляем этот код(ограничить всю или часть информации гибко для групп в данном случае можно используя теги group и not-group в шаблонах):

    // Geo City-Country Added - BEGIN
    @include ENGINE_DIR.'/modules/geoip-api/anycomments.php';
    // Geo City-Country Added - END


    5. идём в:

    engine/modules/profile.php

    после:

    while($row = $db->get_row($sql_result))
    {

    $user_found = TRUE;

    а). если хотим чтобы неавторизованные пользователи не видели информации(они увидят сообщение - Данная информация доступна после авторизации) вставляем:

    if( $is_logged ) {
    // Geo City-Country Added - BEGIN
    @include ENGINE_DIR.'/modules/geoip-api/onlyprofile.php';
    // Geo City-Country Added - END
    } else {
    $tpl->set( '{cflag}', '' );
    $tpl->set( '{cname}', '' );
    $tpl->set( '{cityname}', '' );
    $tpl->set( '{gmaps}', '');
    $tpl->set( '{geodenied}', 'Данная информация доступна после авторизации' );
    }

    б). если хотите выводить информацию всем пользователям, то ниже вставляем этот код(ограничить всю или часть информации гибко для групп в данном случае можно используя теги group и not-group в шаблонах) вставляем:

    // Geo City-Country Added - BEGIN
    @include ENGINE_DIR.'/modules/geoip-api/onlyprofile.php';
    // Geo City-Country Added - END


    6. идём в:

    engine/ajax/profile.php

    Внимание! ВЫШЕ:

    if( $row['signature'] and $user_group[$row['user_group']]['allow_signature'] ) {

    а). если хотим чтобы неавторизованные пользователи не видели информации(они увидят сообщение - Данная информация доступна после авторизации) вставляем:

    if( $is_logged ) {
    // Geo City-Country Added - BEGIN
    @include ENGINE_DIR.'/modules/geoip-api/onlyprofile.php';
    // Geo City-Country Added - END
    } else {
    $tpl->set( '{cflag}', '' );
    $tpl->set( '{cname}', '' );
    $tpl->set( '{cityname}', '' );
    $tpl->set( '{gmaps}', '');
    $tpl->set( '{geodenied}', 'Данная информация доступна после авторизации' );
    }

    б). если хотите выводить информацию всем пользователям, то ниже вставляем этот код(ограничить всю или часть информации гибко для групп в данном случае можно используя теги group и not-group в шаблонах) вставляем:

    // Geo City-Country Added - BEGIN
    @include ENGINE_DIR.'/modules/geoip-api/onlyprofile.php';
    // Geo City-Country Added - END


    7. идём в:

    templates/ваш шаблон/comments.tpl

    В удобном для вас месте вставляем флаг страны:

    {cflag}

    а) Далее, в удобном месте, вставляем конструкцию (флаг, название страны и города):

    {cflag} | {cname}{geodenied} | {cityname}

    б) Или вставляем конструкцию (флаг, название страны и города с определением его местонахождения на Google Maps при клике на ссылку):

    {cflag} | {cname}{geodenied} | {gmaps}

    * код выше должен быть в одном рядке !
    8. идём в:

    templates/ваш шаблон/userinfo.tpl

    перед или после

    {usertitle}

    вставляем флаг страны:

    {cflag}

    а) Теперь вставим вставляем конструкцию (флаг, название страны и города):

    GPS: {cname}{geodenied} | {cityname}

    б) Или вставляем конструкцию (флаг, название страны с определением местонахождения города на Google Maps при клике на ссылку):

    GPS: {cname}{geodenied} | {gmaps}

    * предварительно форматируйте под свой HTML шаблона!
    9. теперь идём в:

    templates/ваш шаблон/profile_popup.tpl

    В удобном для вас месте если захотите, то вставляем флаг страны:

    {cflag}

    а) Теперь вставим вставляем конструкцию (флаг, название страны и города):

    GPS: {cname}{geodenied} | {cityname}

    б) Или вставляем конструкцию (флаг, название страны с определением местонахождения города на Google Maps при клике на ссылку):

    GPS: {cname}{geodenied} | {gmaps}

    * предварительно форматируйте под свой HTML шаблона!
    В папке:

    templates/ваш шаблон/flags/


    есть файл "0.gif"
    его нужно заменить файлом вашей страны, если сайт и в локальной сети, и в нете.

    Установка модуля завершена !
    Первоначальное исполнение: Beta и Version 1 GeoIP - keiZ

    Автор модуля: AVET, Обновил: Yeti