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. Далее вам необходимо скопировать файлы из данного архива в соответствующие папки вашего сайта.
папка:
должна содержать следующие файлы:

папка:
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. идём в:
Внимание! ВЫШЕ:
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} | {cname}{geodenied} | {cityname} |
б) Или вставляем конструкцию (флаг, название страны и города с определением его местонахождения на Google Maps при клике на ссылку):
{cflag} | {cname}{geodenied} | {gmaps} |
* код выше должен быть в одном рядке !
8. идём в:
templates/ваш шаблон/userinfo.tpl |
перед или после
вставляем флаг страны:
а) Теперь вставим вставляем конструкцию (флаг, название страны и города):
GPS: {cname}{geodenied} | {cityname} |
б) Или вставляем конструкцию (флаг, название страны с определением местонахождения города на Google Maps при клике на ссылку):
GPS: {cname}{geodenied} | {gmaps} |
* предварительно форматируйте под свой HTML шаблона!
9. теперь идём в:
templates/ваш шаблон/profile_popup.tpl |
В удобном для вас месте если захотите, то вставляем флаг страны:
а) Теперь вставим вставляем конструкцию (флаг, название страны и города):
GPS: {cname}{geodenied} | {cityname} |
б) Или вставляем конструкцию (флаг, название страны с определением местонахождения города на Google Maps при клике на ссылку):
GPS: {cname}{geodenied} | {gmaps} |
* предварительно форматируйте под свой HTML шаблона!
В папке:
templates/ваш шаблон/flags/ |
есть файл "0.gif"
его нужно заменить файлом вашей страны, если сайт и в локальной сети, и в нете.
Установка модуля завершена !
Первоначальное исполнение: Beta и Version
1 GeoIP -
keiZ
|