Это сделано по той причине, что число пользователей на форуме на данный момент нужно считать на каждой странице.quazi писал(а):список последних активных пользователей генерируется именно в includes/page_header.php
[BETA] Users Of The Day (another version)
-
- phpBB Guru
- Сообщения: 5484
- Стаж: 21 год 1 месяц
- Поблагодарили: 2 раза
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
-
- phpBB 2.0.2
- Сообщения: 306
- Стаж: 20 лет 1 месяц
-
- Former team member
- Сообщения: 4463
- Стаж: 20 лет 5 месяцев
- Поблагодарили: 1 раз
Поставил, живет.
Маленькое косметическое дополнение.
а то будет белый квадрат, это перед вашим редактированием index_body.tpl
И ещё, не совсем понял
Добавлено спустя 15 минут 20 секунд:
Посмотрел пощупал.
Как я понял:
ИП отображаеться только если пользователь онлайн?
Внизу отображаеться список ИП гостей?
Ну и
Добавлено спустя 1 минуту 51 секунду:
За мод спасибо, уже нравится.
Маленькое косметическое дополнение.
Код: Выделить всё
#
#-----[ OPEN ]------------------------------------------------
#
# Make sure to edit this file for every theme you use!
#
templates/subSilver/index_body.tpl
#
#-----[ FIND ]------------------------------------------------
#
<td class="row1" align="center" valign="middle" rowspan
#
#-----[ IN-LINE FIND ]----------------------------------------
#
# This value can be different, if other mods, add +1 to the value
#
2
#
#-----[ IN-LINE REPLACE WITH ]--------------------------------
#
# The find value can be different, if other mods, add +1 to the value
#
3
И ещё, не совсем понял
Вот$lang['Users_Stat'] = 'Сегодня наш форум поcетило пользователей: <b>%d</b><br />Зарегистрированных: %d, скрытых: %d и гостей: %d, из них <b>%d</b> в течение последнего часа<br />Зарегистрированные пользователи: %s';
Это за последний час или за сегодня?Зарегистрированные пользователи: %s
Добавлено спустя 15 минут 20 секунд:
Посмотрел пощупал.
Как я понял:
ИП отображаеться только если пользователь онлайн?
Внизу отображаеться список ИП гостей?
Ну и
Пока не понял, но думаю завтра пойму, по тому что покажет. Просто меня эта формулировка вводит в заблуждение.$lang['Users_Stat'] = 'Сегодня наш форум поcетило пользователей: <b>%d</b><br />Зарегистрированных: %d, скрытых: %d и гостей: %d, из них <b>%d</b> в течение последнего часа<br />Зарегистрированные пользователи: %s';
Добавлено спустя 1 минуту 51 секунду:
За мод спасибо, уже нравится.
-
- phpBB 2.0.2
- Сообщения: 306
- Стаж: 20 лет 1 месяц
-
- Former team member
- Сообщения: 4463
- Стаж: 20 лет 5 месяцев
- Поблагодарили: 1 раз
Это именно сегодня или сутки?quazi писал(а):"за сегодня"
Еще раз спасибо, и за рецепт отключения невидимости админов тоже спасибо. Невидимость модеров включаеться так?
Код: Выделить всё
// admin is not visible anywhere
if ($userdata['user_level'] != MOD)
{
continue;
}
-
- phpBB 2.0.2
- Сообщения: 306
- Стаж: 20 лет 1 месяц
а подумать? "вчера" и "сегодня" как мы дифференцируем?VVVas писал(а):сегодня или сутки?
Добавлено спустя 7 минут 20 секунд:
скрытая фича мода.
админ может знать когда сегодня юзер ушел. то есть не просто окно с форумом закрыл, а нажал на кнопку форума "выход [ логин ]"
в посказке его IP будет выглядеть именно так 0.0.0.0
-
- Former team member
- Сообщения: 4463
- Стаж: 20 лет 5 месяцев
- Поблагодарили: 1 раз
Просто какое-то странное сегодня (хоть оно и пытаеться быть сегодня): у одного пользователя, мод Today / Yesterday by Rumata пишет "Вчера".quazi писал(а):а подумать? "вчера" и "сегодня" как мы дифференцируем?
А язык я себе поправил вот так
Код: Выделить всё
$lang['Users_Stat'] = 'Сегодня форум поcетило пользователей: <b>%d</b>, из них зарегистрированных: %d, скрытых: %d и гостей: %d<br />В течение последнего часа на форуме побывало <b>%d</b> пользователей<br />Сегодня на форуме побывали: %s';
Добавлено спустя 7 минут 17 секунд:
Что-то закоментил указанные строки, а меня всё равно не видно.
-
- phpBB 2.0.2
- Сообщения: 306
- Стаж: 20 лет 1 месяц
Код: Выделить всё
// Users at last hour
if ($row['user_session_time'] >= mktime(date("H"), 0, 0))
{
##
## этот фрагмент отвечает за учет админов в общем списке посетителей
## то есть админы считаются при показе админов
##
if ($row['user_level'] != ADMIN) {
$day_users['hour']++;
}
}
. . . . . . . . . . . . . .
##
## этот фрагмент отвечает за видимость админов
## то есть только админы видят друг друга
##
// all users visible for admin
if ( $userdata['user_level'] == ADMIN || $row['user_level'] != ADMIN && $row['user_allow_viewonline'] )
{
$day_userlist[] = '<a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=" . $row['user_id']) . '"' . $style_color . $user_tooltip . '>' . $row['username'] . '</a>';
}
для изменения публичности админов надо изменить строку
Код: Выделить всё
if ( $userdata['user_level'] == ADMIN || $row['user_level'] != ADMIN && $row['user_allow_viewonline'] )
Код: Выделить всё
if ( $userdata['user_level'] == ADMIN || $row['user_allow_viewonline'] )
-
- phpBB Guru
- Сообщения: 5484
- Стаж: 21 год 1 месяц
- Поблагодарили: 2 раза
-
- phpBB 2.0.2
- Сообщения: 306
- Стаж: 20 лет 1 месяц
это верноXpert писал(а):Это сделано по той причине, что число пользователей на форуме на данный момент нужно считать на каждой странице
а это не верноquazi писал(а):при прочтении топика, абсолютно нет необходимости в определении общего количества всех активных пользователей
резюме: надо переносить из includes/page_header.php в index.php
Добавлено спустя 43 минуты 36 секунд:
чтобы "сегодня" не было похожим на "вчера", будучи "сегодня"VVVas писал(а):какое-то странное сегодня (хоть оно и пытаеться быть сегодня)
надо изменить следующие строки, если вы уже поставили мод.
тем кто еще не ставил можно смело копировать код из первого поста этой темы
1. добавить строчку после // +Users of the day MOD
Код: Выделить всё
$userdata_time = 3600 * ( @$userdata['user_timezone'] ? $userdata['user_timezone'] : @$board_config['board_timezone'] );
2. изменить 2 запроса БД
Код: Выделить всё
WHERE u.user_session_time >= " . ( mktime(0, 0, 0) ) . "
WHERE u.user_session_time >= " . ( gmmktime(0, 0, 0) - $userdata_time ) . "
AND s.session_time >= " . ( mktime(0, 0, 0) ) . "
AND s.session_time >= " . ( gmmktime(0, 0, 0) - $userdata_time ) . "
Код: Выделить всё
if ( $row['user_session_time'] >= mktime(date("H"), 0, 0) )
if ( $row['user_session_time'] >= gmmktime(date("H"), 0, 0) - $userdata_time )
Код: Выделить всё
if ( $row['session_time'] >= mktime(date("H"), 0, 0) )
if ( $row['session_time'] >= gmmktime(date("H"), 0, 0) - $userdata_time )
-
- Former team member
- Сообщения: 4463
- Стаж: 20 лет 5 месяцев
- Поблагодарили: 1 раз
quazi
Пока не боролся с невидимостью админов. Просто поставил тупо новую версию. Вчера теперь исчезло. Спасибо.
В ней я так понял это фича такая что для гостей не видны и модеры и админы и статистика по ним? Может просто откажетесь от скрытия админов (вообще) и модеров (для гостей), а то как то странно получаеться в стандартном списке я есть, а в списке за день меня нет. Может стоит основываться только на параметре "Скрывать мое пребывание на форуме"?
Добавлено спустя 2 минуты 22 секунды:
Поборолся вот с невидимостью админов - нас теперь видно и мы считаемся.
Но модеры и их статистика всё равно не видны гостям. Можно это побороть?
Добавлено спустя 42 секунды:
И ещё бага: количество пользователей за последний час всегда отображаеться как 0.
Добавлено спустя 52 секунды:
Добавлено спустя 17 минут 34 секунды:
Насчет отрубания невидимости админов, я всё верно сделал:
Или я что-то пропустил, не так или не там сделал?
Добавлено спустя 27 минут 21 секунду:
Пока не боролся с невидимостью админов. Просто поставил тупо новую версию. Вчера теперь исчезло. Спасибо.
В ней я так понял это фича такая что для гостей не видны и модеры и админы и статистика по ним? Может просто откажетесь от скрытия админов (вообще) и модеров (для гостей), а то как то странно получаеться в стандартном списке я есть, а в списке за день меня нет. Может стоит основываться только на параметре "Скрывать мое пребывание на форуме"?
Добавлено спустя 2 минуты 22 секунды:
Поборолся вот с невидимостью админов - нас теперь видно и мы считаемся.
Но модеры и их статистика всё равно не видны гостям. Можно это побороть?
Добавлено спустя 42 секунды:
И ещё бага: количество пользователей за последний час всегда отображаеться как 0.
Добавлено спустя 52 секунды:
Это уже не одно лицо, а только одно тело и раздвоение личности 8)Xpert писал(а):Rumata и quazi - это одно лицо
Добавлено спустя 17 минут 34 секунды:
Насчет отрубания невидимости админов, я всё верно сделал:
Код: Выделить всё
if ($row['user_level'] != ADMIN)
// {
$day_users['hour']++;
// }
Код: Выделить всё
// admin is not visible anywhere
if ($userdata['user_level'] != ADMIN)
// {
// continue;
// }
Код: Выделить всё
// all users visible for admin
if ( $userdata['user_level'] == ADMIN || $row['user_allow_viewonline'] )
Добавлено спустя 27 минут 21 секунду:
Вот например сегодня на форуме был модер Smoke, но его гостям не видно, галочку "Скрывать мое прибывание на форуме" он не ставил. Это для примера.VVVas писал(а):Но модеры и их статистика всё равно не видны гостям.
-
- phpBB 2.0.2
- Сообщения: 306
- Стаж: 20 лет 1 месяц
-
- Former team member
- Сообщения: 4463
- Стаж: 20 лет 5 месяцев
- Поблагодарили: 1 раз
-
- phpBB 2.0.2
- Сообщения: 306
- Стаж: 20 лет 1 месяц
-
- phpBB Plus
- Сообщения: 442
- Стаж: 20 лет 11 месяцев
- Откуда: КПРФ ;)
Код: Выделить всё
$lang['Users_Stat'] = 'Сегодня форум поcетило пользователей: <b>%d</b>, из них зарегистрированных: %d, скрытых: %d и гостей: %d<br />В течение последнего часа на форуме побывало <b>%d</b> пользователей<br />Сегодня на форуме побывали: %s';
а зачем мутить в конце про последний час такое предложение? есть вариант проще сделать, я у себя сократил таким образом:
Код: Выделить всё
$lang['Users_Stat'] = 'Сегодня наш форум поcетило пользователей: <b>%d</b> :: зарегистрированных: %d, скрытых: %d и гостей: %d , из них %d в течение последнего часа.<br />Сегодня на форуме побывало: %s';