работа с информацией раздела "кто сейчас на сайте", расположенного внизу главной страницы в виде отдельного блока. её изменение и модифицирование.
с модификацией браузера и разделением роботов и пользователей:
Вложение:
Browsers icons in "who is online" list для phpBB 3.0 mod
Обсуждение этой модификации здесь: https://phpbb-belk.ru/ikonki-brauzerov-polzovatelej-v-spiske-aktivnyx-proverka_t364.html
как видно из скана - модификация добавляет значок браузера пользователя, с которого он входит на сайт. очередное предложение улучшения вывода информации от Sak. глядишь и кому ещё пригодится.
Установить не сложно. Поехали:
Скачать пак из архива сайта:
Скачать из файлового архива сайта
Содержимое папки root загрузить на ваш форум (туда, где находится файл config.php) - иконки браузеров.
Теперь редактируем файл:
всё. можно пользоваться сразу.
Обсуждение этой модификации здесь: https://phpbb-belk.ru/ikonki-brauzerov-polzovatelej-v-spiske-aktivnyx-proverka_t364.html
Вложение:
как видно из скана - модификация добавляет значок браузера пользователя, с которого он входит на сайт. очередное предложение улучшения вывода информации от Sak. глядишь и кому ещё пригодится.

Установить не сложно. Поехали:
Скачать пак из архива сайта:
Скачать из файлового архива сайта
Содержимое папки root загрузить на ваш форум (туда, где находится файл config.php) - иконки браузеров.
Теперь редактируем файл:
Открыть includes\functions.php
Найти
Заменить найденное на
Код: Выделить всё
$sql = 'SELECT username, username_clean, user_id, user_type, user_allow_viewonline, user_colour
FROM ' . USERS_TABLE . '
WHERE ' . $db->sql_in_set('user_id', $online_users['online_users']) . '
ORDER BY username_clean ASC';
$result = $db->sql_query($sql);
Заменить найденное на
Код: Выделить всё
$sql = 'SELECT u.username, u.username_clean, u.user_id, u.user_type, u.user_allow_viewonline, u.user_colour, s.session_browser
FROM ' . USERS_TABLE . ' u JOIN ' . SESSIONS_TABLE . ' s
ON u.user_id = s.session_user_id
WHERE ' . $db->sql_in_set('u.user_id', $online_users['online_users']) . '
AND s.session_time >= ' . (time() - ($config['load_online_time'] * 60)) . '
GROUP BY u.user_id
ORDER BY u.username_clean ASC';
$result = $db->sql_query($sql);
Найти
Вставить перед найденным
Код: Выделить всё
if (isset($online_users['hidden_users'][$row['user_id']]))
Вставить перед найденным
Код: Выделить всё
$user_browser = '';
if ($row['user_type'] != USER_IGNORE)
{
if (stristr($row['session_browser'], 'Firefox')) $user_browser = 'firefox';
elseif (stristr($row['session_browser'], 'Chrome')) $user_browser = 'chrome';
elseif (stristr($row['session_browser'], 'Safari')) $user_browser = 'safari';
elseif (stristr($row['session_browser'], 'Opera Mini')) $user_browser = 'operamini';
elseif (stristr($row['session_browser'], 'Opera')) $user_browser = 'opera';
elseif (stristr($row['session_browser'], 'MSIE 6.0')) $user_browser = 'ie';
elseif (stristr($row['session_browser'], 'MSIE 7.0')) $user_browser = 'ie';
elseif (stristr($row['session_browser'], 'MSIE 8.0')) $user_browser = 'ie';
}
Найти
Заменить на
Код: Выделить всё
$user_online_link = get_username_string(($row['user_type'] <> USER_IGNORE) ? 'full' : 'no_profile', $row['user_id'], $row['username'], $row['user_colour']);
Заменить на
Код: Выделить всё
$user_online_link = get_username_string(($row['user_type'] <> USER_IGNORE) ? 'full' : 'no_profile', $row['user_id'], $row['username'], $row['user_colour']) . ($user_browser ? (' <img src="' . $phpbb_root_path . 'images/' . $user_browser . '.gif" alt="(' . $user_browser . ')" />') : '');
всё. можно пользоваться сразу.

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

тема для обсуждения и решения проблем: https://phpbb-belk.ru/razdelenie-polzovatelej-i-botov-na-glavnoj-proverka_t367.html
родная тема модификации: https://www.phpbbguru.net/community/viewtopic.php?t=23681#p229229
если заинтересовало - ставим:
Открыть /includes/functions.php
Найти
В строку, после
Вставить код
После найденного ( с новой строки) пишем
Число 6 надо заменить на ID группы с ботами. Узнать можно так. Идем в Админраздел, на вкладку «Пользователи и группы», «Управление группами», «Боты => Участники». Смотрим на URL страницы участников. Там есть параметр „g“, после знака равенства идет ID группы. Вот это и есть искомое число. У меня здеь, на сайте, это число 6.
Код: Выделить всё
$user_online_link = $online_userlist = '';
В строку, после
Код: Выделить всё
$online_userlist
Вставить код
Код: Выделить всё
= $online_userlist_bots
После найденного ( с новой строки) пишем
Код: Выделить всё
define('BOTS_GROUP_ID', 6);
Число 6 надо заменить на ID группы с ботами. Узнать можно так. Идем в Админраздел, на вкладку «Пользователи и группы», «Управление группами», «Боты => Участники». Смотрим на URL страницы участников. Там есть параметр „g“, после знака равенства идет ID группы. Вот это и есть искомое число. У меня здеь, на сайте, это число 6.
Найти
Вставить после
Следующий код
Код: Выделить всё
$sql = 'SELECT username, username_clean, user_id, user_type, user_allow_viewonline, user_colour
Вставить после
Код: Выделить всё
user_colour
Следующий код
Код: Выделить всё
, group_id
Найти
Заменить найденное на
Код: Выделить всё
$online_userlist .= ($online_userlist != '') ? ', ' . $user_online_link : $user_online_link;
Заменить найденное на
Код: Выделить всё
if ($item_id !== 0 || $row['group_id'] != BOTS_GROUP_ID)
{
$online_userlist .= ($online_userlist != '') ? ', ' . $user_online_link : $user_online_link;
}
else
{
$online_userlist_bots .= ($online_userlist_bots != '') ? ', ' . $user_online_link : $user_online_link;
}
Найти
Вставляем после найденного
Код: Выделить всё
$online_userlist = $user->lang['REGISTERED_USERS'] . ' ' . $online_userlist;
Вставляем после найденного
Код: Выделить всё
if ($online_userlist_bots)
{
$online_userlist_bots = $user->lang['REGISTERED_USERS_BOTS'] . ' ' . $online_userlist_bots;
}
Найти
Вставить после найденного
Код: Выделить всё
'l_online_users' => $l_online_users,
Вставить после найденного
Код: Выделить всё
'online_userlist_bots' => $online_userlist_bots,
Найти
Вставить после найденного
Код: Выделить всё
$total_online_users = $online_users['total_online'];
Вставить после найденного
Код: Выделить всё
$online_userlist_bots = $user_online_strings['online_userlist_bots'];
Найти
Заменить найденное на
Код: Выделить всё
$l_online_users = $online_userlist = $l_online_record = $l_online_time = ''
Заменить найденное на
Код: Выделить всё
$l_online_users = $online_userlist = $l_online_record = $l_online_time = $online_userlist_bots = '';
Найти
Вставить после найденного
Код: Выделить всё
'LOGGED_IN_USER_LIST' => $online_userlist,
Вставить после найденного
Код: Выделить всё
'LOGGED_IN_USER_LIST_BOTS' => $online_userlist_bots,
Открыть /language/ru/common.php
Если необходимо - такие же правки делаем и в английском варианте.
[/code_fon]
Найти (показана часть строки)
Вставить после найденного
Код: Выделить всё
'REGISTERED_USERS'
Вставить после найденного
Код: Выделить всё
'REGISTERED_USERS_BOTS' => 'Роботы:',
Если необходимо - такие же правки делаем и в английском варианте.
Код: Выделить всё
'REGISTERED_USERS_BOTS' => 'Bots:',
[/code_fon]
Открыть /styles/prosilver/template/index_body.html.
Найти
Вставить после найденного
Код: Выделить всё
<p>{TOTAL_USERS_ONLINE} ({L_ONLINE_EXPLAIN})<br />{RECORD_USERS}<br /> <br />{LOGGED_IN_USER_LIST}
Вставить после найденного
Код: Выделить всё
<!-- IF LOGGED_IN_USER_LIST_BOTS --><br />{LOGGED_IN_USER_LIST_BOTS}<!-- ENDIF -->
Открыть /styles/subsilver2/template/index_body.html.
Найти
Вставить после
Следующий код
Код: Выделить всё
<td class="row1" width="100%"><span class="genmed">{TOTAL_USERS_ONLINE} ({L_ONLINE_EXPLAIN})<br />{RECORD_USERS}<br /><br />{LOGGED_IN_USER_LIST}</span></td>
Вставить после
Код: Выделить всё
{LOGGED_IN_USER_LIST}
Следующий код
Код: Выделить всё
<!-- IF LOGGED_IN_USER_LIST_BOTS --><br />{LOGGED_IN_USER_LIST_BOTS}<!-- ENDIF -->
Теперь надо очистить кэш форума и, может быть, браузера.
Всё. Правок, конечно, хватает, но система безглючная. должно работать сразу.