Перейти к контенту

[2.3.x]GeoMod - реальные страны пользователей (с флагами) и детектор п


alrond

Рекомендуемые сообщения

Не получается свести мод с Кто был сегодня!- пишет ошбку!

1) проверить правильность внесенных изменений, не пропущено ли что

2) детальнее про ошибку

Ссылка на комментарий
Поделиться на других сайтах

  • Ответы 178
  • Создана
  • Последний ответ

Лучшие авторы в этой теме

Лучшие авторы в этой теме

Загружено фотографий

Всё работает, кроме отображения флага в топиках под номером пользователя.

post-46148-1228184685_thumb.jpg

Следовал чётко по инструкции, проверил на правильность несколько раз.

Не впервой моды ставить. Версия 2.2.2.

Ссылка на комментарий
Поделиться на других сайтах

Всё работает, кроме отображения флага в топиках под номером пользователя.

post-46148-1228184685_thumb.jpg

Следовал чётко по инструкции, проверил на правильность несколько раз.

Не впервой моды ставить. Версия 2.2.2.

судя по картинку, скрипт не получает данные из базы для юзеров, проверить шаг 12 "/sources/sql/mysql_queries.php"

Ссылка на комментарий
Поделиться на других сайтах

Почему-то не у всех пользователей в онлайне отображается флаг:

post-75833-1228246712_thumb.jpg

 

Во-вторых: при поддержке мода Кто был сегодня,когда правлю шаблон func_boardstats вылезает такое:

Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in sources/lib/func_boardstats.php on line 272

 

Кстати в инструкции где прописать код выше $data['memnum']++; находится почти такой же код (у меня):

$data['members'][$row['id']] = "<a href='{$this->ipsclass->base_url}act=Profile&MID={$row['id']}' title='".$this->ipsclass->get_date($row['last_activity'], 'ONLINE_SHOW', 1)."'>{$this->ipsclass->cache['group_cache'][$row['mgroup']]['prefix']}{$row['members_display_name']}{$this->ipsclass->cache['group_cache'][$row['mgroup']]['suffix']}</a>";

 

Может можно как-то соеденить эти строчки в одну,чтоб небыло ошибки?

Ссылка на комментарий
Поделиться на других сайтах

Почему-то не у всех пользователей в онлайне отображается флаг:

post-75833-1228246712_thumb.jpg

Это нормально если мод был установлен только что - это старые сессии висят, неопределенные...пройдет со временем :D

Во-вторых: при поддержке мода Кто был сегодня,когда правлю шаблон func_boardstats вылезает такое:

Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in sources/lib/func_boardstats.php on line 272

можно привести кусок этой строки а также пару сверху и снизу? просто у нас могут различаться файлы. у меня на этом месте ничего из мода нет

Кстати в инструкции где прописать код выше $data['memnum']++; находится почти такой же код (у меня):

$data['members'][$row['id']] = "<a href='{$this->ipsclass->base_url}act=Profile&MID={$row['id']}' title='".$this->ipsclass->get_date($row['last_activity'], 'ONLINE_SHOW', 1)."'>{$this->ipsclass->cache['group_cache'][$row['mgroup']]['prefix']}{$row['members_display_name']}{$this->ipsclass->cache['group_cache'][$row['mgroup']]['suffix']}</a>";

 

Может можно как-то соеденить эти строчки в одну,чтоб небыло ошибки?

строчка из мода - это и есть добавление к вашей строчке, так и должно быть. Ваша строка - это отображение имени юзера, моя - просто добавляет в ней же еще и флаг

Ссылка на комментарий
Поделиться на других сайтах

Нашёл ошибку! Спасибо!

Но теперь такое: модератор у меня синего цвета,когда он в онлайне - он отображается обычным чёрным цветом,как пользователи,как мне вернуть цвета моим группам в статистике форума?

 

И хотел спросить,у модератора рядом значёк поискового робота - это тоже временно?

Ссылка на комментарий
Поделиться на других сайтах

Нашёл ошибку! Спасибо!

Но теперь такое: модератор у меня синего цвета,когда он в онлайне - он отображается обычным чёрным цветом,как пользователи,как мне вернуть цвета моим группам в статистике форума?

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

И хотел спросить,у модератора рядом значёк поискового робота - это тоже временно?

Модератор - гуглбот? :D

А вообще т.к. сервис коды еще не включены, то коды поисковых ботов не отсылаются, только страны гле расположены сервера этих ботов.

Значит где-то ошибка в вашем коде. Скорее всего в файле /sources/classes/class_session.php, там есть кусок кода

...$this->geo_code = "10";...

который без обращения к API говорит что это бот по реферреру, который указывается в админке форума в настройках "Spider Bot User-Agent"

Ссылка на комментарий
Поделиться на других сайтах

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

Цвет через админку!

 

Так и что с этим делать?Так и не понял!

...$this->geo_code = "10";...

 

Если посмотреть через act=online,где список онлайн гостей и пользователей,там у модератора всё правильно - Русский!

Ссылка на комментарий
Поделиться на других сайтах

судя по картинку, скрипт не получает данные из базы для юзеров, проверить шаг 12 "/sources/sql/mysql_queries.php"

Спасибо, в двух местах надо было добавить m.ip_geo,p.ip2_geo, работает. :D

Ссылка на комментарий
Поделиться на других сайтах

Цвет через админку!

 

Так и что с этим делать?Так и не понял!

...$this->geo_code = "10";...

 

Если посмотреть через act=online,где список онлайн гостей и пользователей,там у модератора всё правильно - Русский!

Скиньте мне кусок готового html где расположено показывание кто онлайн, чтобы были обе непонятности и с цветом и с админами

Ссылка на комментарий
Поделиться на других сайтах

Еще такие вопросы: можно ли не ставить ссылку на сайт мода а, например, заплатить за ее снятие? Сколько это может стоить? Если превышается ограничение на количество запросов с сайта, возможно ли увеличить квоту и сколько это будет стоить?
Ссылка на комментарий
Поделиться на других сайтах

Еще такие вопросы: можно ли не ставить ссылку на сайт мода а, например, заплатить за ее снятие? Сколько это может стоить?

это, разумеется, нисколько не стоит. ссылка и задумана как цена за

работу, оставлять ли ее - по желанию и на совесть каждого.

Если превышается ограничение на количество запросов с сайта, возможно ли увеличить квоту и сколько это будет стоить?

позже будет введена "официальная" возможность превышения дневнего лимита, пока можете пользоваться так, если назовете сайт(можно в МП), чтобы я не отключал доступ за чрезмерное использование (запросы для адресов поисковых ботов не учитываются)

Изменено пользователем alrond
Ссылка на комментарий
Поделиться на других сайтах

  • 2 недели спустя...

поставил мод и что-то не сраслось :D версия форума 2.3.5 вобщем по скринам видно

http://img384.imageshack.us/my.php?image=68748827ib4.jpg

вобщем у меня флагов нет не где кроме пользователи в online ;)

что я мог не так сделать? всё уже 2 раза проверил :)

Изменено пользователем darkblade
Ссылка на комментарий
Поделиться на других сайтах

поставил мод и что-то не сраслось :D версия форума 2.3.5 вобщем по скринам видно

http://img384.imageshack.us/my.php?image=68748827ib4.jpg

вобщем у меня флагов нет не где кроме пользователи в online ;)

что я мог не так сделать? всё уже 2 раза проверил :)

оказывается у пользователей которые уже были зарегистрированы в профиле не появились влаги, а у тех кто зарегистрировался после установки данного мода появляются.... как можно добавить пользователям которые уже давно зарегистрировались в профиль флажки?

Ссылка на комментарий
Поделиться на других сайтах

поставил мод и что-то не сраслось :D версия форума 2.3.5 вобщем по скринам видно

http://img384.imageshack.us/my.php?image=68748827ib4.jpg

вобщем у меня флагов нет не где кроме пользователи в online ;)

что я мог не так сделать? всё уже 2 раза проверил :)

оказывается у пользователей которые уже были зарегистрированы в профиле не появились влаги, а у тех кто зарегистрировался после установки данного мода появляются.... как можно добавить пользователям которые уже давно зарегистрировались в профиль флажки?

cм первый пост, пункт "Скрипт обновления"

Ссылка на комментарий
Поделиться на других сайтах

Здравствуйте уважаемые!

У меня следующая проблема. Когда мод только вышел... я его поставил все работало непонятно как... ну я как бы и забил это дело так как времени не было... сейчас докапался...

Скачал 1.1 и последние обновления, все изменил, все заново проверил, по файлам прошелся, по кодам все ровно и правильно стоит!

Сделал апдейт старых юзеров.

Проблема следующего рода...

кто присутствует он-лайн не появляются флаги, хотя бывает такое что раз у одного юзера флаг появится, а у всех других нет... но потом исчезнет... :D

вот скрин, хотя видно что есть пробел под флаг.

post-49747-1230286527_thumb.jpg

после обновления, который файл обновляет старых юзеров, стало такое, т.е. когда пишешь отвечаешь в теме, под пользователем появляется его флажок... вроде работает! А вот то что выше написал не работает ;) помогите разобраться?

post-49747-1230286588_thumb.jpg

спасибо.

Ссылка на комментарий
Поделиться на других сайтах

скинь в личку форум, посмотрю html-код

каким файлом обновлял? там новая версия 1.5 есть, исправлены некоторые ошибки

а вот это выражение непонятно, можно другими словами?

когда пишешь отвечаешь в теме, под пользователем появляется его флажок... вроде работает! А вот то что выше написал не работает
Ссылка на комментарий
Поделиться на других сайтах

было бы здорово блокировать страну целиком, вот наблюдаю как китайские боты капчу пробивать пытаются... и ведь пробьют рано или поздно, я бы их с удовольствием заблочил :D
Ссылка на комментарий
Поделиться на других сайтах

было бы здорово блокировать страну целиком, вот наблюдаю как китайские боты капчу пробивать пытаются... и ведь пробьют рано или поздно, я бы их с удовольствием заблочил :D

а это интересная мысль...я такое тоже думал, но на уровне iptables базу запихать, статья об этом будет позже...но можно и в мод интегрировать...

то есть я так понимаю самая интересная функция - блокировка регистрации для определенных стран, так?

а вообще из китая очень много как ботов с зараженных виндузов, так и серверов с кулхацкерами...хотя на один мой форум ходят русские, живущие в китае ;)

я бы посоветовал вставить мод вопросов при регистрации - отсекает 100% свободногуляющих(не спец.написанных) ботов

Ссылка на комментарий
Поделиться на других сайтах

  • 2 недели спустя...
Скрипт обновления:

Доступен скрипт для простановки страны для уже зарегистрированных пользователей и старых постов.

Скрипт есть внутри самого мода. Можно также скачать: ipbgeo_update.php Обновление от 11.11.2008 20:17, Версия 1.4(исправлена ошибка, что скрипт не работал на форумах, расположенных в подпапке, например, /forum/)

Тем кто уже скачал и запустил - повторно запускать новую версию не надо.

Кто еще не запускал, лучше уже новую - просто будет много быстрей.

У кого старая версия - обновлить, если в дальнейшем будете использовать время от времени.

Скрипт работает для среднего форума с десятком тысяч человек и 40-60 тысяч сообщений в районе получаса

NEW 12 декабря вышла исправленная версия 1.5, если у вас не обновлялись юзеры после того как все посты обновились, то надо запустить новую версию

скачать можно только с сайта WIPmania

 

Использование: поместить в корневую папку форума, запустить из браузера. После работы можно удалить или спрятать.

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

В скрипте по умолчанию используется папка tmp, в которой создается временный файл /tmp/ipbgeomod.tmp

Если у вас недоступна эта папка, или захотите использовать другую, просто замените путь в строке 20

$tmp_filename = "/tmp/ipbgeomod.tmp";

 

Для обновления сделали все по инструкции, но обновление не произошло, ругается:

Script for update countries in users profiles

1606 undefined users and 21556 posts.

 

Fatal error: Call to undefined function memory_get_usage() in /..../ipbgeo_update.php on line 163

Ссылка на комментарий
Поделиться на других сайтах

Fatal error: Call to undefined function memory_get_usage() in /home/forum/forum/docs/ipbgeo_update.php on line 163

значит ваш PHP скомпилирован без "enable-memory-limit", но это не беда

там встроена функция защиты от перерасходывания памяти...

можете просто закомментировать строки 163 и 164, и поставить свое значение...ориентировочно если у вас для php выделено 32 мегабайта, то смело ставьте $posts_limit=50000

//		$free_memory=$memory_limit - memory_get_usage();
//		$posts_limit = round(($free_memory * 0.4)/200);
	  $posts_limit=50000;

Изменено пользователем alrond
Ссылка на комментарий
Поделиться на других сайтах

Fatal error: Call to undefined function memory_get_usage() in /home/////docs/ipbgeo_update.php on line 163

значит ваш PHP скомпилирован без "enable-memory-limit", но это не беда

там встроена функция защиты от перерасходывания памяти...

можете просто закомментировать строки 163 и 164, и поставить свое значение...ориентировочно если у вас для php выделено 32 мегабайта, то смело ставьте $posts_limit=50000

//		$free_memory=$memory_limit - memory_get_usage();
//		$posts_limit = round(($free_memory * 0.4)/200);
	  $posts_limit=50000;

спасибо, за ответ. вроде бы оно пошло апдейтиться, но потом, подумав, заругалось:

Warning: fsockopen() [function.fsockopen]: unable to connect to api.wipmania.com:80 (Operation timed out) in /home/наш сайт/ipbgeo_update.php on line 212

Operation timed out (60)

 

строка выглядит так:

$geofp = fsockopen("api.wipmania.com", 80, $errno, $errstr, $timeout);

Ссылка на комментарий
Поделиться на других сайтах

спасибо, за ответ. вроде бы оно пошло апдейтиться, но потом, подумав, заругалось:

Warning: fsockopen() [function.fsockopen]: unable to connect to api.wipmania.com:80 (Operation timed out) in /home/наш сайт/ipbgeo_update.php on line 212

Operation timed out (60)

Я уже с таким сталкивался...есть несколько причин, что он не может соединиться с API-сервером:

1) малый таймаут (не наш случай, если только сервер не стоит у кого-то дома через модем в аргентине)

2) на сервере ограничения на сокеты, обычно это у мелких VPS...тогда надо просто увеличить расстояние между запросами:

в строку 212 добавить задержку в например 0.1 секунды:

if (!$ip_old[$k]){ usleep(100000);

Изменено пользователем alrond
Ссылка на комментарий
Поделиться на других сайтах

Я уже с таким сталкивался...есть несколько причин, что он не может соединиться с API-сервером:

1) малый таймаут (не наш случай, если только сервер не стоит у кого-то дома через модем в аргентине)

2) на сервере ограничения на сокеты, обычно это у мелких VPS...тогда надо просто увеличить расстояние между запросами:

в строку 212 добавить задержку в например 0.1 секунды:

if (!$ip_old[$k]){ usleep(100000);

два притопа, три прихлопа и получилось!!! С вашей помощью, спасибо большое! :D

 

Мы столкнулись еще с одной проблемой. Пользователь зарегистрировался из Москвы, где-то с месяц назад посещал Иорданию, а теперь вновь в Москве. Имеем картину: старые сообщения флаг РФ, новые - флаг РФ, в профиле флаг Иордании по сегодняшнее число.

 

Как с этим можно справиться?

 

Это не единичный случай, замечено уже две такие не стыковки.

Ссылка на комментарий
Поделиться на других сайтах


×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.