set_time_limit(600); $end_id = $start_id + $per_cycle - 1; DB()->query("\n\t\t\t\t\t\tUPDATE " . BB_POSTS . " SET forum_id = {$to_id} WHERE post_id BETWEEN {$start_id} AND {$end_id} AND forum_id = {$from_id}\n\t\t\t\t\t"); if ($end_id > $finish_id) { break; } $start_id += $per_cycle; } sync('forum', $to_id); } DB()->query("DELETE FROM " . BB_FORUMS . " WHERE forum_id = {$from_id}"); DB()->query("DELETE FROM " . BB_AUTH_ACCESS . " WHERE forum_id = {$from_id}"); DB()->query("DELETE FROM " . BB_AUTH_ACCESS_SNAP . " WHERE forum_id = {$from_id}"); $cat_forums = get_cat_forums(); fix_orphan_sf(); update_user_level('all'); $datastore->update('cat_forums'); CACHE('bb_cache')->rm(); bb_die($lang['FORUMS_UPDATED'] . '<br /><br />' . sprintf($lang['CLICK_RETURN_FORUMADMIN'], '<a href="admin_forums.php">', '</a>') . '<br /><br />' . sprintf($lang['CLICK_RETURN_ADMIN_INDEX'], '<a href="index.php?pane=right">', '</a>')); break; case 'deletecat': // Show form to delete a category $cat_id = (int) $_GET['c']; $catinfo = get_info('category', $cat_id); $categories_count = $catinfo['number']; if ($categories_count == 1) { $row = DB()->fetch_row("SELECT COUNT(*) AS forums_count FROM " . BB_FORUMS); if ($row['forums_count'] > 0) { bb_die($lang['MUST_DELETE_FORUMS']); } else { $template->assign_var('NOWHERE_TO_MOVE', $lang['NOWHERE_TO_MOVE']);
$members = !empty($_POST['approve']) || !empty($_POST['deny']) ? $_POST['pending_members'] : $_POST['members']; $sql_in = array(); foreach ($members as $members_id) { $sql_in[] = (int) $members_id; } if (!($sql_in = join(',', $sql_in))) { bb_die($lang['NONE_SELECTED']); } if (!empty($_POST['approve'])) { DB()->query("\n\t\t\t\t\t\tUPDATE " . BB_USER_GROUP . " SET\n\t\t\t\t\t\t\tuser_pending = 0\n\t\t\t\t\t\tWHERE user_id IN({$sql_in})\n\t\t\t\t\t\t\tAND group_id = {$group_id}\n\t\t\t\t\t"); update_user_level($sql_in); } else { if (!empty($_POST['deny']) || !empty($_POST['remove'])) { DB()->query("\n\t\t\t\t\t\tDELETE FROM " . BB_USER_GROUP . "\n\t\t\t\t\t\tWHERE user_id IN({$sql_in})\n\t\t\t\t\t\t\tAND group_id = {$group_id}\n\t\t\t\t\t"); if (!empty($_POST['remove'])) { update_user_level($sql_in); } } } // Email users when they are approved if (!empty($_POST['approve']) && $bb_cfg['group_send_email']) { $sql_select = "SELECT username, user_email, user_lang\n\t\t\t\t\t\tFROM " . BB_USERS . "\n\t\t\t\t\t\tWHERE user_id IN({$sql_in})"; if (!($result = DB()->sql_query($sql_select))) { bb_die('Could not get user email information'); } require CLASS_DIR . 'emailer.php'; $emailer = new emailer($bb_cfg['smtp_delivery']); $emailer->from($bb_cfg['sitename'] . " <{$bb_cfg['board_email']}>"); foreach (DB()->fetch_rowset($sql_select) as $row) { $emailer->use_template('group_approved', $row['user_lang']); $emailer->email_address($row['username'] . " <{$row['user_email']}>");
function delete_user_group($group_id, $user_id) { DB()->query("\n\t\tDELETE FROM " . BB_USER_GROUP . "\n\t\tWHERE user_id = " . (int) $user_id . "\n\t\t\tAND group_id = " . (int) $group_id . "\n\t"); update_user_level($user_id); }