Пропустить

Выделяем ботов в отдельную строку на главной

Форум для авторов модов для phpBB 3.0.x. Здесь можно попросить помощи в разработке у коллег.
Свернуть Развернуть Правила форума Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).

Выделяем ботов в отдельную строку на главной

Сообщение Oleg NT » 05.01.2009 22:32

Многие меня просили убрать ботов с главной страницы (в строке «Кто сейчас на сайте — зарегистрированные пользователи»). Полностью я убирать не стал, а просто выделил их в отдельную строку.

Итак, что делаем.

Открываем /includes/functions.php
Ищем строку
	$user_online_link = $online_userlist = '';

Внутри нее после
$online_userlist
добавляем
 = $online_userlist_bots


Далее после этой строки добавляем следующий код:
	define('BOTS_GROUP_ID', 7538);

Число 7538 надо заменить на ID группы с ботами. Узнать можно так. Идем в Админраздел, на вкладку «Пользователи и группы», «Управление группами», «Боты => Участники». Смотрим на URL страницы участников. Там есть параметр „g“, после знака равенства идет ID группы. Вот это и есть искомое число.

Далее ищем строку
		$sql = 'SELECT username, username_clean, user_id, user_type, user_allow_viewonline, user_colour

В конец строки добавляем
, group_id


Ищем строку
					$online_userlist .= ($online_userlist != '') ? ', ' . $user_online_link : $user_online_link;

Заменяем на вот такое:

					if ($forum_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'];


Ищем
		'LOGGED_IN_USER_LIST'			=> $online_userlist,

после добавляем:
		'LOGGED_IN_USER_LIST_BOTS'		=> $online_userlist_bots,


Далее открываем файл /language/ru/common.php
Ищем строку, начинающуюся так:
	'REGISTERED_USERS'

После этой строки добавляем:
	'REGISTERED_USERS_BOTS'		=> 'Роботы:',


то же самое сделать в английском файле („Роботы:“ заменить на „Bots:“).

Открываем /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 -->


Идем в админку, очищаем кэш шаблонов стилей.

Теперь наша строчка на главной превратилась в две:
.png
За это сообщение автора Oleg NT поблагодарили: 2
Jet (15.09.2010 18:05), МайскийЖук (18.01.2011 23:29)
Аватара пользователя
Oleg NT
Former team member
 
Сообщения: 522
Зарегистрирован: 04.01.2006 11:36
Откуда: Нижний Тагил, Екатеринбург
Благодарил (а): 0 раз.
Поблагодарили: 5 раз.

Re: Выделяем ботов в отдельную строку на главной

Сообщение Gisher » 06.01.2009 0:08

Oleg NT
может сделаете и для этого мода? Who Was Here?

Gisher
phpBB 2.0.23
 
Сообщения: 828
Зарегистрирован: 04.10.2006 6:50
Благодарил (а): 6 раз.
Поблагодарили: 8 раз.

Re: Выделяем ботов в отдельную строку на главной

Сообщение Oleg NT » 06.01.2009 0:16

У меня нет такого мода :oops: :roll: и никогда не ставил.
Посмотрим.
Аватара пользователя
Oleg NT
Former team member
 
Сообщения: 522
Зарегистрирован: 04.01.2006 11:36
Откуда: Нижний Тагил, Екатеринбург
Благодарил (а): 0 раз.
Поблагодарили: 5 раз.

Re: Выделяем ботов в отдельную строку на главной

Сообщение Gisher » 06.01.2009 0:27

такс... при просмотре viewonline.php в шапке ругается на
[phpBB Debug] PHP Notice: in file /includes/functions.php on line 3924: Undefined variable: online_userlist_bots
строка 3924 у меня
	        'LOGGED_IN_USER_LIST_BOTS'      => $online_userlist_bots,

Gisher
phpBB 2.0.23
 
Сообщения: 828
Зарегистрирован: 04.10.2006 6:50
Благодарил (а): 6 раз.
Поблагодарили: 8 раз.

Re: Выделяем ботов в отдельную строку на главной

Сообщение Oleg NT » 06.01.2009 1:26

Oleg NT писал(а):Ищем
		$total_online_users = $online_users['total_online'];

после добавляем:
		$online_userlist_bots = $user_online_strings['online_userlist_bots'];



Вот этот шаг не пропустили?
Аватара пользователя
Oleg NT
Former team member
 
Сообщения: 522
Зарегистрирован: 04.01.2006 11:36
Откуда: Нижний Тагил, Екатеринбург
Благодарил (а): 0 раз.
Поблагодарили: 5 раз.

Re: Выделяем ботов в отдельную строку на главной

Сообщение Gisher » 06.01.2009 1:29

нет вроде
	// Get users online list ... if required
	$l_online_users = $online_userlist = $l_online_record = '';

	if ($config['load_online'] && $config['load_online_time'] && $display_online_list)
	{
		$f = request_var('f', 0);
		$f = max($f, 0);
		$online_users = obtain_users_online($f);
		$user_online_strings = obtain_users_online_string($online_users, $f);

		$l_online_users = $user_online_strings['l_online_users'];
		$online_userlist = $user_online_strings['online_userlist'];
		$total_online_users = $online_users['total_online'];
	        $online_userlist_bots = $user_online_strings['online_userlist_bots'];

		if ($total_online_users > $config['record_online_users'])
		{
			set_config('record_online_users', $total_online_users, true);
			set_config('record_online_date', time(), true);
		}

		$l_online_record = sprintf($user->lang['RECORD_ONLINE_USERS'], $config['record_online_users'], $user->format_date($config['record_online_date']));

		$l_online_time = ($config['load_online_time'] == 1) ? 'VIEW_ONLINE_TIME' : 'VIEW_ONLINE_TIMES';
		$l_online_time = sprintf($user->lang[$l_online_time], $config['load_online_time']);
	}
	else
	{
		$l_online_time = '';
	}


Добавлено спустя 2 минуты 6 секунд:
у вас при включённом debug нет подобных ошибок при просмотре страницы "Кто сейчас на конференции"?

Gisher
phpBB 2.0.23
 
Сообщения: 828
Зарегистрирован: 04.10.2006 6:50
Благодарил (а): 6 раз.
Поблагодарили: 8 раз.

Re: Выделяем ботов в отдельную строку на главной

Сообщение Oleg NT » 06.01.2009 1:41

Опа, появилось. Ну пока отключите дебаг :) Я спать пошел. Потом подумаю, где косяк.
Аватара пользователя
Oleg NT
Former team member
 
Сообщения: 522
Зарегистрирован: 04.01.2006 11:36
Откуда: Нижний Тагил, Екатеринбург
Благодарил (а): 0 раз.
Поблагодарили: 5 раз.

Re: Выделяем ботов в отдельную строку на главной

Сообщение Gisher » 06.01.2009 1:53

приятных снов)
я даже отключать не буду, всё равно эту страницу кроме меня никто не видет)


Добавлено спустя 46 минут 31 секунду:
пришлось отключить)
ошибка выскакивает не только в viewonline.php, в игротеке, в галереи и т д

Gisher
phpBB 2.0.23
 
Сообщения: 828
Зарегистрирован: 04.10.2006 6:50
Благодарил (а): 6 раз.
Поблагодарили: 8 раз.

Re: Выделяем ботов в отдельную строку на главной

Сообщение wce » 28.03.2009 1:39

Слегка апну тему: если в config.php включить DEBUG_EXTRA - сообщение об ошибке Undefined variable: online_userlist_bots не вылазит. Как не вылазит и в футере время генерации страницы. Так что присоединяюсь к просьбе Gisher.

wce
phpBB 1.2.1
 
Сообщения: 20
Зарегистрирован: 10.02.2006 15:50
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Выделяем ботов в отдельную строку на главной

Сообщение 21Vitaliy » 06.04.2009 20:31

Oleg NT

А как по вашей онологии можно отделить пользователей и администраторов/модераторов?

Тоесть администраторов/модераторов на одну строку (скажем будет называеться "Команда")
А вторая строка обычные пользователи.

21Vitaliy
phpBB 1.2.0
 
Сообщения: 17
Зарегистрирован: 30.01.2009 21:28
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Выделяем ботов в отдельную строку на главной

Сообщение Erlang » 23.09.2009 7:46

У меня аналогично
[phpBB Debug] PHP Notice: in file /includes/functions.php on line 3779: Undefined variable: online_userlist_bots
С уважением,
Сергей

Erlang
phpBB 2.0.21
 
Сообщения: 744
Зарегистрирован: 13.07.2004 20:30
Откуда: Москва
Благодарил (а): 36 раз.
Поблагодарили: 1 раз.

Re: Выделяем ботов в отдельную строку на главной

Сообщение wwc » 10.12.2009 16:22

После того как поменял версию на 3.0.6 перестало работать выделение ботов. Внимательно все просмотрел, выяснилось ,что группа ботов поменялась. Внёс изменения в define('BOTS_GROUP_ID', 20); ... безрезультатно.

http://www.rsgmag.ru/forum/
Лучшая месть убийце - укол редкого вируса и поиск антидота от него за 48 часов.
Аватара пользователя
wwc
phpBB 2.0.1
 
Сообщения: 127
Зарегистрирован: 15.06.2007 13:33
Откуда: Москва
Благодарил (а): 1 раз.
Поблагодарили: 0 раз.

Re: Выделяем ботов в отдельную строку на главной

Сообщение Бармен » 10.04.2010 17:45

Тоже не работает на 3,0,7
попробовал
http://www.phpbb.com/community/viewtopi ... &t=1637765
Вот только маленький косячек получается
Сейчас посетителей на форуме: 20, из них зарегистрированных: 15, гостей: 2 (основано на активности пользователей за последние 10 минут)

Но никак не отображается количество скрытых.
и там есть в инструкции
Find
	'HIDDEN_USERS_ONLINE'			=> '%d hidden users online',
	'HIDDEN_USERS_TOTAL'			=> '%d hidden',
	'HIDDEN_USERS_TOTAL_AND'		=> '%d hidden and ',
	'HIDDEN_USERS_ZERO_ONLINE'		=> '0 hidden users online',
	'HIDDEN_USERS_ZERO_TOTAL'		=> '0 hidden',
	'HIDDEN_USERS_ZERO_TOTAL_AND'	=> '0 hidden and ',
	'HIDDEN_USER_ONLINE'			=> '%d hidden user online',
	'HIDDEN_USER_TOTAL'				=> '%d hidden',
	'HIDDEN_USER_TOTAL_AND'			=> '%d hidden and ',

половины этих параметров в 307 просто нет, но судя по всему это не так важно.

Возникает вопрос, а как сделать так чтобы на главной отображалось количество скрытых?
Аватара пользователя
Бармен
phpBB 1.2.0
 
Сообщения: 19
Зарегистрирован: 22.10.2009 12:53
Благодарил (а): 4 раз.
Поблагодарили: 0 раз.

Re: Выделяем ботов в отдельную строку на главной

Сообщение Shredder » 01.09.2010 21:39

wwc писал(а):После того как поменял версию на 3.0.6 перестало работать выделение ботов.

Вот в этом куске кода:
					if ($forum_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;
					}

Заменить $forum_id на $item_id - всё заработает.
За это сообщение автора Shredder поблагодарили: 3
Jet (15.09.2010 18:05), Пчелкин (19.11.2010 11:30), МайскийЖук (18.01.2011 23:29)

Shredder
Former team member
 
Сообщения: 1010
Зарегистрирован: 14.12.2008 10:18
Благодарил (а): 50 раз.
Поблагодарили: 161 раз.

Выделяем ботов в отдельную строку на главной

Сообщение МайскийЖук » 18.01.2011 23:28

Отлично! Спасибо большое автору темы, а так же пользователю Shredder за уточнение. Все прекрасно работает. :)
Любовь и боль, покой и бой я как любой несу с собой...
Аватара пользователя
МайскийЖук
phpBB 2.0.12
 
Сообщения: 412
Зарегистрирован: 28.09.2009 15:07
Благодарил (а): 8 раз.
Поблагодарили: 45 раз.
Предупреждения: 2

След.

Вернуться в Для авторов (phpBB 3.0.x)

 

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0

Бессрочный конкурс phpBB-ориентированных материалов
FastVPS — надёжный и доступный хостинг для phpBB
Место для вашей рекламы