From 734c286f9fdfee1ce65f2e92730b9b0c50e27d62 Mon Sep 17 00:00:00 2001 From: "Paul S. Owen" Date: Mon, 25 Nov 2002 23:46:23 +0000 Subject: Some changes to forum admin to better reflect subforum 'post/non-post' changes ... no guarantees I've not broken something ... note the schema changes git-svn-id: file:///svn/phpbb/trunk@3094 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/admin/admin_forums.php | 452 +++++++++++++++++++------------------------ 1 file changed, 203 insertions(+), 249 deletions(-) (limited to 'phpBB/admin/admin_forums.php') diff --git a/phpBB/admin/admin_forums.php b/phpBB/admin/admin_forums.php index 17fea8fac4..2eed753a0c 100644 --- a/phpBB/admin/admin_forums.php +++ b/phpBB/admin/admin_forums.php @@ -67,7 +67,7 @@ switch ($mode) case 'move_up': case 'move_down': $show_index = TRUE; - $forum_id = intval($_GET['f']); + $forum_id = intval($_GET['this_f']); $result = $db->sql_query('SELECT parent_id, left_id, right_id FROM ' . FORUMS_TABLE . " WHERE forum_id = $forum_id"); if (!$row = $db->sql_fetchrow($result)) @@ -83,16 +83,16 @@ switch ($mode) if ($mode == 'move_up') { $sql = 'SELECT forum_id, left_id, right_id - FROM ' . FORUMS_TABLE . " - WHERE parent_id = $parent_id AND right_id < $right_id - ORDER BY right_id DESC"; + FROM ' . FORUMS_TABLE . " + WHERE parent_id = $parent_id AND right_id < $right_id + ORDER BY right_id DESC"; } else { $sql = 'SELECT forum_id, left_id, right_id - FROM ' . FORUMS_TABLE . " - WHERE parent_id = $parent_id AND left_id > $left_id - ORDER BY left_id ASC"; + FROM ' . FORUMS_TABLE . " + WHERE parent_id = $parent_id AND left_id > $left_id + ORDER BY left_id ASC"; } $result = $db->sql_query_limit($sql, 1); @@ -124,8 +124,8 @@ switch ($mode) // $forum_ids = array(); $sql = 'SELECT forum_id - FROM ' . FORUMS_TABLE . ' - WHERE left_id > ' . $forum_info[$up_id]['left_id'] . ' AND right_id < ' . $forum_info[$up_id]['right_id']; + FROM ' . FORUMS_TABLE . ' + WHERE left_id > ' . $forum_info[$up_id]['left_id'] . ' AND right_id < ' . $forum_info[$up_id]['right_id']; $result = $db->sql_query($sql); while ($row = $db->sql_fetchrow($result)) @@ -134,57 +134,43 @@ switch ($mode) } $sql = 'UPDATE ' . FORUMS_TABLE . ' - SET left_id = left_id + ' . ($diff_up + 1) . ', right_id = right_id + ' . ($diff_up + 1) . ' - WHERE left_id > ' . $forum_info[$down_id]['left_id'] . ' AND right_id < ' . $forum_info[$down_id]['right_id']; + SET left_id = left_id + ' . ($diff_up + 1) . ', right_id = right_id + ' . ($diff_up + 1) . ' + WHERE left_id > ' . $forum_info[$down_id]['left_id'] . ' AND right_id < ' . $forum_info[$down_id]['right_id']; $db->sql_query($sql); if (count($forum_ids)) { $sql = 'UPDATE ' . FORUMS_TABLE . ' - SET left_id = left_id - ' . ($diff_down + 1) . ', right_id = right_id - ' . ($diff_down + 1) . ' - WHERE forum_id IN (' . implode(', ', $forum_ids) . ')'; + SET left_id = left_id - ' . ($diff_down + 1) . ', right_id = right_id - ' . ($diff_down + 1) . ' + WHERE forum_id IN (' . implode(', ', $forum_ids) . ')'; $db->sql_query($sql); } $sql = 'UPDATE ' . FORUMS_TABLE . ' - SET left_id = ' . $forum_info[$down_id]['left_id'] . ', right_id = ' . ($forum_info[$down_id]['left_id'] + $diff_up) . ' - WHERE forum_id = ' . $up_id; + SET left_id = ' . $forum_info[$down_id]['left_id'] . ', right_id = ' . ($forum_info[$down_id]['left_id'] + $diff_up) . ' + WHERE forum_id = ' . $up_id; $db->sql_query($sql); $sql = 'UPDATE ' . FORUMS_TABLE . ' - SET left_id = ' . ($forum_info[$up_id]['right_id'] - $diff_down) . ', right_id = ' . $forum_info[$up_id]['right_id'] . ' - WHERE forum_id = ' . $down_id; + SET left_id = ' . ($forum_info[$up_id]['right_id'] - $diff_down) . ', right_id = ' . $forum_info[$up_id]['right_id'] . ' + WHERE forum_id = ' . $down_id; $db->sql_query($sql); break; case 'create': if (!trim($_POST['forum_name'])) { - message_die(ERROR, 'Cannot create a forum without a name'); + trigger_error('Cannot create a forum without a name'); } - $parent_id = (!empty($_POST['parent_id'])) ? $_POST['parent_id'] : 0; - $forum_status = (!empty($_POST['is_category'])) ? ITEM_CATEGORY : $_POST['forum_status']; - $forum_name = str_replace("\'", "''", $_POST['forum_name']); - $forum_desc = str_replace("\'", "''", $_POST['forum_desc']); - - $forum_style = (!empty($_POST['forum_style'])) ? intval($_POST['forum_style']) : 'NULL'; - $post_count_inc = (!empty($_POST['disable_post_count'])) ? 0 : 1; - $moderated = (!empty($_POST['moderated'])) ? 1 : 0; - - $prune_enable = (!empty($_POST['prune_enable'])) ? 1 : 0; - $prune_days = intval($_POST['prune_days']); - $prune_freq = intval($_POST['prune_freq']); - - $result = $db->sql_query('SELECT MAX(forum_id) AS max_id FROM ' . FORUMS_TABLE); - $forum_id = $db->sql_fetchfield('max_id', 0, $result) + 1; + $parent_id = (!empty($_POST['parent_id'])) ? intval($_POST['parent_id']) : 0; if ($parent_id) { $result = $db->sql_query('SELECT left_id, right_id FROM ' . FORUMS_TABLE . " WHERE forum_id = $parent_id"); if (!$row = $db->sql_fetchrow($result)) { - message_die(ERROR, 'Parent does not exist'); + trigger_error('Parent does not exist', E_USER_ERROR); } extract($row); @@ -197,21 +183,39 @@ switch ($mode) else { $result = $db->sql_query('SELECT MAX(right_id) AS right_id FROM ' . FORUMS_TABLE); + $left_id = $db->sql_fetchfield('right_id', 0, $result) + 1; $right_id = $left_id + 1; } - $sql = 'INSERT INTO ' . FORUMS_TABLE . " (forum_id, forum_name, forum_desc, parent_id, left_id, right_id, forum_status, forum_style, post_count_inc, moderated, prune_enable, prune_days, prune_freq) - VALUES ($forum_id, '$forum_name', '$forum_desc', $parent_id, $left_id, $right_id, $forum_status, $forum_style, $post_count_inc, $moderated, $prune_enable, $prune_days, $prune_freq)"; - $db->sql_query($sql); + $sql = array( + 'parent_id' => $parent_id, + 'left_id' => $left_id, + 'right_id' => $right_id, + 'forum_status' => (!empty($_POST['is_category'])) ? ITEM_CATEGORY : intval($_POST['forum_status']), + 'forum_postable' => (!empty($_POST['is_category'])) ? 0 : 1, + 'forum_name' => sql_quote($_POST['forum_name']), + 'forum_desc' => sql_quote($_POST['forum_desc']), + 'forum_style' => (!empty($_POST['forum_style'])) ? intval($_POST['forum_style']) : 'NULL', + 'enable_post_count' => (!empty($_POST['disable_post_count'])) ? 0 : 1, + 'enable_icons' => (!empty($_POST['enable_icons'])) ? 1 : 0, + 'enable_moderate' => (!empty($_POST['moderated'])) ? 1 : 0, + 'enable_prune' => (!empty($_POST['prune_enable'])) ? 1 : 0, + 'prune_days' => intval($_POST['prune_days']), + 'prune_freq' => intval($_POST['prune_freq']) + ); - $message = $user->lang['Forums_updated'] . "

" . sprintf($user->lang['Click_return_forumadmin'], '', '') . '

' . sprintf($user->lang['Click_return_admin_index'], '', ''); - message_die(MESSAGE, $message); + $db->sql_query('INSERT INTO ' . FORUMS_TABLE . ' ' . $db->sql_build_array('INSERT', $sql)); + + $forum_id = $db->sql_nextid(); + + // Redirect to permissions + redirect('admin_permissions.' . $phpEx . $SID . '&mode=forums&f=' . $forum_id); break; case 'modify': - if (!$forum_id = intval($_POST['forum_id'])) + if (!$forum_id = intval($_POST['f'])) { message_die(ERROR, 'No forum specified'); } @@ -233,20 +237,23 @@ switch ($mode) } $sql = array( - 'forum_name' => (!empty($_POST['forum_name'])) ? $_POST['forum_name'] : $row['forum_name'], - 'forum_desc' => (!empty($_POST['forum_desc'])) ? $_POST['forum_desc'] : $row['forum_desc'], - 'forum_status' => (!empty($_POST['set_category']) && $action) ? ITEM_CATEGORY : intval($_POST['forum_status']), - 'forum_style' => (!empty($_POST['forum_style'])) ? $_POST['forum_style'] : NULL, 'parent_id' => $parent_id, - 'prune_enable' => (!empty($_POST['prune_enable'])) ? 1 : 0, + 'forum_name' => (!empty($_POST['forum_name'])) ? $_POST['forum_name'] : $row['forum_name'], + 'forum_desc' => (!empty($_POST['forum_desc'])) ? $_POST['forum_desc'] : $row['forum_desc'], + 'forum_status' => intval($_POST['forum_status']), + 'forum_postable' => (!empty($_POST['is_postable'])) ? 1 : 0, + 'forum_style' => (!empty($_POST['forum_style'])) ? $_POST['forum_style'] : NULL, + 'forum_image' => (!empty($_POST['forum_image'])) ? $_POST['forum_image'] : '', + 'display_on_index' => (!empty($_POST['display_on_index'])) ? 1 : 0, + 'enable_post_count' => (!empty($_POST['disable_post_count'])) ? 0 : 1, + 'enable_icons' => (!empty($_POST['topic_icons'])) ? 1 : 0, + 'enable_moderate' => (!empty($_POST['moderated'])) ? 1 : 0, + 'enable_prune' => (!empty($_POST['prune_enable'])) ? 1 : 0, 'prune_days' => intval($_POST['prune_days']), 'prune_freq' => intval($_POST['prune_freq']), - 'display_on_index' => (!empty($_POST['display_on_index'])) ? 1 : 0, - 'post_count_inc' => (!empty($_POST['disable_post_count'])) ? 0 : 1, - 'moderated' => (!empty($_POST['moderated'])) ? 1 : 0, ); - if (!empty($_POST['set_category']) && $action) + if (!empty($_POST['set_nonpostable']) && $action) { if ($action == 'move' && $_POST['to_forum_id']) { @@ -274,7 +281,7 @@ switch ($mode) // // wasn't this form submitted? is anyone trying to remotely delete forums // - message_die(ERROR, 'Did not submit'); + trigger_error('Did not submit', E_USER_ERROR); } $action_subforums = (!empty($_POST['action_subforums'])) ? $_POST['action_subforums'] : ''; @@ -356,9 +363,8 @@ switch ($mode) message_die(MESSAGE, $message); break; - case 'forum_sync': - sync('forum', intval($_GET['f'])); - $show_index = TRUE; + case 'sync': + sync('forum', intval($_GET['this_f'])); break; case 'add': @@ -366,7 +372,7 @@ switch ($mode) // Show form to create/modify a forum if ($mode == 'edit') { - $forum_id = intval($_GET['f']); + $forum_id = intval($_GET['this_f']); $row = get_forum_info($forum_id); extract($row); @@ -403,6 +409,7 @@ switch ($mode) $newmode = 'create'; $buttonvalue = $user->lang['Create_forum']; + $forum_id = $parent_id; $forum_desc = ''; $forum_style = ''; $forum_status = ITEM_UNLOCKED; @@ -410,6 +417,7 @@ switch ($mode) $post_count_inc = TRUE; $moderated = FALSE; + $enable_icons = TRUE; $prune_enabled = ''; $prune_days = 7; @@ -419,10 +427,10 @@ switch ($mode) $styles_list = make_styles_list($forum_style); $forumlocked = ($forum_status == ITEM_LOCKED) ? ' selected="selected"' : ''; - $forumunlocked = ($forum_status == ITEM_UNLOCKED || $forum_status == ITEM_CATEGORY) ? ' selected="selected"' : ''; + $forumunlocked = ($forum_status == ITEM_UNLOCKED) ? ' selected="selected"' : ''; - $forum_checked = ($forum_status != ITEM_CATEGORY) ? 'checked="checked" ' : ''; - $category_checked = ($forum_status == ITEM_CATEGORY) ? 'checked="checked" ' : ''; + $postable_checked = ($forum_postable) ? 'checked="checked" ' : ''; + $nonpostable_checked = (!$forum_postable) ? 'checked="checked" ' : ''; $statuslist = '\n"; $statuslist .= '\n"; @@ -439,57 +447,74 @@ switch ($mode) lang['General_settings'] ?> - lang['Forum_name'] : $user->lang['Category_name'] ?> - + lang['Parent'] ?> + + + + lang['Forum_name']; ?> + lang['Forum_desc'] ?> - - + + + + lang['FORUM_TYPE'] ?> + />lang['IS_POSTABLE'] ?>   />lang['NOT_POSTABLE'] ?> + + + lang['Forum_settings'] ?> + - lang['Forum_type'] ?> - />lang['Forum'] ?>   />lang['Category'] ?> + lang['FORUM_STATUS'] ?> + - lang['Parent'] ?> - - - - lang['Style'] ?> - + lang['FORUM_TYPE'] ?> + + + + + + + + + + +
lang['SET_NON_POSTABLE'] ?>
      lang['Delete_all_posts'] ?>
      lang['Move_posts_to'] ?>
- lang['Forum_settings'] ?> - - - lang['Forum_status'] ?> - + lang['FORUM_STYLE'] ?> + - lang['Options'] ?> + lang['OPTIONS'] ?> - + + + + - + 0 || $parent_info['forum_status'] != ITEM_CATEGORY) + if ($parent_info['parent_id'] > 0 || !$parent_info['forum_postable']) { ?> @@ -510,34 +535,10 @@ switch ($mode) } } } -?> -
/> lang['Disable_post_count'] ?>/> lang['DISABLE_POST_COUNT'] ?>
/> lang['ENABLE_TOPIC_ICONS']; ?>
/> lang['Forum_is_moderated']; ?>/> lang['FORUM_MODERATED']; ?>
- - - - lang['Forum_type'] ?> - - - - - - - - - - -
lang['Set_as_category'] ?>
      lang['Delete_all_posts'] ?>
      lang['Move_posts_to'] ?>
+ - lang['Forum_pruning'] ?> @@ -558,21 +559,34 @@ switch ($mode) + + + + + - +
lang['FORUM_IMAGE']; ?>

+ lang['Forum_delete']); - extract(get_forum_info($_GET['f'])); + extract(get_forum_info(intval($_GET['this_f']))); $subforums_id = array(); $subforums = get_forum_branch($forum_id, 'children'); @@ -589,18 +603,19 @@ switch ($mode)

lang['Forum_delete_explain'] ?>

-
- +
- + - + @@ -611,9 +626,12 @@ switch ($mode) 1) { + ?> @@ -624,7 +642,9 @@ switch ($mode) @@ -633,22 +653,17 @@ switch ($mode) lang['Manage']); -$parent_id = (!empty($_GET['parent_id'])) ? $_GET['parent_id'] : 0; +$forum_id = (!empty($_GET['f'])) ? intval($_GET['f']) : 0; -if (!$parent_id) +if (!$forum_id) { $navigation = 'Forum Index'; } @@ -656,149 +671,94 @@ else { $navigation = 'Forum Index'; - $forums_nav = get_forum_branch($parent_id, 'parents', 'descending'); + $forums_nav = get_forum_branch($forum_id, 'parents', 'descending'); foreach ($forums_nav as $row) { - if ($row['forum_id'] == $parent_id) + if ($row['forum_id'] == $forum_id) { $navigation .= ' -> ' . htmlspecialchars($row['forum_name']); } else { - $navigation .= ' -> ' . htmlspecialchars($row['forum_name']) . ''; + $navigation .= ' -> ' . htmlspecialchars($row['forum_name']) . ''; } } } + ?> -

Manage

-

Here you can add, edit, delete, lock, unlock individual forums as well as set certain additional controls. If your posts and topics have got out of sync you can also resynchronise a forum. In phpBB 2.2 there are no categories, everything is forum based. Each forum can have an unlimited number of sub-forums and you can determine whether each may be posted to or not (i.e. whether it acts like an old category).

+

lang['Manage']; ?>

+ +

lang['Forum_admin_explain']; ?>

-
-">
lang['Forum_delete'] ?>lang['Forum_delete'] ?>
lang['Category_name'] : $user->lang['Forum_name'] ?>lang['Forum_name']; ?>
lang['Action'] ?> lang['Move_posts_to'] ?>
lang['Action'] ?> lang['Move_subforums_to'] ?>
+"> + +
+ + + +
+ + - + sql_query('SELECT * FROM ' . FORUMS_TABLE . " WHERE parent_id = $parent_id ORDER BY left_id"); +$result = $db->sql_query('SELECT * FROM ' . FORUMS_TABLE . " WHERE parent_id = $forum_id ORDER BY left_id"); + while ($row = $db->sql_fetchrow($result)) { - // // DEBUG - // + $forum_id = $row['forum_id']; + $parent_id = $row['parent_id']; $forum_title = htmlspecialchars($row['forum_name']); $forum_desc = htmlspecialchars($row['forum_desc']); - $url = $phpEx . $SID . '&f=' . $row['forum_id']; - $subforums = ($row['right_id'] - $row['left_id'] - 1) / 2; - if ($row['forum_status'] != ITEM_CATEGORY) + if ($forum_status != ITEM_LOCKED) { - $colspan = ' colspan="2"'; - $forum_stats = ' - - - - '; + if ($row['left_id'] + 1 != $row['right_id']) + { + $folder_image = '' . $user->lang['SUBFORUM'] . ''; + } + else + { + $folder_image = '' . $user->lang['SUBFORUM'] . ''; + } } else { - $colspan = ' colspan="4"'; - $forum_stats = ' - - '; + $folder_image = '' . $user->lang['SUBFORUM'] . ''; } - if ($row['left_id'] + 1 != $row['right_id']) - { - $forum_title = '' . $forum_title . ''; - } + $url = $phpEx . $SID . '&this_f=' . $row['forum_id']; + + $forum_title = '' . $forum_title . ''; - if ($row['forum_status'] == ITEM_CATEGORY) - { ?> - - - - - - - - + - $sub_result = $db->sql_query('SELECT * FROM ' . FORUMS_TABLE . ' WHERE parent_id = ' . $row['forum_id'] . ' ORDER BY left_id'); - while ($sub_row = $db->sql_fetchrow($sub_result)) - { - $url = $phpEx . $SID . '&f=' . $sub_row['forum_id']; - $forum_title = htmlspecialchars($sub_row['forum_name']); - $forum_desc = htmlspecialchars($sub_row['forum_desc']); - $subforums = ($sub_row['right_id'] - $sub_row['left_id'] - 1) / 2; + + - if ($sub_row['forum_status'] != ITEM_CATEGORY) - { - $colspan = ''; - $forum_stats = ' - - - - '; - } - else - { - $colspan = ' colspan="3"'; - $forum_stats = ' - - '; - } + - if ($sub_row['left_id'] + 1 != $sub_row['right_id']) - { - $forum_title = '' . $forum_title . ''; - } -?> - - - - - - - - - - - - - - - - - - - - - - + - +
lang['Forum_admin'] ?>lang['Forum_admin'] ?>
' . $row['forum_topics'] . '' . $row['forum_posts'] . '' . $subforums . '' . $subforums . '
lang['Edit'] ?>lang['Delete'] ?>lang['Move_up'] ?> lang['Move_down'] ?> 

' . $sub_row['forum_topics'] . '' . $sub_row['forum_posts'] . '' . $subforums . '' . $subforums . 'lang['Move_up'] ?>
lang['Move_down'] ?>
>
lang['Edit'] ?>lang['Delete'] ?>lang['Move_up'] ?>
lang['Move_down'] ?>
lang['Resync'] : ' ' ?>
>
lang['Edit'] ?>lang['Delete'] ?>lang['Move_up'] ?>
lang['Move_down'] ?>
lang['Resync'] ?> lang['Edit'] ?> | lang['Delete'] ?> | lang['Resync'] ?> 
sql_query($sql); + if (!$row = $db->sql_fetchrow($result)) { - message_die(ERROR, "Forum #$forum_id does not exist"); + trigger_error("Forum #$forum_id does not exist", E_USER_ERROR); } return $row; } -function make_forums_list($mode='all', $selected_id=0, $exclude_id=array()) +function make_forums_list($mode = 'all', $selected_id = 0, $exclude_id = array()) { global $db; + if (!is_array($exclude_id)) { $exclude_id = array($exclude_id); } $sql = 'SELECT f2.* - FROM ' . FORUMS_TABLE . ' f1, ' . FORUMS_TABLE . ' f2 - WHERE f1.parent_id = 0 - AND f2.left_id BETWEEN f1.left_id AND f1.right_id - ORDER BY f2.left_id'; + FROM ' . FORUMS_TABLE . ' f1, ' . FORUMS_TABLE . ' f2 + WHERE f1.parent_id = 0 + AND f2.left_id BETWEEN f1.left_id AND f1.right_id + ORDER BY f2.left_id'; $result = $db->sql_query($sql); $list = ''; @@ -859,9 +822,9 @@ function make_forums_list($mode='all', $selected_id=0, $exclude_id=array()) $current_indent = $indent[$row['parent_id']]; } - if (($mode == 'forums' && $row['forum_status'] == ITEM_CATEGORY) - || ($mode == 'categories' && $row['forum_status'] != ITEM_CATEGORY) - || (in_array($row['forum_id'], $exclude_id))) + if (($mode == 'forums' && !$row['forum_postable']) + || ($mode == 'categories' && $row['forum_postable']) + || (in_array($row['forum_id'], $exclude_id))) { continue; } @@ -879,7 +842,7 @@ function make_forums_list($mode='all', $selected_id=0, $exclude_id=array()) return $list; } -function make_styles_list($selected_id=0) +function make_styles_list($selected_id = 0) { global $db; @@ -907,17 +870,13 @@ function move_forum($from_id, $to_id) $moved_ids[] = $moved_forums[$i]['forum_id']; } - // // Resync parents - // $sql = 'UPDATE ' . FORUMS_TABLE . " SET right_id = right_id - $diff, forum_parents = '' WHERE left_id < " . $from_data['right_id'] . " AND right_id > " . $from_data['right_id']; $db->sql_query($sql); - // // Resync righthand side of tree - // $sql = 'UPDATE ' . FORUMS_TABLE . " SET left_id = left_id - $diff, right_id = right_id - $diff, forum_parents = '' WHERE left_id > " . $from_data['right_id']; @@ -927,27 +886,21 @@ function move_forum($from_id, $to_id) { $to_data = get_forum_info($to_id); - // // Resync new parents - // $sql = 'UPDATE ' . FORUMS_TABLE . " SET right_id = right_id + $diff, forum_parents = '' WHERE " . $to_data['right_id'] . ' BETWEEN left_id AND right_id AND forum_id NOT IN (' . implode(', ', $moved_ids) . ')'; $db->sql_query($sql); - // // Resync the righthand side of the tree - // $sql = 'UPDATE ' . FORUMS_TABLE . " SET left_id = left_id + $diff, right_id = right_id + $diff, forum_parents = '' WHERE left_id > " . $to_data['right_id'] . ' AND forum_id NOT IN (' . implode(', ', $moved_ids) . ')'; $db->sql_query($sql); - // // Resync moved branch - // $to_data['right_id'] += $diff; if ($to_data['right_id'] > $from_data['right_id']) { @@ -977,7 +930,7 @@ function move_forum_content($from_id, $to_id) global $db; $db->sql_query('UPDATE ' . ACL_GROUPS_TABLE . " SET forum_id = $to_id WHERE forum_id = $from_id"); - $db->sql_query('UPDATE ' . ACL_PREFETCH_TABLE . " SET forum_id = $to_id WHERE forum_id = $from_id"); + $db->sql_query('UPDATE ' . MODERATOR_TABLE . " SET forum_id = $to_id WHERE forum_id = $from_id"); $db->sql_query('UPDATE ' . LOG_MOD_TABLE . " SET forum_id = $to_id WHERE forum_id = $from_id"); $db->sql_query('UPDATE ' . POSTS_TABLE . " SET forum_id = $to_id WHERE forum_id = $from_id"); $db->sql_query('UPDATE ' . TOPICS_TABLE . " SET forum_id = $to_id WHERE forum_id = $from_id"); @@ -986,9 +939,9 @@ function move_forum_content($from_id, $to_id) // TODO: untested yet // $sql = 'SELECT t1.topic_id - FROM ' .TOPICS_TABLE . ' t1 - LEFT JOIN ' . TOPICS_TABLE . " t2 ON t1.topic_moved_id = t2.topic_id AND t1.forum_id = t2.forum_id - WHERE t1.forum_id = $to_id"; + FROM ' .TOPICS_TABLE . ' t1 + LEFT JOIN ' . TOPICS_TABLE . " t2 ON t1.topic_moved_id = t2.topic_id AND t1.forum_id = t2.forum_id + WHERE t1.forum_id = $to_id"; $result = $db->sql_query($result); $topic_ids = array(); @@ -1013,12 +966,13 @@ function delete_forum_content($forum_id) global $db; $db->sql_query('DELETE FROM ' . ACL_GROUPS_TABLE . " WHERE forum_id = $forum_id"); - $db->sql_query('DELETE FROM ' . ACL_PREFETCH_TABLE . " WHERE forum_id = $forum_id"); + $db->sql_query('DELETE FROM ' . MODERATOR_TABLE . " WHERE forum_id = $forum_id"); $db->sql_query('DELETE FROM ' . LOG_MOD_TABLE . " WHERE forum_id = $forum_id"); $db->sql_query('DELETE FROM ' . FORUMS_WATCH_TABLE . " WHERE forum_id = $forum_id"); $ids = array(); $result = $db->sql_query('SELECT post_id FROM ' . POSTS_TABLE . " WHERE forum_id = $forum_id"); + while ($row = $db->sql_fetchrow($result)) { $ids[] = $row['post_id']; @@ -1035,6 +989,7 @@ function delete_forum_content($forum_id) $ids = array(); $result = $db->sql_query('SELECT topic_id FROM ' . TOPICS_TABLE . " WHERE forum_id = $forum_id"); + while ($row = $db->sql_fetchrow($result)) { $ids[] = $row['topic_id']; @@ -1044,7 +999,6 @@ function delete_forum_content($forum_id) if ($ids) { - $db->sql_query('DELETE FROM ' . TOPICS_RATING_TABLE . " WHERE topic_id IN ($ids)"); $db->sql_query('DELETE FROM ' . TOPICS_WATCH_TABLE . " WHERE topic_id IN ($ids)"); $db->sql_query('DELETE FROM ' . TOPICS_TABLE . " WHERE forum_id = $forum_id"); $db->sql_query('DELETE FROM ' . TOPICS_TABLE . " WHERE topic_moved_id IN ($ids)"); -- cgit v1.2.1