Короче, Склифасовский (С)
выполнить запрос для удаления всех из группы Новые пользователи:
Код: Выделить всё
DELETE FROM phpbb_user_group WHERE group_id=7
выполнить запрос для назначения группы "Зарегистрированные пользователи" группой по-умолчанию для тех у кого ранее группой по-умолчанию стояла "Новые пользователи":
Код: Выделить всё
update phpbb_users set group_id=2 where group_id=7
в файле includes/acp/acp_main.php найти:
Код: Выделить всё
$start += $step;
}
add_log('admin', 'LOG_RESYNC_POSTCOUNTS');
добавить после
Код: Выделить всё
//Pazh SyncUserGroup
if ($config['new_member_group_default'] && $config['new_member_post_limit'] && $auth->acl_get('a_group'))
{
$sql = 'SELECT group_id
FROM ' . GROUPS_TABLE . "
WHERE group_name = 'NEWLY_REGISTERED'
AND group_type = " . GROUP_SPECIAL;
$result = $db->sql_query($sql);
$newly_group_id = (int) $db->sql_fetchfield('group_id');
$db->sql_freeresult($result);
$sql = 'SELECT u.user_id
FROM ' . USERS_TABLE . ' u,
' . USER_GROUP_TABLE . " ug
WHERE ug.user_id = u.user_id
AND u.user_posts < {$config['new_member_post_limit']}
AND ug.group_id = 2
AND not exists(select 1 from " . USER_GROUP_TABLE . " ug1 WHERE ug1.user_id = u.user_id and group_id = $newly_group_id)"; //Смотрим ТОЛЬКО кто в группе ЗАРЕГИСТРИРОВАННЫЕ
$result = $db->sql_query($sql);
$user_id_list = array();
while($row = $db->sql_fetchfield('user_id'))
{
$user_id_list[] = $row;
}
$db->sql_freeresult($result);
if (sizeof($user_id_list))
{
$sql = 'SELECT group_id
FROM ' . GROUPS_TABLE . "
WHERE group_name = 'REGISTERED'
AND group_type = " . GROUP_SPECIAL;
$result = $db->sql_query($sql);
$reg_group_id = (int) $db->sql_fetchfield('group_id');
$db->sql_freeresult($result);
include_once($phpbb_root_path . 'includes/functions_user.' . $phpEx);
// Add user(s) to "newly registered users" group and set to default group if admin specified so.
if ($error = group_user_add($newly_group_id, $user_id_list, false, false, true))
{
trigger_error("Error: $error", E_USER_WARNING);//$user->lang[$error]
}
$sql = 'UPDATE ' . USERS_TABLE . ' SET user_new=1 WHERE ' . $db->sql_in_set('user_id',$user_id_list);
$db->sql_query($sql);
}
unset($user_id_list);
}
//--Pazh SyncUserGroup
Зайти в Админку -> Общие -> Регистрация пользователей и выставить значение
Лимит сообщений для новых пользователей в 30, а
Установить группу «Новые пользователи» как группу по умолчанию в
Да
Кликнуть на вкладку Общие для перехода на главную страницу и нажать
Синхронизировать счётчики сообщений
Всё... кол-во сообщений всех юзеров пересчитается и если у кого-то окажется менее 30, они автоматом попадут в группу Новые пользователи