Причисление всех в группу ...

Проблемы с установкой или работой phpBB 2.0.x? Ищите ответы здесь!
Jovani
phpBB 2.0.5
Сообщения: 477
Стаж: 21 год

Причисление всех в группу ...

Сообщение Jovani »

В связи с некоторой реорганизацией форума, возник вопрос:
- Как быстро, всех участников, причислить к определенной группе?

Участников много - 13.000.
Xpert
phpBB Guru
phpBB Guru
Сообщения: 5484
Стаж: 21 год 2 месяца
Поблагодарили: 2 раза

Сообщение Xpert »

Есть какой-либо общий признак? Если да, то какой.
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Jovani
phpBB 2.0.5
Сообщения: 477
Стаж: 21 год

Сообщение Jovani »

1 - Зарегестрирован и "активизирован"
2 - Не состоит в этой группе

Или только пункт "1" ....
Jovani
phpBB 2.0.5
Сообщения: 477
Стаж: 21 год

Сообщение Jovani »

В принципе, что-бы не вносить каждого участника вручную, наклевывается SQL-запрос.
Но хотелось бы послушать гуру ...
Нужен именно практический вариант.
Аватара пользователя
Siava
Поддержка
Поддержка
Сообщения: 5432
Стаж: 20 лет 4 месяца
Откуда: Питер
Благодарил (а): 177 раз
Поблагодарили: 749 раз

Сообщение Siava »

Jovani
мод Auto Group поможет :)
Еще одно нарушение правил и будете забанены. © Mr. Anderson
Ты очистил кеш? © Sheer
https://siava.ru (phpbb 2.0.x 3.5.x)
Jovani
phpBB 2.0.5
Сообщения: 477
Стаж: 21 год

Сообщение Jovani »

В общем, SQL-запрос получился тяжелый.
Кому нужно будет, работает из корня.
В скрипте настраиваете $my_group_id.

Не забудьте, после выполнения, удалить скрипт ....

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

<?php

/// НАСТРОЙКИ !!! ///
$my_group_id = '12321'; // ID группы, в которую ВСЕХ добавим. Группа уже должна существовать.
/////////////////////


define('IN_PHPBB', true);
$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'config.'.$phpEx);
include($phpbb_root_path . '/includes/constants.'.$phpEx);
include($phpbb_root_path . 'common.'.$phpEx);

$userdata = session_pagestart($user_ip, PAGE_PROFILE);
init_userprefs($userdata);



				$sql = "SELECT u.user_id FROM " . USERS_TABLE . " u
					LEFT JOIN " . USER_GROUP_TABLE ." ug ON u.user_id=ug.user_id AND ug.group_id='$my_group_id'
					WHERE ug.group_id is NULL
					AND u.user_id NOT IN ('".ANONYMOUS."')";
				if ( !($result = $db->sql_query($sql)) )
				{
					message_die(GENERAL_ERROR, $sql.'Пользователи не выбраны ', '', __LINE__, __FILE__, $sql);
				}

				$group_count_added=0;
				while ( ($new_members = $db->sql_fetchrow($result)) )
				{
					$sql = "INSERT INTO " . USER_GROUP_TABLE . " (group_id, user_id, user_pending)
						VALUES ($my_group_id, " . $new_members['user_id'] . ", 0)";
					if ( !($result2 = $db->sql_query($sql)) )
					{
						message_die(GENERAL_ERROR, 'Ошибка добавления в группу ', '', __LINE__, __FILE__, $sql);
					}
					$group_count_added++;
				}

		echo "Сделано!";

?>

Вернуться в «Поддержка phpBB 2.0.x»