aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/admin/admin_forums.php
diff options
context:
space:
mode:
Diffstat (limited to 'phpBB/admin/admin_forums.php')
-rw-r--r--phpBB/admin/admin_forums.php127
1 files changed, 68 insertions, 59 deletions
diff --git a/phpBB/admin/admin_forums.php b/phpBB/admin/admin_forums.php
index 6e17138c95..d84cf665f5 100644
--- a/phpBB/admin/admin_forums.php
+++ b/phpBB/admin/admin_forums.php
@@ -6,11 +6,20 @@
* copyright : (C) 2001 The phpBB Group
* email : support@phpbb.com
*
- * $Id$
+ * $Id$
*
*
***************************************************************************/
+/***************************************************************************
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ ***************************************************************************/
+
if($setmodules==1)
{
$file = basename(__FILE__);
@@ -21,11 +30,11 @@ if($setmodules==1)
function check_forum_name($forumname)
{
global $db;
-
+
$sql = "SELECT * from " . FORUMS_TABLE . "WHERE forum_name = '$forumname'";
$result = $db->sql_query($sql);
if( !$result )
- {
+ {
message_die(GENERAL_ERROR, "Couldn't get list of Categories", "", __LINE__, __FILE__, $sql);
}
if ($db->sql_numrows($result) > 0)
@@ -57,7 +66,7 @@ function get_info($mode, $id)
FROM $table
WHERE $idfield = $id";
if( !$result = $db->sql_query($sql) )
- {
+ {
message_die(GENERAL_ERROR, "Couldn't get Forum/Category information", "", __LINE__, __FILE__, $sql);
}
if( $db->sql_numrows($result) != 1 )
@@ -86,14 +95,14 @@ function get_list($mode, $id, $select)
default:
message_die(GENERAL_ERROR, "Wrong mode for generating select list", "", __LINE__, __FILE__);
}
-
+
$sql = "SELECT * FROM $table";
if( $select == FALSE)
{
$sql .= " WHERE $idfield != '$id'";
}
if( !$result = $db->sql_query($sql) )
- {
+ {
message_die(GENERAL_ERROR, "Couldn't get list of Categories/Forums", "", __LINE__, __FILE__, $sql);
}
$cat_list = "";
@@ -112,7 +121,7 @@ function get_list($mode, $id, $select)
function renumber_order($mode, $cat=FALSE)
{
global $db;
-
+
switch($mode)
{
case 'category':
@@ -130,7 +139,7 @@ function renumber_order($mode, $cat=FALSE)
default:
message_die(GENERAL_ERROR, "Wrong mode for generating select list", "", __LINE__, __FILE__);
}
-
+
$sql = "SELECT * FROM $table";
if( $cat != FALSE)
{
@@ -138,24 +147,24 @@ function renumber_order($mode, $cat=FALSE)
}
$sql .= " ORDER BY $orderfield ASC";
-
+
if( !$result = $db->sql_query($sql) )
- {
+ {
message_die(GENERAL_ERROR, "Couldn't get list of Categories", "", __LINE__, __FILE__, $sql);
}
-
+
$i = 10;
$inc = 10;
while( $row = $db->sql_fetchrow($result) )
{
$sql = "UPDATE $table SET $orderfield = $i WHERE $idfield = ".$row["$idfield"];
if( !$db->sql_query($sql) )
- {
+ {
message_die(GENERAL_ERROR, "Couldn't update order fields", "", __LINE__, __FILE__, $sql);
}
$i += 10;
}
-
+
}
//
@@ -185,12 +194,12 @@ if(isset($mode)) // Are we supposed to do something?
$show_index = TRUE;
break;
case 'createforum': // Create a forum in the DB
- $sql = "SELECT
+ $sql = "SELECT
max(forum_order) as max_order
- FROM ".FORUMS_TABLE."
+ FROM ".FORUMS_TABLE."
WHERE cat_id = '".$HTTP_POST_VARS['cat_id']."'";
if( !$result = $db->sql_query($sql) )
- {
+ {
message_die(GENERAL_ERROR, "Couldn't get order number from forums table", "", __LINE__, __FILE__, $sql);
}
$row = $db->sql_fetchrow($result);
@@ -198,7 +207,7 @@ if(isset($mode)) // Are we supposed to do something?
$next_order = $max_order + 1;
// There is no problem having duplicate forum names so we won't check for it.
- $sql = "INSERT
+ $sql = "INSERT
INTO ".FORUMS_TABLE."(
forum_name,
cat_id,
@@ -212,31 +221,31 @@ if(isset($mode)) // Are we supposed to do something?
'".$next_order."',
'".$HTTP_POST_VARS['forumstatus']."')";
if( !$result = $db->sql_query($sql) )
- {
+ {
message_die(GENERAL_ERROR, "Couldn't insert row in forums table", "", __LINE__, __FILE__, $sql);
}
$show_index = TRUE;
break;
case 'modforum': // Modify a forum in the DB
- $sql = "UPDATE ".FORUMS_TABLE." SET
+ $sql = "UPDATE ".FORUMS_TABLE." SET
forum_name = '".$HTTP_POST_VARS['forumname']."',
cat_id = '".$HTTP_POST_VARS['cat_id']."',
forum_desc = '".$HTTP_POST_VARS['forumdesc']."',
forum_status = '".$HTTP_POST_VARS['forumstatus']."'
WHERE forum_id = '".$HTTP_POST_VARS['forum_id']."'";
if( !$result = $db->sql_query($sql) )
- {
+ {
message_die(GENERAL_ERROR, "Couldn't update forum information", "", __LINE__, __FILE__, $sql);
}
$show_index = TRUE;
break;
-
+
case 'addcat':
- $sql = "SELECT
+ $sql = "SELECT
max(cat_order) as max_order
FROM ".CATEGORIES_TABLE;
if( !$result = $db->sql_query($sql) )
- {
+ {
message_die(GENERAL_ERROR, "Couldn't get order number from categories table", "", __LINE__, __FILE__, $sql);
}
$row = $db->sql_fetchrow($result);
@@ -250,7 +259,7 @@ if(isset($mode)) // Are we supposed to do something?
'".$HTTP_POST_VARS['catname']."',
'".$next_order."')";
if( !$result = $db->sql_query($sql) )
- {
+ {
message_die(GENERAL_ERROR, "Couldn't insert row in categories table", "", __LINE__, __FILE__, $sql);
}
$show_index = TRUE;
@@ -262,7 +271,7 @@ if(isset($mode)) // Are we supposed to do something?
// $newmode determines if we are going to INSERT or UPDATE after posting?
$newmode = 'modforum';
$buttonvalue = 'Change';
-
+
$forum_id = $HTTP_GET_VARS['forum_id'];
$row = get_info('forum', $forum_id);
@@ -282,13 +291,13 @@ if(isset($mode)) // Are we supposed to do something?
$forumstatus = FORUM_UNLOCKED;
$forum_id = '';
}
-
+
$catlist = get_list('category', $cat_id, TRUE);
-
+
$forumstatus == FORUM_LOCKED ? $forumlocked = "selected" : $forumunlocked = "selected";
$statuslist = "<OPTION VALUE=\"".FORUM_UNLOCKED."\" $forumunlocked>Unlocked</OPTION>\n";
$statuslist .= "<OPTION VALUE=\"".FORUM_LOCKED."\" $forumlocked>Locked</OPTION>\n";
-
+
$template->set_filenames(array(
"body" => "admin/forum_edit_body.tpl")
);
@@ -302,17 +311,17 @@ if(isset($mode)) // Are we supposed to do something?
'BUTTONVALUE' => $buttonvalue)
);
$template->pparse("body");
-
-
+
+
break;
case 'editcat':
$newmode = 'modcat';
$buttonvalue = 'Change';
-
+
$cat_id = $HTTP_GET_VARS['cat_id'];
$row = get_info('category', $catid);
$cat_title = $row['cat_title'];
-
+
$template->set_filenames(array(
"body" => "admin/category_edit_body.tpl")
);
@@ -323,14 +332,14 @@ if(isset($mode)) // Are we supposed to do something?
'BUTTONVALUE' => $buttonvalue)
);
$template->pparse("body");
-
+
break;
case 'modcat':
- $sql = "UPDATE ".CATEGORIES_TABLE." SET
+ $sql = "UPDATE ".CATEGORIES_TABLE." SET
cat_title = '".$HTTP_POST_VARS['cat_title']."'
WHERE cat_id = '".$HTTP_POST_VARS['cat_id']."'";
if( !$result = $db->sql_query($sql) )
- {
+ {
message_die(GENERAL_ERROR, "Couldn't update forum information", "", __LINE__, __FILE__, $sql);
}
print "Modforum: ". $HTTP_POST_VARS['forumname']." sql= <pre>$sql</pre>";
@@ -340,19 +349,19 @@ if(isset($mode)) // Are we supposed to do something?
$from_id = $HTTP_POST_VARS['from_id'];
$to_id = $HTTP_POST_VARS['to_id'];
$delete_old = $HTTP_POST_VARS['delete_old'];
-
+
print "move '$from_id' to '$to_id'";
-
+
$sql = "SELECT * FROM ".FORUMS_TABLE." WHERE forum_id IN ($from_id, $to_id)";
if( !$result = $db->sql_query($sql) )
- {
+ {
message_die(GENERAL_ERROR, "Couldn't verify existence of forums", "", __LINE__, __FILE__, $sql);
}
if($db->sql_numrows($result) != 2)
{
message_die(GENERAL_ERROR, "Ambiguous forum ID's", "", __LINE__, __FILE__);
}
-
+
// Either delete or move all posts in a forum
if($delete_old == 1)
{
@@ -361,62 +370,62 @@ if(isset($mode)) // Are we supposed to do something?
}
else
{
- $sql = "UPDATE ".TOPICS_TABLE." SET
+ $sql = "UPDATE ".TOPICS_TABLE." SET
forum_id = '$to_id'
WHERE forum_id = '$from_id'";
if( !$result = $db->sql_query($sql) )
- {
+ {
message_die(GENERAL_ERROR, "Couldn't move topics to other forum", "", __LINE__, __FILE__, $sql);
}
- $sql = "UPDATE ".POSTS_TABLE." SET
+ $sql = "UPDATE ".POSTS_TABLE." SET
forum_id = '$to_id'
WHERE forum_id = '$from_id'";
if( !$result = $db->sql_query($sql) )
- {
+ {
message_die(GENERAL_ERROR, "Couldn't move posts to other forum", "", __LINE__, __FILE__, $sql);
}
sync('forum', $to_id);
}
-
+
$sql = "DELETE FROM ".FORUMS_TABLE."
WHERE forum_id = '$from_id'";
if( !$result = $db->sql_query($sql) )
- {
+ {
message_die(GENERAL_ERROR, "Couldn't delete forum", "", __LINE__, __FILE__, $sql);
}
-
+
$show_index = TRUE;
break;
case 'movedelcat':
$from_id = $HTTP_POST_VARS['from_id'];
$to_id = $HTTP_POST_VARS['to_id'];
print "move '$from_id' to '$to_id'";
-
+
$sql = "SELECT * FROM ".CATEGORIES_TABLE." WHERE cat_id IN ($from_id, $to_id)";
if( !$result = $db->sql_query($sql) )
- {
+ {
message_die(GENERAL_ERROR, "Couldn't verify existence of categories", "", __LINE__, __FILE__, $sql);
}
if($db->sql_numrows($result) != 2)
{
message_die(GENERAL_ERROR, "Ambiguous category ID's", "", __LINE__, __FILE__);
}
-
- $sql = "UPDATE ".FORUMS_TABLE." SET
+
+ $sql = "UPDATE ".FORUMS_TABLE." SET
cat_id = '$to_id'
WHERE cat_id = '$from_id'";
if( !$result = $db->sql_query($sql) )
- {
+ {
message_die(GENERAL_ERROR, "Couldn't move forums to other category", "", __LINE__, __FILE__, $sql);
}
-
+
$sql = "DELETE FROM ".CATEGORIES_TABLE."
WHERE cat_id = '$from_id'";
if( !$result = $db->sql_query($sql) )
- {
+ {
message_die(GENERAL_ERROR, "Couldn't delete category", "", __LINE__, __FILE__, $sql);
}
-
+
$show_index = TRUE;
break;
case 'deletecat':
@@ -427,7 +436,7 @@ if(isset($mode)) // Are we supposed to do something?
$newmode = 'movedelcat';
$catinfo = get_info('category', $cat_id);
$name = $catinfo['cat_title'];
-
+
$template->set_filenames(array(
"body" => "admin/forum_delete_body.tpl")
);
@@ -449,7 +458,7 @@ if(isset($mode)) // Are we supposed to do something?
$newmode = 'movedelforum';
$foruminfo = get_info('forum', $forum_id);
$name = $foruminfo['forum_name'];
-
+
$template->set_filenames(array(
"body" => "admin/forum_delete_body.tpl")
);
@@ -468,7 +477,7 @@ if(isset($mode)) // Are we supposed to do something?
$cat_id = $HTTP_GET_VARS['cat_id'];
$sql = "UPDATE ".CATEGORIES_TABLE." SET cat_order = cat_order + $move WHERE cat_id = $cat_id";
if( !$result = $db->sql_query($sql) )
- {
+ {
message_die(GENERAL_ERROR, "Couldn't change category order", "", __LINE__, __FILE__, $sql);
}
renumber_order('category');
@@ -479,10 +488,10 @@ if(isset($mode)) // Are we supposed to do something?
$forum_id = $HTTP_GET_VARS['forum_id'];
$forum_info = get_info('forum', $forum_id);
$cat_id = $forum_info['cat_id'];
-
+
$sql = "UPDATE ".FORUMS_TABLE." SET forum_order = forum_order + $move WHERE forum_id = $forum_id";
if( !$result = $db->sql_query($sql) )
- {
+ {
message_die(GENERAL_ERROR, "Couldn't change category order", "", __LINE__, __FILE__, $sql);
}
renumber_order('forum', $forum_info['cat_id']);