Это сделано по той причине, что число пользователей на форуме на данный момент нужно считать на каждой странице.quazi писал(а):список последних активных пользователей генерируется именно в includes/page_header.php
[BETA] Users Of The Day (another version)
- 
				Xpert
- phpBB Guru 
- Сообщения: 5484
- Стаж: 21 год 7 месяцев
- Поблагодарили: 2 раза
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
			
						Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
- 
				quazi
- phpBB 2.0.2
- Сообщения: 306
- Стаж: 20 лет 7 месяцев
- 
				VVVas  
- Former team member
- Сообщения: 4463
- Стаж: 20 лет 11 месяцев
- Поблагодарили: 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 секунду:
За мод спасибо, уже нравится.
- 
				quazi
- phpBB 2.0.2
- Сообщения: 306
- Стаж: 20 лет 7 месяцев
- 
				VVVas  
- Former team member
- Сообщения: 4463
- Стаж: 20 лет 11 месяцев
- Поблагодарили: 1 раз
Это именно сегодня или сутки?quazi писал(а):"за сегодня"
Еще раз спасибо, и за рецепт отключения невидимости админов тоже спасибо. Невидимость модеров включаеться так?
Код: Выделить всё
// admin is not visible anywhere 
if ($userdata['user_level'] != MOD) 
{ 
   continue; 
}- 
				quazi
- phpBB 2.0.2
- Сообщения: 306
- Стаж: 20 лет 7 месяцев
а подумать? "вчера" и "сегодня" как мы дифференцируем?VVVas писал(а):сегодня или сутки?
Добавлено спустя 7 минут 20 секунд:
скрытая фича мода.
админ может знать когда сегодня юзер ушел. то есть не просто окно с форумом закрыл, а нажал на кнопку форума "выход [ логин ]"
в посказке его IP будет выглядеть именно так 0.0.0.0
- 
				VVVas  
- Former team member
- Сообщения: 4463
- Стаж: 20 лет 11 месяцев
- Поблагодарили: 1 раз
Просто какое-то странное сегодня (хоть оно и пытаеться быть сегодня): у одного пользователя, мод Today / Yesterday by Rumata пишет "Вчера".quazi писал(а):а подумать? "вчера" и "сегодня" как мы дифференцируем?
А язык я себе поправил вот так
Код: Выделить всё
$lang['Users_Stat'] = 'Сегодня форум поcетило пользователей: <b>%d</b>, из них зарегистрированных: %d, скрытых: %d и гостей: %d<br />В течение последнего часа на форуме побывало <b>%d</b> пользователей<br />Сегодня на форуме побывали: %s';Добавлено спустя 7 минут 17 секунд:
Что-то закоментил указанные строки, а меня всё равно не видно.
- 
				quazi
- phpBB 2.0.2
- Сообщения: 306
- Стаж: 20 лет 7 месяцев
Код: Выделить всё
// 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'] )- 
				Xpert
- phpBB Guru 
- Сообщения: 5484
- Стаж: 21 год 7 месяцев
- Поблагодарили: 2 раза
- 
				quazi
- phpBB 2.0.2
- Сообщения: 306
- Стаж: 20 лет 7 месяцев
это верно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 )
- 
				VVVas  
- Former team member
- Сообщения: 4463
- Стаж: 20 лет 11 месяцев
- Поблагодарили: 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 писал(а):Но модеры и их статистика всё равно не видны гостям.
- 
				quazi
- phpBB 2.0.2
- Сообщения: 306
- Стаж: 20 лет 7 месяцев
- 
				VVVas  
- Former team member
- Сообщения: 4463
- Стаж: 20 лет 11 месяцев
- Поблагодарили: 1 раз
- 
				quazi
- phpBB 2.0.2
- Сообщения: 306
- Стаж: 20 лет 7 месяцев
- 
				sigal
- phpBB Plus
- Сообщения: 442
- Стаж: 21 год 5 месяцев
- Откуда: КПРФ ;)
Код: Выделить всё
$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';


