GeoIP - модуль, определяющий страну и город пользователя по IP-адресу. История версий: Version: Beta Национальный флаг пользователя 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