1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-06-05 05:55:15 +02:00

Forums management updated, now able to delete forums

git-svn-id: file:///svn/phpbb/trunk@2890 89ea8834-ac86-4346-8a33-228a782c2dd0
This commit is contained in:
Ludovic Arnaud 2002-09-16 15:22:52 +00:00
parent eef332eea5
commit 66e0b32220
8 changed files with 95 additions and 138 deletions

View File

@ -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");

View File

@ -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";
}

View File

@ -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;

View File

@ -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';

View File

@ -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" />

View File

@ -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>

View File

@ -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>

View File

@ -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" />