diff options
author | Ludovic Arnaud <ludovic_arnaud@users.sourceforge.net> | 2002-09-16 15:22:52 +0000 |
---|---|---|
committer | Ludovic Arnaud <ludovic_arnaud@users.sourceforge.net> | 2002-09-16 15:22:52 +0000 |
commit | 66e0b322202c62644c29a198307d62f9eac12e53 (patch) | |
tree | 77a8e0a20d02ede555e8289e8536ff63e01ff7c9 /phpBB | |
parent | eef332eea5d299784dc31891e84c11017548681d (diff) | |
download | forums-66e0b322202c62644c29a198307d62f9eac12e53.tar forums-66e0b322202c62644c29a198307d62f9eac12e53.tar.gz forums-66e0b322202c62644c29a198307d62f9eac12e53.tar.bz2 forums-66e0b322202c62644c29a198307d62f9eac12e53.tar.xz forums-66e0b322202c62644c29a198307d62f9eac12e53.zip |
Forums management updated, now able to delete forums
git-svn-id: file:///svn/phpbb/trunk@2890 89ea8834-ac86-4346-8a33-228a782c2dd0
Diffstat (limited to 'phpBB')
-rw-r--r-- | phpBB/admin/admin_forums.php | 91 | ||||
-rw-r--r-- | phpBB/db/mysql.php | 2 | ||||
-rw-r--r-- | phpBB/includes/functions_admin.php | 4 | ||||
-rw-r--r-- | phpBB/language/lang_english/lang_admin.php | 3 | ||||
-rw-r--r-- | phpBB/templates/subSilver/admin/category_edit_body.tpl | 21 | ||||
-rw-r--r-- | phpBB/templates/subSilver/admin/forum_admin_body.tpl | 39 | ||||
-rw-r--r-- | phpBB/templates/subSilver/admin/forum_delete_body.tpl | 23 | ||||
-rw-r--r-- | phpBB/templates/subSilver/admin/forum_edit_body.tpl | 50 |
8 files changed, 95 insertions, 138 deletions
diff --git a/phpBB/admin/admin_forums.php b/phpBB/admin/admin_forums.php index 2336bec824..b4448a7185 100644 --- a/phpBB/admin/admin_forums.php +++ b/phpBB/admin/admin_forums.php @@ -257,6 +257,91 @@ switch ($mode) break; case 'remove': + if (empty($HTTP_POST_VARS['submit'])) + { + // + // wasn't this form submitted? is anyone trying to remotely delete forums + // + message_die(ERROR, 'Did not submit'); + } + + $action_subforums = (!empty($HTTP_POST_VARS['action_subforums'])) ? $HTTP_POST_VARS['action_subforums'] : ''; + $action_posts = (!empty($HTTP_POST_VARS['action_posts'])) ? $HTTP_POST_VARS['action_posts'] : ''; + + $row = get_forum_info($HTTP_GET_VARS['f']); + extract($row); + + if ($action_posts == 'delete') + { + delete_forum_content($forum_id); + } + elseif ($action_posts == 'move') + { + if (empty($HTTP_POST_VARS['posts_to_id'])) + { + $message = $lang['No_destination_forum'] . '<br /><br />' . sprintf($lang['Click_return_forumadmin'], '<a href="admin_forums.' . $phpEx . $SID . '&mode=delete&f=' . $forum_id. '">', '</a>'); + + message_die(ERROR, $message); + } + + move_forum_content($forum_id, $HTTP_POST_VARS['posts_to_id']); + } + + if ($action_subforums == 'delete') + { + $forum_ids = array($forum_id); + $rows = get_forum_branch($forum_id, 'children', 'descending', FALSE); + foreach ($rows as $row) + { + $forum_ids[] = $row['forum_id']; + delete_forum_content($row['forum_id']); + } + + $diff = count($forum_ids) * 2; + $db->sql_query('DELETE FROM ' . FORUMS_TABLE . ' WHERE forum_id IN (' . implode(', ', $forum_ids) . ')'); + } + elseif ($action_subforums == 'move') + { + if (empty($HTTP_POST_VARS['subforums_to_id'])) + { + $message = $lang['No_destination_forum'] . '<br /><br />' . sprintf($lang['Click_return_forumadmin'], '<a href="admin_forums.' . $phpEx . $SID . '&mode=delete&f=' . $forum_id. '">', '</a>'); + + message_die(ERROR, $message); + } + + $result = $db->sql_query('SELECT forum_id FROM ' . FORUMS_TABLE . " WHERE parent_id = $forum_id"); + while ($row = $db->sql_fetchrow($result)) + { + move_forum($row['forum_id'], $HTTP_POST_VARS['subforums_to_id']); + } + $db->sql_query('UPDATE ' . FORUMS_TABLE . ' SET parent_id = ' . $HTTP_POST_VARS['subforums_to_id'] . " WHERE parent_id = $forum_id"); + + $diff = 2; + $db->sql_query('DELETE FROM ' . FORUMS_TABLE . " WHERE forum_id = $forum_id"); + } + else + { + $diff = 2; + $db->sql_query('DELETE FROM ' . FORUMS_TABLE . " WHERE forum_id = $forum_id"); + } + + // + // Resync tree + // + $sql = 'UPDATE ' . FORUMS_TABLE . " + SET right_id = right_id - $diff + WHERE left_id < $right_id AND right_id > $right_id"; + $db->sql_query($sql); + + $sql = 'UPDATE ' . FORUMS_TABLE . " + SET left_id = left_id - $diff, right_id = right_id - $diff + WHERE left_id > $right_id"; + $db->sql_query($sql); + + $return_id = (!empty($HTTP_POST_VARS['subforums_to_id'])) ? $HTTP_POST_VARS['subforums_to_id'] : $parent_id; + $message = $lang['Forum_deleted'] . '<br /><br />' . sprintf($lang['Click_return_forumadmin'], '<a href="admin_forums.' . $phpEx . $SID . '&parent_id=' . $return_id. '">', '</a>'); + + message_die(MESSAGE, $message); break; case 'forum_sync': @@ -437,6 +522,7 @@ switch ($mode) break; case 'delete': + page_header($lang['Forum_delete']); extract(get_forum_info($HTTP_GET_VARS['f'])); $subforums_id = array(); @@ -482,11 +568,11 @@ switch ($mode) ?> <tr> <td class="row1"><?php echo $lang['Action'] ?></td> - <td class="row1"><input type="radio" name="action_forums" value="delete" checked="checked" /> <?php echo $lang['Delete_subforums'] ?></td> + <td class="row1"><input type="radio" name="action_subforums" value="delete" checked="checked" /> <?php echo $lang['Delete_subforums'] ?></td> </tr> <tr> <td class="row1"></td> - <td class="row1"><input type="radio" name="action_forums" value="move" /> <?php echo $lang['Move_subforums_to'] ?> <select name="subforums_to_id" ?><option value="0"></option><?php echo $forums_list ?></select></td> + <td class="row1"><input type="radio" name="action_subforums" value="move" /> <?php echo $lang['Move_subforums_to'] ?> <select name="subforums_to_id" ?><option value="0"></option><?php echo $forums_list ?></select></td> </tr> <?php } @@ -881,6 +967,7 @@ function delete_forum_content($forum_id) $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 ' . 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"); diff --git a/phpBB/db/mysql.php b/phpBB/db/mysql.php index cfdd39818c..f9be4b839a 100644 --- a/phpBB/db/mysql.php +++ b/phpBB/db/mysql.php @@ -201,7 +201,7 @@ class sql_db $values = array(); foreach ($assoc_ary as $key => $var) { - if ($var == NULL) + if (is_null($var) { $values[] = "$key = NULL"; } diff --git a/phpBB/includes/functions_admin.php b/phpBB/includes/functions_admin.php index f5b965a160..e17a4138a8 100644 --- a/phpBB/includes/functions_admin.php +++ b/phpBB/includes/functions_admin.php @@ -81,7 +81,7 @@ function sync($type, $id) FROM " . POSTS_TABLE . " p, " . TOPICS_TABLE . " t WHERE p.forum_id = $id AND t.topic_id = p.topic_id - AND t.topic_status <> " . TOPIC_MOVED; + AND t.topic_status <> " . ITEM_MOVED; $result = $db->sql_query($sql); if ( $row = $db->sql_fetchrow($result) ) @@ -98,7 +98,7 @@ function sync($type, $id) $sql = "SELECT COUNT(topic_id) AS total FROM " . TOPICS_TABLE . " WHERE forum_id = $id - AND topic_status <> " . TOPIC_MOVED; + AND topic_status <> " . ITEM_MOVED; $result = $db->sql_query($sql); $total_topics = ( $row = $db->sql_fetchrow($result) ) ? ( ( $row['total'] ) ? $row['total'] : 0 ) : 0; diff --git a/phpBB/language/lang_english/lang_admin.php b/phpBB/language/lang_english/lang_admin.php index a7e4582cc1..a5a742101d 100644 --- a/phpBB/language/lang_english/lang_admin.php +++ b/phpBB/language/lang_english/lang_admin.php @@ -566,7 +566,10 @@ $lang['Move_subforums_to'] = 'Move subforums to'; $lang['Delete_all_posts'] = 'Delete all posts'; $lang['Delete_subforums'] = 'Delete subforums and associated posts'; +$lang['No_destination_forum'] = 'You have not specified a forum to move content to'; + $lang['Forums_updated'] = 'Forum and Category information updated successfully'; +$lang['Forum_deleted'] = 'Forum successfully deleted'; $lang['Click_return_forumadmin'] = 'Click %sHere%s to return to Forum Administration'; diff --git a/phpBB/templates/subSilver/admin/category_edit_body.tpl b/phpBB/templates/subSilver/admin/category_edit_body.tpl deleted file mode 100644 index eb99540e01..0000000000 --- a/phpBB/templates/subSilver/admin/category_edit_body.tpl +++ /dev/null @@ -1,21 +0,0 @@ - -<h1>{L_EDIT_CATEGORY}</h1> - -<p>{L_EDIT_CATEGORY_EXPLAIN}</p> - -<form action="{S_FORUM_ACTION}" method="post"> - <table cellpadding="4" cellspacing="1" border="0" class="forumline" align="center"> - <tr> - <th class="thHead" colspan="2">{L_EDIT_CATEGORY}</th> - </tr> - <tr> - <td class="row1">{L_CATEGORY}</td> - <td class="row2"><input type="text" size="25" name="cat_title" value="{CAT_TITLE}" /></td> - </tr> - <tr> - <td class="catBottom" colspan="2" align="center">{S_HIDDEN_FIELDS}<input type="submit" name="submit" value="{S_SUBMIT_VALUE}" class="mainoption" /></td> - </tr> - </table> -</form> - -<br clear="all" /> diff --git a/phpBB/templates/subSilver/admin/forum_admin_body.tpl b/phpBB/templates/subSilver/admin/forum_admin_body.tpl deleted file mode 100644 index d863b03f43..0000000000 --- a/phpBB/templates/subSilver/admin/forum_admin_body.tpl +++ /dev/null @@ -1,39 +0,0 @@ - -<h1>{L_FORUM_TITLE}</h1> - -<p>{L_FORUM_EXPLAIN}</p> - -<form method="post" action="{S_FORUM_ACTION}"><table width="100%" cellpadding="4" cellspacing="1" border="0" class="forumline" align="center"> - <tr> - <th class="thHead" colspan="7">{L_FORUM_TITLE}</th> - </tr> - <!-- BEGIN catrow --> - <tr> - <td class="catLeft" colspan="3"><span class="cattitle"><b><a href="{catrow.U_VIEWCAT}">{catrow.CAT_DESC}</a></b></span></td> - <td class="cat" align="center" valign="middle"><span class="gen"><a href="{catrow.U_CAT_EDIT}">{L_EDIT}</a></span></td> - <td class="cat" align="center" valign="middle"><span class="gen"><a href="{catrow.U_CAT_DELETE}">{L_DELETE}</a></span></td> - <td class="cat" align="center" valign="middle" nowrap="nowrap"><span class="gen"><a href="{catrow.U_CAT_MOVE_UP}">{L_MOVE_UP}</a> <a href="{catrow.U_CAT_MOVE_DOWN}">{L_MOVE_DOWN}</a></span></td> - <td class="catRight" align="center" valign="middle"><span class="gen"> </span></td> - </tr> - <!-- BEGIN forumrow --> - <tr> - <td class="row2"><span class="gen"><a href="{catrow.forumrow.U_VIEWFORUM}" target="_new">{catrow.forumrow.FORUM_NAME}</a></span><br /><span class="gensmall">{catrow.forumrow.FORUM_DESC}</span></td> - <td class="row1" align="center" valign="middle"><span class="gen">{catrow.forumrow.NUM_TOPICS}</span></td> - <td class="row2" align="center" valign="middle"><span class="gen">{catrow.forumrow.NUM_POSTS}</span></td> - <td class="row1" align="center" valign="middle"><span class="gen"><a href="{catrow.forumrow.U_FORUM_EDIT}">{L_EDIT}</a></span></td> - <td class="row2" align="center" valign="middle"><span class="gen"><a href="{catrow.forumrow.U_FORUM_DELETE}">{L_DELETE}</a></span></td> - <td class="row1" align="center" valign="middle"><span class="gen"><a href="{catrow.forumrow.U_FORUM_MOVE_UP}">{L_MOVE_UP}</a> <br /> <a href="{catrow.forumrow.U_FORUM_MOVE_DOWN}">{L_MOVE_DOWN}</a></span></td> - <td class="row2" align="center" valign="middle"><span class="gen"><a href="{catrow.forumrow.U_FORUM_RESYNC}">{L_RESYNC}</a></span></td> - </tr> - <!-- END forumrow --> - <tr> - <td colspan="7" class="row2"><input type="text" name="{catrow.S_ADD_FORUM_NAME}" /> <input type="submit" class="liteoption" name="{catrow.S_ADD_FORUM_SUBMIT}" value="{L_CREATE_FORUM}" /></td> - </tr> - <tr> - <td colspan="7" height="1" class="spaceRow"><img src="../templates/subSilver/images/spacer.gif" alt="" width="1" height="1" /></td> - </tr> - <!-- END catrow --> - <tr> - <td colspan="7" class="catBottom"><input type="text" name="categoryname" /> <input type="submit" class="liteoption" name="addcategory" value="{L_CREATE_CATEGORY}" /></td> - </tr> -</table></form> diff --git a/phpBB/templates/subSilver/admin/forum_delete_body.tpl b/phpBB/templates/subSilver/admin/forum_delete_body.tpl deleted file mode 100644 index 4a267107fa..0000000000 --- a/phpBB/templates/subSilver/admin/forum_delete_body.tpl +++ /dev/null @@ -1,23 +0,0 @@ - -<h1>{L_FORUM_DELETE}</h1> - -<p>{L_FORUM_DELETE_EXPLAIN}</p> - -<form action="{S_FORUM_ACTION}" method="post"> - <table cellpadding="4" cellspacing="1" border="0" class="forumline" align="center"> - <tr> - <th colspan="2" class="thHead">{L_FORUM_DELETE}</th> - </tr> - <tr> - <td class="row1">{L_FORUM_NAME}</td> - <td class="row1"><span class="row1">{NAME}</span></td> - </tr> - <tr> - <td class="row1">{L_MOVE_CONTENTS}</td> - <td class="row1">{S_SELECT_TO}</td> - </tr> - <tr> - <td class="catBottom" colspan="2" align="center">{S_HIDDEN_FIELDS}<input type="submit" name="submit" value="{S_SUBMIT_VALUE}" class="mainoption" /></td> - </tr> - </table> -</form> diff --git a/phpBB/templates/subSilver/admin/forum_edit_body.tpl b/phpBB/templates/subSilver/admin/forum_edit_body.tpl deleted file mode 100644 index 7f56bbe9d8..0000000000 --- a/phpBB/templates/subSilver/admin/forum_edit_body.tpl +++ /dev/null @@ -1,50 +0,0 @@ - -<h1>{L_FORUM_TITLE}</h1> - -<p>{L_FORUM_EXPLAIN}</p> - -<form action="{S_FORUM_ACTION}" method="post"> - <table width="100%" cellpadding="4" cellspacing="1" border="0" class="forumline" align="center"> - <tr> - <th class="thHead" colspan="2">{L_FORUM_SETTINGS}</th> - </tr> - <tr> - <td class="row1">{L_FORUM_NAME}</td> - <td class="row2"><input type="text" size="25" name="forumname" value="{FORUM_NAME}" class="post" /></td> - </tr> - <tr> - <td class="row1">{L_FORUM_DESCRIPTION}</td> - <td class="row2"><textarea rows="5" cols="45" wrap="virtual" name="forumdesc" class="post">{DESCRIPTION}</textarea></td> - </tr> - <tr> - <td class="row1">{L_CATEGORY}</td> - <td class="row2"><select name="c">{S_CAT_LIST}</select></td> - </tr> - <tr> - <td class="row1">{L_FORUM_STATUS}</td> - <td class="row2"><select name="forumstatus">{S_STATUS_LIST}</select></td> - </tr> - <tr> - <td class="row1">{L_AUTO_PRUNE}</td> - <td class="row2"><table cellspacing="0" cellpadding="1" border="0"> - <tr> - <td align="right" valign="middle">{L_ENABLED}</td> - <td align="left" valign="middle"><input type="checkbox" name="prune_enable" value="1" {S_PRUNE_ENABLED} /></td> - </tr> - <tr> - <td align="right" valign="middle">{L_PRUNE_DAYS}</td> - <td align="left" valign="middle"> <input type="text" name="prune_days" value="{PRUNE_DAYS}" size="5" class="post" /> {L_DAYS}</td> - </tr> - <tr> - <td align="right" valign="middle">{L_PRUNE_FREQ}</td> - <td align="left" valign="middle"> <input type="text" name="prune_freq" value="{PRUNE_FREQ}" size="5" class="post" /> {L_DAYS}</td> - </tr> - </table></td> - </tr> - <tr> - <td class="catBottom" colspan="2" align="center">{S_HIDDEN_FIELDS}<input type="submit" name="submit" value="{S_SUBMIT_VALUE}" class="mainoption" /></td> - </tr> - </table> -</form> - -<br clear="all" /> |