Уважаемые пользователи!
C 7 ноября 2020 года phpBB Group прекратила выпуск обновлений и завершила дальнейшее развитие phpBB версии 3.2.
С 1 августа 2024 года phpBB Group прекращает поддержку phpBB 3.2 на официальном сайте.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2024 года.
С учетом этого, настоятельно рекомендуется обновить конференции до версии 3.3.

Проверка на группу в коде

Форум для авторов модов для phpBB 2.0.x.
Аватара пользователя
go
phpBB 2.0.1
Сообщения: 261
Стаж: 18 лет 3 месяца

Проверка на группу в коде

Сообщение go »

Уважаемые, не могли бы подсказать как осуществить в коде проверку на группу?
Изображение
Это лох-неское чудовище потеряло свое озеро и бегает, пока его кто-нибудь не пристрелит.
Аватара пользователя
Siava
Поддержка
Поддержка
Сообщения: 5298
Стаж: 19 лет 5 месяцев
Откуда: Питер
Благодарил (а): 188 раз
Поблагодарили: 802 раза

Сообщение Siava »

Группу крови?
Еще одно нарушение правил и будете забанены. © Mr. Anderson
Ты очистил кеш? © Sheer
https://siava.ru (phpbb 2.0.x 3.5.x)
Аватара пользователя
chipp
phpBB 1.4.3
Сообщения: 89
Стаж: 17 лет 3 месяца
Откуда: Беларусь, Минск

Сообщение chipp »

go, выражайтесь ясней, и вам помогут
Хочешь задать вопрос? Подумай! Может его уже задавали? Поиск жжет! И еще: если ошибка на буржуйском, на то есть словарь:!:
Аватара пользователя
m157y
phpBB 2.0.2
Сообщения: 340
Стаж: 17 лет 10 месяцев

Сообщение m157y »

я так полагаю наличие пользователя в группе...

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

			$sql = 'SELECT g.group_name, g.group_id, ug.user_id
				FROM ' . GROUPS_TABLE . ' g, ' . USER_GROUP_TABLE . ' ug 
				WHERE ug.group_id = g.group_id
					AND ug.user_id = ' . $user_id . '
					AND ug.user_pending = 0
					AND g.group_single_user = 0';
так выберем все группы в которых пользователь... думаю как чуток подправить под конкретную группу объяснять не надо...
Помните на форуме демократии нету, все делается так как вздумается администрации и правым быть вы не можете..
Аватара пользователя
go
phpBB 2.0.1
Сообщения: 261
Стаж: 18 лет 3 месяца

Сообщение go »

соглашусь.что формулировка вопроса была поставлена некорректно,приношу свои извинения. Хотелось бы осуществлять в коде проверку на группу по аналогу проверки на пользователя например проверка на админа осущствляется так
if ( $userdata['user_level'] == ADMIN )
или
if ( $userdata['user_id'] == номер регисрации)
а вот как происходит проверка на группу?
Аватара пользователя
m157y
phpBB 2.0.2
Сообщения: 340
Стаж: 17 лет 10 месяцев

Сообщение m157y »

2 go
такой проверки нету... но с вариантом моего запроса можно сделать нечто подобное...

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

$sql = 'SELECT g.group_name, g.group_id, ug.user_id 
   FROM ' . GROUPS_TABLE . ' g, ' . USER_GROUP_TABLE . ' ug 
   WHERE ug.group_id = g.group_id 
      AND ug.user_id = ' . $user_id . ' 
      AND ug.user_pending = 0 
      AND g.group_single_user = 0';
if ( !($result = $db->sql_query($sql)) )
{
   message_die(GENERAL_ERROR, 'Could not select groups information', '', __LINE__, __FILE__, $sql);
}
if ( $row = $db->sql_fetchrow($result) )
{
   do
   {
      $userdata['groups'][$row['group_id']] = 1;
   }
   while ( $row = $db->sql_fetchrow($result) );
}
теперь проверить можно так..

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

if ( isset($userdata['groups'][$group_id]) )
{
   /* Code if user in group here */
}
ПыСы
писал на ходу в форму ответа, поэтому мог чуток промахнутся... но вроде выглядит верно...

EDIT: добавил проверку на выполневшийся запрос
Помните на форуме демократии нету, все делается так как вздумается администрации и правым быть вы не можете..
Аватара пользователя
go
phpBB 2.0.1
Сообщения: 261
Стаж: 18 лет 3 месяца

Сообщение go »

упс( теперь при каждой проверки-лишний запрос(
просто было желание немного увеличь функциональность форума типа расщирения полномочй определенной группе путем дачи тех же прав что и админу в коде но без статуса админа в админпанели)
Аватара пользователя
m157y
phpBB 2.0.2
Сообщения: 340
Стаж: 17 лет 10 месяцев

Сообщение m157y »

2 go
в принципе, можно в includes/sessions.php в функции session_begin() подправить оба запроса... но я щас делать этого не буду ) если хочешь сделать сам, то могу предложить, для примера посмотреть как сделан запрос форумов на главной...
Помните на форуме демократии нету, все делается так как вздумается администрации и правым быть вы не можете..
Аватара пользователя
go
phpBB 2.0.1
Сообщения: 261
Стаж: 18 лет 3 месяца

Сообщение go »

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

$sql = "SELECT aa.forum_id, g.group_id, g.group_name, g.group_colour 
		FROM " . AUTH_ACCESS_TABLE . " aa, " . USER_GROUP_TABLE . " ug, " . GROUPS_TABLE . " g 
		WHERE aa.auth_mod = " . TRUE . " 
			AND g.group_single_user = 0 
			AND g.group_type <> " . GROUP_HIDDEN . "
			AND ug.group_id = aa.group_id 
			AND g.group_id = aa.group_id 
		GROUP BY g.group_id, g.group_name, aa.forum_id 
		ORDER BY aa.forum_id, g.group_id";
	if ( !($result = $db->sql_query($sql)) )
	{
		message_die(GENERAL_ERROR, 'Could not query forum moderator information', '', __LINE__, __FILE__, $sql);
	}

	while( $row = $db->sql_fetchrow($result) )
	{
		$forum_moderators[$row['forum_id']][] = '<a href="' . append_sid("groupcp.$phpEx?" . POST_GROUPS_URL . "=" . $row['group_id']) . '" style="color:' . $row['group_colour'] . '">' . $row['group_name'] . '</a>';
	}
	$db->sql_freeresult($result);
такой вт запросик) на индексе о группе,которая является ли модератором офрума...
на инклюд-сесион бензина не хватило ,скажу мягко.мозг приостановился):lol:
Аватара пользователя
m157y
phpBB 2.0.2
Сообщения: 340
Стаж: 17 лет 10 месяцев

Сообщение m157y »

2 go
я говорил не модераторов, а форумов... там со свитчем на разные базы...
Помните на форуме демократии нету, все делается так как вздумается администрации и правым быть вы не можете..

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