Пропустить

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

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

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

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

Сообщение Synchro » 04.12.2009 6:15

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

Заранее благодарен.

Synchro
phpBB 1.0.0
 
Сообщения: 3
Зарегистрирован: 04.12.2009 5:43
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

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

Сообщение Fray98rus » 04.12.2009 14:19

Synchro
А создать звание для группы - не катит?
Аватара пользователя
Fray98rus
Former team member
 
Сообщения: 449
Зарегистрирован: 14.10.2007 19:21
Откуда: Санкт-Петербург
Благодарил (а): 2 раз.
Поблагодарили: 2 раз.

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

Сообщение Synchro » 04.12.2009 16:51

Нет, в том то и дело, что не катит. Звания идут по кол-ву сообщений. А нужно еще вывод названия группы. По мне так бред, но заказчик хочет вот так вот.

Synchro
phpBB 1.0.0
 
Сообщения: 3
Зарегистрирован: 04.12.2009 5:43
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

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

Сообщение nissin » 04.12.2009 21:36

Не совсем стиль конечно, ближе к моду.
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 -->
Всё повторяется. nurlan.info
За это сообщение автора nissin поблагодарили: 6
Andrey447 (08.04.2011 12:08), boloto (13.03.2011 18:28), Caballero (29.07.2011 9:40), gogogo (27.09.2010 9:04), MAzZY (03.04.2012 15:18), Shwepps (08.02.2011 0:19)
Аватара пользователя
nissin
Поддержка
Поддержка
 
Сообщения: 1381
Зарегистрирован: 16.12.2007 15:01
Откуда: Павлодар
Благодарил (а): 1 раз.
Поблагодарили: 124 раз.

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

Сообщение Synchro » 08.12.2009 10:28

Спасибо огромное. То, что нужно. Но маленькая загвоздка получилась. У обычных пользователех группа почему-то отображется, как REGISTERED. У всех остальных групп, включая "Администраторы" - все ок. Менять название группы в БД показалось мне не совсем правильно. Добавил в блок Get the default group names небольшое ветвление:
if ($row['group_name'] == "REGISTERED")
{
$row['group_name'] = "Пользователи";
}


Получилось очень топорно и криво, но работает. :) Есть какие-нить более изящные пути решения данной проблемки?

Synchro
phpBB 1.0.0
 
Сообщения: 3
Зарегистрирован: 04.12.2009 5:43
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

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

Сообщение nissin » 08.12.2009 11:02

Вот эту строчку:
		'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'],

Предыдущее сообщение поправил.
Всё повторяется. nurlan.info
За это сообщение автора nissin поблагодарил:
phpbbuser (28.12.2010 19:53)
Аватара пользователя
nissin
Поддержка
Поддержка
 
Сообщения: 1381
Зарегистрирован: 16.12.2007 15:01
Откуда: Павлодар
Благодарил (а): 1 раз.
Поблагодарили: 124 раз.

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

Сообщение phpbbuser » 28.12.2010 18:56

Когда пользователь состоит в нескольких группах, как сделать отображение всех? Или той одной, что более значимая.

phpbbuser
phpBB 1.2.1
 
Сообщения: 29
Зарегистрирован: 18.12.2010 2:06
Благодарил (а): 2 раз.
Поблагодарили: 1 раз.

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

Сообщение phpbbuser » 08.01.2011 13:56

Сделал отображение более значимой группы, при этом цвет надписи соответствует цвету группы. Если кому-то интересно пишите здесь или в личку, добавлю изменения в код.

phpbbuser
phpBB 1.2.1
 
Сообщения: 29
Зарегистрирован: 18.12.2010 2:06
Благодарил (а): 2 раз.
Поблагодарили: 1 раз.

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

Сообщение ____ROB____ » 17.02.2011 20:13

А возможно зделать так, что бы група отображалась сразу под ником?
Вложения
sshot-4.jpg

____ROB____
phpBB 1.2.0
 
Сообщения: 13
Зарегистрирован: 23.12.2010 20:34
Благодарил (а): 6 раз.
Поблагодарили: 0 раз.

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

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

а на скриншоте она где?

Альтаир Бергадлер
phpBB 2.0.18
 
Сообщения: 551
Зарегистрирован: 26.03.2010 3:11
Благодарил (а): 79 раз.
Поблагодарили: 16 раз.

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

Сообщение ____ROB____ » 17.02.2011 21:00

всё решил, дал группе звание.

____ROB____
phpBB 1.2.0
 
Сообщения: 13
Зарегистрирован: 23.12.2010 20:34
Благодарил (а): 6 раз.
Поблагодарили: 0 раз.

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

Сообщение Jangirey » 07.04.2011 19:25

все разобрался, а теперь как сделать, чтобы группам соответствовал их цвет.

Jangirey
phpBB 1.0.0
 
Сообщения: 8
Зарегистрирован: 31.03.2011 19:30
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

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

Сообщение nissin » 07.04.2011 23:07

Найти:
// 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'],

Не проверял, но должно работать.
Всё повторяется. nurlan.info
За это сообщение автора nissin поблагодарил:
MAzZY (03.04.2012 15:27)
Аватара пользователя
nissin
Поддержка
Поддержка
 
Сообщения: 1381
Зарегистрирован: 16.12.2007 15:01
Откуда: Павлодар
Благодарил (а): 1 раз.
Поблагодарили: 124 раз.

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

Сообщение Пчелкин » 08.04.2011 4:25

Работает!!! Тоже сделал...
Еще бы чуть крупнее шрифтик..(но только в минипрофиле надо..) :oops:
Фанат phpBB. В HTML - без проблем, в CSS - так себе, учусь, в php - баран, помогает только дедукция
Аватара пользователя
Пчелкин
phpBB 3.0.7-PL1
 
Сообщения: 4901
Зарегистрирован: 15.01.2010 14:57
Откуда: От Москвы 9 часов на Боинге
Благодарил (а): 288 раз.
Поблагодарили: 557 раз.

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

Сообщение nissin » 08.04.2011 15:01

Мне жутко неудобно, но
http://htmlbook.ru/css/font-size
Всё повторяется. nurlan.info
За это сообщение автора nissin поблагодарил:
Пчелкин (08.04.2011 17:15)
Аватара пользователя
nissin
Поддержка
Поддержка
 
Сообщения: 1381
Зарегистрирован: 16.12.2007 15:01
Откуда: Павлодар
Благодарил (а): 1 раз.
Поблагодарили: 124 раз.

След.

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

 

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

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

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

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