Отображение группы пользователя в сообщении

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

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Synchro
phpBB 1.0.0
Сообщения: 3
Стаж: 16 лет 9 месяцев

Отображение группы пользователя в сообщении

Сообщение Synchro »

Что-то искал-искал. Похожее что-то есть, но вот реально что нужно - отсуствует. Необходимо, чтобы в сообщениях на форуме под именем пользователя помимо его ранга отображалась основная группа. Т.е. если юзер состоит в группах "зарегистрированные пользователи" и "администраторы", то нужно чтобы тупо выводилось "Группа: Администраторы". То же самое в профиле пользователя. Нужно не выпадающий список, а тупо указание основной группы.

Заранее благодарен.
Аватара пользователя
Fray98rus
Former team member
Сообщения: 442
Стаж: 18 лет 11 месяцев
Откуда: Санкт-Петербург
Благодарил (а): 3 раза
Поблагодарили: 2 раза

Re: Отображение группы пользователя в сообщении

Сообщение Fray98rus »

Synchro
А создать звание для группы - не катит?
Synchro
phpBB 1.0.0
Сообщения: 3
Стаж: 16 лет 9 месяцев

Re: Отображение группы пользователя в сообщении

Сообщение Synchro »

Нет, в том то и дело, что не катит. Звания идут по кол-ву сообщений. А нужно еще вывод названия группы. По мне так бред, но заказчик хочет вот так вот.
Аватара пользователя
nissin
phpBB 3.0.4
Сообщения: 2229
Стаж: 18 лет 9 месяцев
Откуда: Астана
Благодарил (а): 7 раз
Поблагодарили: 344 раза

Re: Отображение группы пользователя в сообщении

Сообщение nissin »

Не совсем стиль конечно, ближе к моду.
Open viewtopic.php, Find

Код: Выделить всё

				'user_colour'		=> $row['user_colour'],
Add after

Код: Выделить всё

				'group_name'		=> '',
Find

Код: Выделить всё

				'user_colour'		=> $row['user_colour'],
Add after

Код: Выделить всё

				'group_name'		=> '',
Find

Код: Выделить всё

unset($id_cache);
Add before

Код: Выделить всё

// Get the default group names
if (sizeof($id_cache))
{
	$sql = 'SELECT u.user_id, u.group_id, g.group_name
 		FROM ' . USERS_TABLE . ' u
		LEFT JOIN ' . GROUPS_TABLE . ' g ON u.group_id = g.group_id
		WHERE ' . $db->sql_in_set('u.user_id', $id_cache);
	$result = $db->sql_query($sql);

	while ($row = $db->sql_fetchrow($result))
	{
		$user_cache[$row['user_id']]['group_name'] = $row['group_name'];
	}
	$db->sql_freeresult($result);
}

Find

Код: Выделить всё

		'POSTER_ID'			=> $poster_id,
Add after

Код: Выделить всё

		'GROUP_NAME'		=> isset($user->lang['G_' . $user_cache[$poster_id]['group_name']]) ? $user->lang['G_' . $user_cache[$poster_id]['group_name']] : $user_cache[$poster_id]['group_name'],
Open styles/prosilver/template/viewtopic_body.html, Find

Код: Выделить всё

		<!-- IF postrow.POSTER_FROM --><dd><strong>{L_LOCATION}:</strong> {postrow.POSTER_FROM}</dd><!-- ENDIF -->
Add after

Код: Выделить всё

		<!-- IF postrow.GROUP_NAME --><dd><strong>{L_GROUP}:</strong> {postrow.GROUP_NAME}</dd><!-- ENDIF -->
Open styles/subsilver2/template/viewtopic_body.html, Find

Код: Выделить всё

					<!-- IF postrow.POSTER_FROM --><br /><b>{L_LOCATION}:</b> {postrow.POSTER_FROM}<!-- ENDIF -->
Add after

Код: Выделить всё

					<!-- IF postrow.GROUP_NAME --><br /><b>{L_GROUP}:</b> {postrow.GROUP_NAME}<!-- ENDIF -->
Synchro
phpBB 1.0.0
Сообщения: 3
Стаж: 16 лет 9 месяцев

Re: Отображение группы пользователя в сообщении

Сообщение Synchro »

Спасибо огромное. То, что нужно. Но маленькая загвоздка получилась. У обычных пользователех группа почему-то отображется, как REGISTERED. У всех остальных групп, включая "Администраторы" - все ок. Менять название группы в БД показалось мне не совсем правильно. Добавил в блок Get the default group names небольшое ветвление:

Код: Выделить всё

if ($row['group_name'] == "REGISTERED")
{
$row['group_name'] = "Пользователи";
}
Получилось очень топорно и криво, но работает. :) Есть какие-нить более изящные пути решения данной проблемки?
Аватара пользователя
nissin
phpBB 3.0.4
Сообщения: 2229
Стаж: 18 лет 9 месяцев
Откуда: Астана
Благодарил (а): 7 раз
Поблагодарили: 344 раза

Re: Отображение группы пользователя в сообщении

Сообщение nissin »

Вот эту строчку:

Код: Выделить всё

		'GROUP_NAME'		=> isset($user->lang[$user_cache[$poster_id]['group_name']]) ? $user->lang[$user_cache[$poster_id]['group_name']] : $user_cache[$poster_id]['group_name'],
Заменить на:

Код: Выделить всё

		'GROUP_NAME'		=> isset($user->lang['G_' . $user_cache[$poster_id]['group_name']]) ? $user->lang['G_' . $user_cache[$poster_id]['group_name']] : $user_cache[$poster_id]['group_name'],
Предыдущее сообщение поправил.
phpbbuser
phpBB 1.2.1
Сообщения: 27
Стаж: 15 лет 9 месяцев
Благодарил (а): 2 раза

Re: Отображение группы пользователя в сообщении

Сообщение phpbbuser »

Когда пользователь состоит в нескольких группах, как сделать отображение всех? Или той одной, что более значимая.
phpbbuser
phpBB 1.2.1
Сообщения: 27
Стаж: 15 лет 9 месяцев
Благодарил (а): 2 раза

Re: Отображение группы пользователя в сообщении

Сообщение phpbbuser »

Сделал отображение более значимой группы, при этом цвет надписи соответствует цвету группы. Если кому-то интересно пишите здесь или в личку, добавлю изменения в код.
____ROB____
phpBB 1.2.0
Сообщения: 16
Стаж: 15 лет 9 месяцев
Благодарил (а): 10 раз

Re: Отображение группы пользователя в сообщении

Сообщение ____ROB____ »

А возможно зделать так, что бы група отображалась сразу под ником?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Альтаир Бергадлер
phpBB 2.0.5
Сообщения: 495
Стаж: 16 лет 5 месяцев
Благодарил (а): 80 раз
Поблагодарили: 16 раз

Re: Отображение группы пользователя в сообщении

Сообщение Альтаир Бергадлер »

а на скриншоте она где?
____ROB____
phpBB 1.2.0
Сообщения: 16
Стаж: 15 лет 9 месяцев
Благодарил (а): 10 раз

Re: Отображение группы пользователя в сообщении

Сообщение ____ROB____ »

всё решил, дал группе звание.
Jangirey
phpBB 1.0.0
Сообщения: 8
Стаж: 15 лет 5 месяцев

Re: Отображение группы пользователя в сообщении

Сообщение Jangirey »

все разобрался, а теперь как сделать, чтобы группам соответствовал их цвет.
Аватара пользователя
nissin
phpBB 3.0.4
Сообщения: 2229
Стаж: 18 лет 9 месяцев
Откуда: Астана
Благодарил (а): 7 раз
Поблагодарили: 344 раза

Re: Отображение группы пользователя в сообщении

Сообщение nissin »

Найти:

Код: Выделить всё

// Get the default group names
if (sizeof($id_cache))
{
	$sql = 'SELECT u.user_id, u.group_id, g.group_name
 		FROM ' . USERS_TABLE . ' u
		LEFT JOIN ' . GROUPS_TABLE . ' g ON u.group_id = g.group_id
		WHERE ' . $db->sql_in_set('u.user_id', $id_cache);
	$result = $db->sql_query($sql);

	while ($row = $db->sql_fetchrow($result))
	{
		$user_cache[$row['user_id']]['group_name'] = $row['group_name'];
	}
	$db->sql_freeresult($result);
}
Заменить на:

Код: Выделить всё

// Get the default group names
if (sizeof($id_cache))
{
	$sql = 'SELECT u.user_id, u.group_id, g.group_name, g.group_colour, g.group_type
 		FROM ' . USERS_TABLE . ' u
		LEFT JOIN ' . GROUPS_TABLE . ' g ON u.group_id = g.group_id
		WHERE ' . $db->sql_in_set('u.user_id', $id_cache);
	$result = $db->sql_query($sql);

	while ($row = $db->sql_fetchrow($result))
	{
		$colour_text = ($row['group_colour']) ? ' style="color:#' . $row['group_colour'] . '"' : '';
		$group_name = ($row['group_type'] == GROUP_SPECIAL) ? $user->lang['G_' . $row['group_name']] : $row['group_name'];
		$user_cache[$row['user_id']]['group_name'] = '<span' . $colour_text . '>' . $group_name . '</span>';
	}
	$db->sql_freeresult($result);
}
Найти:

Код: Выделить всё

		'GROUP_NAME'		=> isset($user->lang['G_' . $user_cache[$poster_id]['group_name']]) ? $user->lang['G_' . $user_cache[$poster_id]['group_name']] : $user_cache[$poster_id]['group_name'],
Заменить на:

Код: Выделить всё

		'GROUP_NAME'		=> $user_cache[$poster_id]['group_name'],
Не проверял, но должно работать.
Аватара пользователя
Пчелкин
phpBB 3.3.0
Сообщения: 11361
Стаж: 16 лет 8 месяцев
Благодарил (а): 1832 раза
Поблагодарили: 1358 раз

Re: Отображение группы пользователя в сообщении

Сообщение Пчелкин »

Работает!!! Тоже сделал...
Еще бы чуть крупнее шрифтик..(но только в минипрофиле надо..) :oops:
NIKON-D90, AF-S 18-105, AF-S 14-24, AF-S 24-70
Аватара пользователя
nissin
phpBB 3.0.4
Сообщения: 2229
Стаж: 18 лет 9 месяцев
Откуда: Астана
Благодарил (а): 7 раз
Поблагодарили: 344 раза

Re: Отображение группы пользователя в сообщении

Сообщение nissin »

Мне жутко неудобно, но
http://htmlbook.ru/css/font-size

Вернуться в «Запросы модов для phpBB 3.0.x»