aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB
diff options
context:
space:
mode:
Diffstat (limited to 'phpBB')
-rw-r--r--phpBB/admin/admin_forums.php91
-rw-r--r--phpBB/db/mysql.php2
-rw-r--r--phpBB/includes/functions_admin.php4
-rw-r--r--phpBB/language/lang_english/lang_admin.php3
-rw-r--r--phpBB/templates/subSilver/admin/category_edit_body.tpl21
-rw-r--r--phpBB/templates/subSilver/admin/forum_admin_body.tpl39
-rw-r--r--phpBB/templates/subSilver/admin/forum_delete_body.tpl23
-rw-r--r--phpBB/templates/subSilver/admin/forum_edit_body.tpl50
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">&nbsp</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">&nbsp;<input type="text" name="prune_days" value="{PRUNE_DAYS}" size="5" class="post" />&nbsp;{L_DAYS}</td>
- </tr>
- <tr>
- <td align="right" valign="middle">{L_PRUNE_FREQ}</td>
- <td align="left" valign="middle">&nbsp;<input type="text" name="prune_freq" value="{PRUNE_FREQ}" size="5" class="post" />&nbsp;{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" />