Пропустить

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

Форум для авторов модов для phpBB 2.0.x.

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

Сообщение go » 11.05.2007 20:30

Уважаемые, не могли бы подсказать как осуществить в коде проверку на группу?
Изображение
Это лох-неское чудовище потеряло свое озеро и бегает, пока его кто-нибудь не пристрелит.
Аватара пользователя
go
phpBB 2.0.6
 
Сообщения: 264
Зарегистрирован: 13.03.2006 23:12
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Сообщение Siava » 11.05.2007 21:17

Группу крови?
Генератор db_update-файлов для phpBB 2.0
Еще одно нарушение правил и будете забанены.
© Mr. Anderson
Аватара пользователя
Siava
phpBB 3.0.5
 
Сообщения: 2580
Зарегистрирован: 11.01.2005 14:29
Откуда: Питер
Благодарил (а): 0 раз.
Поблагодарили: 1 раз.

Сообщение chipp » 11.05.2007 22:00

go, выражайтесь ясней, и вам помогут
Хочешь задать вопрос? Подумай! Может его уже задавали? Поиск жжет! И еще: если ошибка на буржуйском, на то есть словарь:!:
Аватара пользователя
chipp
phpBB 1.4.4
 
Сообщения: 90
Зарегистрирован: 13.03.2007 23:46
Откуда: Беларусь, Минск
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Сообщение m157y » 11.05.2007 22:48

я так полагаю наличие пользователя в группе...
			$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';

так выберем все группы в которых пользователь... думаю как чуток подправить под конкретную группу объяснять не надо...
Помните на форуме демократии нету, все делается так как вздумается администрации и правым быть вы не можете..
Аватара пользователя
m157y
phpBB 2.0.9
 
Сообщения: 342
Зарегистрирован: 08.08.2006 16:32
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Сообщение go » 12.05.2007 15:15

соглашусь.что формулировка вопроса была поставлена некорректно,приношу свои извинения. Хотелось бы осуществлять в коде проверку на группу по аналогу проверки на пользователя например проверка на админа осущствляется так
if ( $userdata['user_level'] == ADMIN )
или
if ( $userdata['user_id'] == номер регисрации)
а вот как происходит проверка на группу?
Аватара пользователя
go
phpBB 2.0.6
 
Сообщения: 264
Зарегистрирован: 13.03.2006 23:12
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Сообщение m157y » 12.05.2007 15:33

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: добавил проверку на выполневшийся запрос
Помните на форуме демократии нету, все делается так как вздумается администрации и правым быть вы не можете..
Аватара пользователя
m157y
phpBB 2.0.9
 
Сообщения: 342
Зарегистрирован: 08.08.2006 16:32
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Сообщение go » 12.05.2007 16:05

упс( теперь при каждой проверки-лишний запрос(
просто было желание немного увеличь функциональность форума типа расщирения полномочй определенной группе путем дачи тех же прав что и админу в коде но без статуса админа в админпанели)
Аватара пользователя
go
phpBB 2.0.6
 
Сообщения: 264
Зарегистрирован: 13.03.2006 23:12
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Сообщение m157y » 12.05.2007 18:30

2 go
в принципе, можно в includes/sessions.php в функции session_begin() подправить оба запроса... но я щас делать этого не буду ) если хочешь сделать сам, то могу предложить, для примера посмотреть как сделан запрос форумов на главной...
Помните на форуме демократии нету, все делается так как вздумается администрации и правым быть вы не можете..
Аватара пользователя
m157y
phpBB 2.0.9
 
Сообщения: 342
Зарегистрирован: 08.08.2006 16:32
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Сообщение go » 12.05.2007 18:49

$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:
Аватара пользователя
go
phpBB 2.0.6
 
Сообщения: 264
Зарегистрирован: 13.03.2006 23:12
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Сообщение m157y » 12.05.2007 20:06

2 go
я говорил не модераторов, а форумов... там со свитчем на разные базы...
Помните на форуме демократии нету, все делается так как вздумается администрации и правым быть вы не можете..
Аватара пользователя
m157y
phpBB 2.0.9
 
Сообщения: 342
Зарегистрирован: 08.08.2006 16:32
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.


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

 

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

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

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

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