Уважаемые пользователи!
C 7 ноября 2020 года phpBB Group прекратила выпуск обновлений и завершила дальнейшее развитие phpBB версии 3.2.
С 1 августа 2024 года phpBB Group прекращает поддержку phpBB 3.2 на официальном сайте.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2024 года.
С учетом этого, настоятельно рекомендуется обновить конференции до версии 3.3.
C 7 ноября 2020 года phpBB Group прекратила выпуск обновлений и завершила дальнейшее развитие phpBB версии 3.2.
С 1 августа 2024 года phpBB Group прекращает поддержку phpBB 3.2 на официальном сайте.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2024 года.
С учетом этого, настоятельно рекомендуется обновить конференции до версии 3.3.
MOD Last Visit
-
- Поддержка
- Сообщения: 5284
- Стаж: 19 лет 3 месяца
- Откуда: Питер
- Благодарил (а): 186 раз
- Поблагодарили: 793 раза
YarNET
У меня этот мод. Таблица с сессиями в среднем заполнена на 2000-2500 записей. На форуме в среднем постоянно сидит 20 человек, в максимуме до 40 онлайн.
У меня этот мод. Таблица с сессиями в среднем заполнена на 2000-2500 записей. На форуме в среднем постоянно сидит 20 человек, в максимуме до 40 онлайн.
Еще одно нарушение правил и будете забанены. © Mr. Anderson
Ты очистил кеш? © Sheer
https://siava.ru (phpbb2.0.x 3.5.x)
Ты очистил кеш? © Sheer
https://siava.ru (phpbb
-
- phpBB Guru
- Сообщения: 5484
- Стаж: 20 лет 1 месяц
- Поблагодарили: 2 раза
У меня подобное было на подшефном форуме, где модификаций кода, имеющего отношение к сессиям не было. В какой-то момент таблица сессий стала весить порядка 4 мегабайт.
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
-
- phpBB 2.0.6
- Сообщения: 518
- Стаж: 19 лет 5 месяцев
Siava, Xpert, угу, в том то и дело, что табл. перегружается постоянно. Она динамична, за счет добавления в ней скрипта самоочистки на последние 50 сессий.... Так все ровно как-то не спокойно, имея такую бомбу замедленного действия. В принципе, есть еще две модификации, которые в полной мере компенсируют Last Visit... Но это время на переделку, а его-то как раз таки нет.
Второй форум без Last Visit используется и на нем примерно такое же количество посетителей, однако таблица в среднем имеет не более 100-200 записей к концу дня. Вот такие пироги.
Даже не знаю как правильнее и поступить. Пока выкинул код мода из sessions.php и это отразилось только на регистрации гостей. Т.е. он их теперь не фиксирует. Все остальное сохранилось, т.е. все функции мода в норме. Таблица тоже не перегружается теперь.
Все ровно хотелось бы иметь законченное решение, а не временные меры.
Второй форум без Last Visit используется и на нем примерно такое же количество посетителей, однако таблица в среднем имеет не более 100-200 записей к концу дня. Вот такие пироги.
Даже не знаю как правильнее и поступить. Пока выкинул код мода из sessions.php и это отразилось только на регистрации гостей. Т.е. он их теперь не фиксирует. Все остальное сохранилось, т.е. все функции мода в норме. Таблица тоже не перегружается теперь.
Все ровно хотелось бы иметь законченное решение, а не временные меры.
-
- phpBB Plus
- Сообщения: 442
- Стаж: 19 лет 11 месяцев
- Откуда: КПРФ ;)
Народ, а у меня такая проблема, помогите плз кто знает, оч.надо.. Короче ставил я этот мод, но проблема в том что не помню какую версию, это было давно, и меня в общем-то еще тогда не совсем устраивал вывод последних пользователей. Сейчас у меня вывод на индексе такой:
Добавлено спустя 23 минуты 8 секунд:
такс ... хе-хе
начинаю разбираться. Это оказывается у мня мод стоит не тот , у мня стоит Users of the Day, а для такого вывода как я хочу нужен Last Visit Hack
тот уже снес, буду разбираться с этим..
ПыСы: у мня СЕГОДНЯ НОЧЬ МОДОВ!!
Добавлено спустя 47 минут 13 секунд:
НО, наверное сегодня все-таки не возьмусь ставить такой мод, прежде чем его ставить, есть вопрос. Мне не нужны там некоторые функции абсолютно, такие как последний визит в мемберлисте и профиле, цель установки данного мода - выводить на индексе все это дело таким образом:
1. Возможно ли избежать лишних функций посредством игнорирования файлов:
2. Может чтобы реализовать вышепоказанное на индексе есть что-то поменьше? или проще, например доработать тот же Users of the Day? т.к я опятьже не горю желанием ставить Last Visit Hack.
Спасибо.
а мне оч.хотелось бы устроить вывод таким образом:хх зарегистрированных пользователей посетили форум за последние 24 часа: _перечисление_пользователей_
помогите плз кто знает как доработать?Сегодня наш форум поcетило пользователей: хх :: зарегистрированных: 10, скрытых: 0 и гостей: 56 , из них 23 в течение последнего часа.
Зарегистрированные пользователи: _перечисление_пользователей_
Добавлено спустя 23 минуты 8 секунд:
такс ... хе-хе
начинаю разбираться. Это оказывается у мня мод стоит не тот , у мня стоит Users of the Day, а для такого вывода как я хочу нужен Last Visit Hack
тот уже снес, буду разбираться с этим..
ПыСы: у мня СЕГОДНЯ НОЧЬ МОДОВ!!
Добавлено спустя 47 минут 13 секунд:
НО, наверное сегодня все-таки не возьмусь ставить такой мод, прежде чем его ставить, есть вопрос. Мне не нужны там некоторые функции абсолютно, такие как последний визит в мемберлисте и профиле, цель установки данного мода - выводить на индексе все это дело таким образом:
Итак, 2 вопроса:Наши пользователи оставили сообщений: (кол-во)
Всего зарегистрированных пользователей: (кол-во)
Последний зарегистрированный пользователь: (ник)
--------------------------------------------------------------------
Сегодня наш форум поcетило пользователей: xx :: зарегистрированных: 10, скрытых: 0 и гостей: 56 , из них 23 в течение последнего часа.
Зарегистрированные пользователи: _список_пользователей_
--------------------------------------------------------------------
Сейчас посетителей на форуме: xx, из них зарегистрированных: 0, скрытых: 0 и гостей: 3 [ Администратор ] [ Модератор ]
Больше всего посетителей одновременно (xx) здесь было Пн Мая 16, 2005 11:25 am.
Зарегистрированные пользователи: _список_пользователей_
1. Возможно ли избежать лишних функций посредством игнорирования файлов:
... а остальные моднуть по инстркции.. Что из этого выйдет? все будет ок или завернется каша?## memberlist.php
## includes/usercp_viewprofile.php
## templates/subSilver/member_body.tpl
## templates/subSilver/profile_view_body.tpl
2. Может чтобы реализовать вышепоказанное на индексе есть что-то поменьше? или проще, например доработать тот же Users of the Day? т.к я опятьже не горю желанием ставить Last Visit Hack.
Спасибо.
-
- phpBB Plus
- Сообщения: 442
- Стаж: 19 лет 11 месяцев
- Откуда: КПРФ ;)
Блин, опять проблема. Подскажите в чем дело, ошибка странная какая-та. Перед тем как закачать обновленные файлы, как и просил обновляю БД форума - last_visit_db_update.php
запускаю файл, пишет:
Общая ошибка
You are not Authorised to do this
хотя в на форуме, как админ, но при запуске в браузере данного файла меня на форуме нет..
Подскажите что делать?
Добавлено спустя 5 минут 5 секунд:
че-то странно ваще.. проверил в других браузерах, таже самая трабла.. При авторизации поставил входить при каждом посещении.. да и ваще не в этом дело, я полгода уже не выходил с форума. так что авторизация не могла вдруг потеряться сразу.
Добавлено спустя 12 минут 46 секунд:
Все, по поводу авторизации при обновке БД разобрался. Файлы все закачал, Но при заходе на титульную страницу все пусто. Где приблизительно рыть проблему? я так полагаю в файлах которые я отметил черным?
уууу... Профиль и Memberlist тоже не работают.. трындец..
файлы все перекопал заново - проблемы не нашел. Вроде все правильно обновил. База тоже по ходу обновилась корректно, все процессы синим пометили [Updated]
Добавлено спустя 24 минуты 10 секунд:
а вот это не может быть проблемой?
запускаю файл, пишет:
Общая ошибка
You are not Authorised to do this
хотя в на форуме, как админ, но при запуске в браузере данного файла меня на форуме нет..
Подскажите что делать?
Добавлено спустя 5 минут 5 секунд:
че-то странно ваще.. проверил в других браузерах, таже самая трабла.. При авторизации поставил входить при каждом посещении.. да и ваще не в этом дело, я полгода уже не выходил с форума. так что авторизация не могла вдруг потеряться сразу.
Добавлено спустя 12 минут 46 секунд:
Все, по поводу авторизации при обновке БД разобрался. Файлы все закачал, Но при заходе на титульную страницу все пусто. Где приблизительно рыть проблему? я так полагаю в файлах которые я отметил черным?
Добавлено спустя 29 минут 17 секунд:## Files To Edit: 14
## index.php
## memberlist.php
## search.php
## admin/admin_board.php
## includes/functions.php
## includes/page_header.php
## includes/sessions.php
## includes/usercp_viewprofile.php
## language/lang_english/lang_admin.php
## language/lang_english/lang_main.php
## templates/subSilver/index_body.tpl
## templates/subSilver/member_body.tpl
## templates/subSilver/profile_view_body.tpl
## templates/subSilver/admin/board_config_body.tpl
уууу... Профиль и Memberlist тоже не работают.. трындец..
файлы все перекопал заново - проблемы не нашел. Вроде все правильно обновил. База тоже по ходу обновилась корректно, все процессы синим пометили [Updated]
Добавлено спустя 24 минуты 10 секунд:
а вот это не может быть проблемой?
## MOD Version: 1.2.8
## MOD Compatibility: 2.0.5->2.0.6
-
- phpBB 1.4.2
- Сообщения: 65
- Стаж: 19 лет 4 месяца
-
- Former team member
- Сообщения: 4463
- Стаж: 19 лет 5 месяцев
- Поблагодарили: 1 раз
-
- phpBB 1.4.2
- Сообщения: 65
- Стаж: 19 лет 4 месяца
там есть что то боле менее близкое
Код: Выделить всё
if ( $user_id != ANONYMOUS )
{// ( $userdata['user_session_time'] > $expiry_time && $auto_create ) ? $userdata['user_lastvisit'] : (
$last_visit = ( $userdata['user_session_time'] > 0 ) ? $userdata['user_session_time'] : $current_time;
if (!$admin)
{
$sql = "UPDATE " . USERS_TABLE . "
SET user_session_time = $current_time, user_session_page = $page_id, user_lastvisit = $last_visit
WHERE user_id = $user_id";
if ( !$db->sql_query($sql) )
{
message_die(CRITICAL_ERROR, 'Error updating last visit time', '', __LINE__, __FILE__, $sql);
}
}
-
- Поддержка
- Сообщения: 5284
- Стаж: 19 лет 3 месяца
- Откуда: Питер
- Благодарил (а): 186 раз
- Поблагодарили: 793 раза
Сел я и задумался над тем как этот мод работает.. и зачем ему такие конструкции в sessions.php.
То есть, то что раньше эти sql-запросы выполнялись только для зареганных пользователей, то теперь для всех подряд (так как условие закомментировано).
Спрашивается, зачем это надо?
Добавлено спустя 26 минут 48 секунд:
И ещё, в phpbbplus применяются интересные штуки типа
Last Visit Mod Caching
Перерыл всё что можно, а нигде об этом ничего не нашёл
Добавлено спустя 58 минут 17 секунд:
Нашёл!
Код: Выделить всё
// if ( $user_id != ANONYMOUS )
// {
$last_visit = ( $userdata['user_session_time'] > 0 ) ? $userdata['user_session_time'] : $current_time;
if (!$admin)
{
$sql = "UPDATE " . USERS_TABLE . "
SET user_session_time = $current_time, user_session_page = $page_id, user_lastvisit = $last_visit, user_lastlogon = " . time() . ", user_totallogon=user_totallogon+1
WHERE user_id = $user_id";
if ( !$db->sql_query($sql) )
{
message_die(CRITICAL_ERROR, 'Error updating last visit time', '', __LINE__, __FILE__, $sql);
}
}
$userdata['user_lastvisit'] = $last_visit;
//
// Regenerate the auto-login key
//
if ($enable_autologin)
{
list($sec, $usec) = explode(' ', microtime());
mt_srand(hexdec(substr($session_id, 0, 8)) + (float) $sec + ((float) $usec * 1000000));
$auto_login_key = uniqid(mt_rand(), true);
if (isset($sessiondata['autologinid']) && (string) $sessiondata['autologinid'] != '')
{
$sql = 'UPDATE ' . SESSIONS_KEYS_TABLE . "
SET last_ip = '$user_ip', key_id = '" . md5($auto_login_key) . "', last_login = $current_time
WHERE key_id = '" . md5($sessiondata['autologinid']) . "'";
}
else
{
$sql = 'INSERT INTO ' . SESSIONS_KEYS_TABLE . "(key_id, user_id, last_ip, last_login)
VALUES ('" . md5($auto_login_key) . "', $user_id, '$user_ip', $current_time)";
}
if ( !$db->sql_query($sql) )
{
message_die(CRITICAL_ERROR, 'Error updating session key', '', __LINE__, __FILE__, $sql);
}
$sessiondata['autologinid'] = $auto_login_key;
unset($auto_login_key);
}
else
{
$sessiondata['autologinid'] = '';
}
// $sessiondata['autologinid'] = (!$admin) ? (( $enable_autologin && $sessionmethod == SESSION_METHOD_COOKIE ) ? $auto_login_key : '') : $sessiondata['autologinid'];
$sessiondata['userid'] = $user_id;
// }
Спрашивается, зачем это надо?
Добавлено спустя 26 минут 48 секунд:
И ещё, в phpbbplus применяются интересные штуки типа
Last Visit Mod Caching
Перерыл всё что можно, а нигде об этом ничего не нашёл
Добавлено спустя 58 минут 17 секунд:
Нашёл!
Еще одно нарушение правил и будете забанены. © Mr. Anderson
Ты очистил кеш? © Sheer
https://siava.ru (phpbb2.0.x 3.5.x)
Ты очистил кеш? © Sheer
https://siava.ru (phpbb
-
- phpBB 2.0.7
- Сообщения: 573
- Стаж: 18 лет 11 месяцев
- Откуда: Moscow
вышла новая версия для форумов 2018-2019
http://mods.db9.dk/viewforum.php?f=1
Добавлено спустя 1 час 47 минут 55 секунд:
Стоит у меня мод версии last_visit_1.2.8em , сейчас вышла новая версия из-а не совместимости версий 2018-2019... Смотрел в архиве с новым модом last_visit_1.2.9em дополнительно облазил сайт официальный, документа апдейта не нашёл...
что теперь делать, удалять старый и ставить новый?!
Сейчас стоит старая версия, но она не правильно считает пользователей.
http://mods.db9.dk/viewforum.php?f=1
чтобы смотреть, нужна регистрация.
http://mods.db9.dk/viewforum.php?f=1
Добавлено спустя 1 час 47 минут 55 секунд:
Стоит у меня мод версии last_visit_1.2.8em , сейчас вышла новая версия из-а не совместимости версий 2018-2019... Смотрел в архиве с новым модом last_visit_1.2.9em дополнительно облазил сайт официальный, документа апдейта не нашёл...
что теперь делать, удалять старый и ставить новый?!
Сейчас стоит старая версия, но она не правильно считает пользователей.
http://mods.db9.dk/viewforum.php?f=1
чтобы смотреть, нужна регистрация.
-
- Поддержка
- Сообщения: 5284
- Стаж: 19 лет 3 месяца
- Откуда: Питер
- Благодарил (а): 186 раз
- Поблагодарили: 793 раза
Iftin
с 1.2.8 на 1.2.9 ничего в коде мода не изменилось, только сделали совместимым с 2.0.19.
Единственное что посоветую - сверь свой sessions.php с инструкцией от 1.2.9 и исправь, если что не так.
с 1.2.8 на 1.2.9 ничего в коде мода не изменилось, только сделали совместимым с 2.0.19.
Единственное что посоветую - сверь свой sessions.php с инструкцией от 1.2.9 и исправь, если что не так.
Еще одно нарушение правил и будете забанены. © Mr. Anderson
Ты очистил кеш? © Sheer
https://siava.ru (phpbb2.0.x 3.5.x)
Ты очистил кеш? © Sheer
https://siava.ru (phpbb
-
- phpBB 2.0.7
- Сообщения: 573
- Стаж: 18 лет 11 месяцев
- Откуда: Moscow
-
- phpBB 2.0.7
- Сообщения: 573
- Стаж: 18 лет 11 месяцев
- Откуда: Moscow
-
- phpBB 2.0.7
- Сообщения: 573
- Стаж: 18 лет 11 месяцев
- Откуда: Moscow
Обновление с 2019->2020 затрагивает строки, не знаю как поступить...
Код изменения от phpbb.com
файл search.php
у меня же вот такие строки
Получается это лишнее?
?
Код изменения от phpbb.com
файл search.php
Код: Выделить всё
#
#-----[ FIND ]---------------------------------------------
# Line 646
// Finish building query (for all combinations)
// and run it ...
//
$sql = "SELECT session_id
FROM " . SESSIONS_TABLE;
if ( $result = $db->sql_query($sql) )
{
$delete_search_ids = array();
while( $row = $db->sql_fetchrow($result) )
{
$delete_search_ids[] = "'" . $row['session_id'] . "'";
}
if ( count($delete_search_ids) )
{
$sql = "DELETE FROM " . SEARCH_TABLE . "
WHERE session_id NOT IN (" . implode(", ", $delete_search_ids) . ")";
if ( !$result = $db->sql_query($sql) )
{
message_die(GENERAL_ERROR, 'Could not delete old search id sessions', '', __LINE__, __FILE__, $sql);
}
}
#
#-----[ REPLACE WITH ]---------------------------------------------
#
// Delete old data from the search result table
//
$sql = 'DELETE FROM ' . SEARCH_TABLE . '
WHERE search_time < ' . ($current_time - (int) $board_config['session_length']);
if ( !$result = $db->sql_query($sql) )
{
message_die(GENERAL_ERROR, 'Could not delete old search id sessions', '', __LINE__, __FILE__, $sql);
#
#-----
Код: Выделить всё
// СТРОКА 731 !!!! Finish building query (for all combinations)
// and run it ...
//
// Start replacement - Last visit MOD
$expiry_time = $current_time - $board_config['session_length'];
$sql = "SELECT session_id
FROM " . SESSIONS_TABLE ." WHERE session_time>$expiry_time";
// Start replacement - Last visit MOD
if ( $result = $db->sql_query($sql) )
{
$delete_search_ids = array();
while( $row = $db->sql_fetchrow($result) )
{
$delete_search_ids[] = "'" . $row['session_id'] . "'";
}
if ( count($delete_search_ids) )
{
$sql = "DELETE FROM " . SEARCH_TABLE . "
WHERE session_id NOT IN (" . implode(", ", $delete_search_ids) . ")";
if ( !$result = $db->sql_query($sql) )
{
message_die(GENERAL_ERROR, 'Could not delete old search id sessions', '', __LINE__, __FILE__, $sql);
}
}
}
//
// Store new result data СТРОКА 761 !!!!
Получается это лишнее?
Код: Выделить всё
// Start replacement - Last visit MOD
$expiry_time = $current_time - $board_config['session_length'];
$sql = "SELECT session_id
FROM " . SESSIONS_TABLE ." WHERE session_time>$expiry_time";
// Start replacement - Last visit MOD
-
- phpBB 1.4.4
- Сообщения: 114
- Стаж: 18 лет 3 месяца
Столько дискуссий... Так скажите, разумно ли ставить данный мод только для того, чтобы на главной странице показывалось количество пользователей за день, а точнее эта инфа:
Или есть другая рациональная альтернатива?
Код: Выделить всё
Всего 81 человек побывало на форуме сегодня :: зарегистрированных: 0, скрытых: 1 и гостей: 80 , 11 из них за последний час
Зарегистрированные пользователи: Нет