28, May 2012

problems with modifying phpbb forum - webmaster forum

 
Webdigity webmaster forums
[ Home | Help | Search | Forum's Shop | Archive | Login | Register | Webmaster Directory ]
Webdigity Webmaster Forums  >  Web Development  >  PhP
Topic: problems with modifying phpbb forum
« previous next »
Pages: [1] Print
Instabuck - The easy way to sell digital products online

Author Topic: problems with modifying phpbb forum  (Read 1241 times)
aka J Love
Community Supporter ?
Bill Gates is my home boy
*****
Gender: Male
Posts: 886
1148 credits
Members referred : 4



« on: Apr 08, 2006, 10:38:18 pm »

i am installing a mod for phpbb, if you are familiar with it, it comes from phpbbhacks.com. when trying to create a new forum after making the necessary changes, it disallows me from creating the forum due to a mysql error. here is the error mysql gives us:

Quote
General Error
Couldn't insert row in forums table

DEBUG MODE

SQL Error : 1136 Column count doesn't match value count at row 1

INSERT INTO phpbb_forums (forum_id, forum_name, cat_id, forum_desc, forum_order, forum_status, show_quickreply, prune_enable, auth_view, auth_read, auth_post, auth_reply, auth_edit, auth_delete, auth_sticky, auth_announce, auth_vote, auth_pollcreate) VALUES ('22', 'test', 2, 'a', 50, 0, 0, 0, 0, 0, 0, 1, 1, 3, 3, 1, 1)

Line : 410
File : admin_forums.php


Powered by phpBB 2.0.19 and Ad Infinitum v1.06


here is the text that tells us what changes to make to the stock file (see below for stick and modified files)

Quote
#
#-----[ OPEN ]------------------------------------------
#
admin/admin_forums.php

#
#-----[ FIND ]------------------------------------------
#
            $forumstatus = $row['forum_status'];

#
#-----[ AFTER, ADD ]------------------------------------
#
            if( $row['show_quickreply'] == 1)
            {
               $quickreply_enabled = "checked=\"checked\"";
            }
            else
            {
               $quickreply_enabled = '';
            }

#
#-----[ FIND ]------------------------------------------
#
            $forum_id = '';
            $prune_enabled = '';

#
#-----[ AFTER, ADD ]------------------------------------
#
            $quickreply_enabled = "checked=\"checked\"";

#
#-----[ FIND ]------------------------------------------
#
            'S_STATUS_LIST' => $statuslist,

#
#-----[ AFTER, ADD ]------------------------------------
#
            'S_QUICKREPLY_ENABLED' => $quickreply_enabled,

#
#-----[ FIND ]------------------------------------------
#
            'L_FORUM_STATUS' => $lang['Forum_status'],

#
#-----[ AFTER, ADD ]------------------------------------
#
            'L_SHOW_QUICKREPLY' => $lang['Show_Quickreply'],

#
#-----[ FIND ]------------------------------------------
#
         $sql = "INSERT INTO " . FORUMS_TABLE . " (forum_id, forum_name, cat_id, forum_desc, forum_order, forum_status, prune_enable" . $field_sql . ")

#
#-----[ IN-LINE, FIND ]---------------------------------
#
forum_status,

#
#-----[ IN-LINE AFTER, ADD ]----------------------------
#
 show_quickreply,

#
#-----[ FIND ]------------------------------------------
#
            VALUES ('" . $next_id . "', '" . str_replace("\'", "''", $HTTP_POST_VARS['forumname']) . "', " . intval($HTTP_POST_VARS[POST_CAT_URL]) . ", '" . str_replace("\'", "''", $HTTP_POST_VARS['forumdesc']) . "', $next_order, " . intval($HTTP_POST_VARS['forumstatus']) . ", " . intval($HTTP_POST_VARS['prune_enable']) . $value_sql . ")";

#
#-----[ IN-LINE, FIND ]---------------------------------
#
" . intval($HTTP_POST_VARS['forumstatus']) . ",

#
#-----[ IN-LINE AFTER, ADD ]----------------------------
#
 " . intval($HTTP_POST_VARS['show_quickreply']) . ",

#
#-----[ FIND ]------------------------------------------
#
            SET forum_name = '" . str_replace("\'", "''", $HTTP_POST_VARS['forumname']) . "', cat_id = " . intval($HTTP_POST_VARS[POST_CAT_URL]) . ", forum_desc = '" . str_replace("\'", "''", $HTTP_POST_VARS['forumdesc']) . "', forum_status = " . intval($HTTP_POST_VARS['forumstatus']) . ", prune_enable = " . intval($HTTP_POST_VARS['prune_enable']) . "
            SET forum_name = '" . str_replace("\'", "''", $HTTP_POST_VARS['forumname']) . "', cat_id = " . intval($HTTP_POST_VARS[POST_CAT_URL]) . ", forum_desc = '" . str_replace("\'", "''", $HTTP_POST_VARS['forumdesc']) . "', forum_status = " . intval($HTTP_POST_VARS['forumstatus']) . ",

#
#-----[ IN-LINE, FIND ]---------------------------------
#
forum_status = " . intval($HTTP_POST_VARS['forumstatus']) . ",

#
#-----[ IN-LINE AFTER, ADD ]----------------------------
#
 show_quickreply = " . intval($HTTP_POST_VARS['show_quickreply']) . ",

here is the modified version of "admin_forums.php":

Code:
<?php
/***************************************************************************
 *                             admin_forums.php
 *                            -------------------
 *   begin                : Thursday, Jul 12, 2001
 *   copyright            : (C) 2001 The phpBB Group
 *   email                : support@phpbb.com
 *
 *   $Id: admin_forums.php,v 1.40.2.12 2005/05/07 22:18:10 acydburn Exp $
 *
 ***************************************************************************/

/***************************************************************************
 *
 *   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.
 *
 ***************************************************************************/

define('IN_PHPBB'1);

if( !empty(
$setmodules) )
{
$file basename(__FILE__);
$module['Forums']['Manage'] = $file;
return;
}

//
// Load default header
//
$phpbb_root_path "./../";
require(
$phpbb_root_path 'extension.inc');
require(
'./pagestart.' $phpEx);
include(
$phpbb_root_path 'includes/functions_admin.'.$phpEx);

$forum_auth_ary = array(
"auth_view" => AUTH_ALL
"auth_read" => AUTH_ALL
"auth_post" => AUTH_ALL
"auth_reply" => AUTH_ALL
"auth_edit" => AUTH_REG
"auth_delete" => AUTH_REG
"auth_sticky" => AUTH_MOD
"auth_announce" => AUTH_MOD
"auth_vote" => AUTH_REG
"auth_pollcreate" => AUTH_REG
);

//
// Mode setting
//
if( isset($HTTP_POST_VARS['mode']) || isset($HTTP_GET_VARS['mode']) )
{
$mode = ( isset($HTTP_POST_VARS['mode']) ) ? $HTTP_POST_VARS['mode'] : $HTTP_GET_VARS['mode'];
$mode htmlspecialchars($mode);
}
else
{
$mode "";
}

// ------------------
// Begin function block
//
function get_info($mode$id)
{
global $db;

switch($mode)
{
case 'category':
$table CATEGORIES_TABLE;
$idfield 'cat_id';
$namefield 'cat_title';
break;

case 'forum':
$table FORUMS_TABLE;
$idfield 'forum_id';
$namefield 'forum_name';
break;

default:
message_die(GENERAL_ERROR"Wrong mode for generating select list"""__LINE____FILE__);
break;
}
$sql "SELECT count(*) as total
FROM 
$table";
if( !$result $db->sql_query($sql) )
{
message_die(GENERAL_ERROR"Couldn't get Forum/Category information"""__LINE____FILE__$sql);
}
$count $db->sql_fetchrow($result);
$count $count['total'];

$sql "SELECT *
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) != )
{
message_die(GENERAL_ERROR"Forum/Category doesn't exist or multiple forums/categories with ID $id"""__LINE____FILE__);
}

$return $db->sql_fetchrow($result);
$return['number'] = $count;
return $return;
}

function 
get_list($mode$id$select)
{
global $db;

switch($mode)
{
case 'category':
$table CATEGORIES_TABLE;
$idfield 'cat_id';
$namefield 'cat_title';
break;

case 'forum':
$table FORUMS_TABLE;
$idfield 'forum_id';
$namefield 'forum_name';
break;

default:
message_die(GENERAL_ERROR"Wrong mode for generating select list"""__LINE____FILE__);
break;
}

$sql "SELECT *
FROM 
$table";
if( $select == )
{
$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 "";

while( $row $db->sql_fetchrow($result) )
{
$s "";
if ($row[$idfield] == $id)
{
$s " selected=\"selected\"";
}
$catlist .= "<option value=\"$row[$idfield]\"$s>" $row[$namefield] . "</option>\n";
}

return($catlist);
}

function 
renumber_order($mode$cat 0)
{
global $db;

switch($mode)
{
case 'category':
$table CATEGORIES_TABLE;
$idfield 'cat_id';
$orderfield 'cat_order';
$cat 0;
break;

case 'forum':
$table FORUMS_TABLE;
$idfield 'forum_id';
$orderfield 'forum_order';
$catfield 'cat_id';
break;

default:
message_die(GENERAL_ERROR"Wrong mode for generating select list"""__LINE____FILE__);
break;
}

$sql "SELECT * FROM $table";
if( $cat != 0)
{
$sql .= " WHERE $catfield = $cat";
}
$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;
}

}
//
// End function block
// ------------------

//
// Begin program proper
//
if( isset($HTTP_POST_VARS['addforum']) || isset($HTTP_POST_VARS['addcategory']) )
{
$mode = ( isset($HTTP_POST_VARS['addforum']) ) ? "addforum" "addcat";

if( $mode == "addforum" )
{
list($cat_id) = each($HTTP_POST_VARS['addforum']);
$cat_id intval($cat_id);
// 
// stripslashes needs to be run on this because slashes are added when the forum name is posted
//
$forumname stripslashes($HTTP_POST_VARS['forumname'][$cat_id]);
}
}

if( !empty(
$mode) ) 
{
switch($mode)
{
case 'addforum':
case 'editforum':
//
// Show form to create/modify a forum
//
if ($mode == 'editforum')
{
// $newmode determines if we are going to INSERT or UPDATE after posting?

$l_title $lang['Edit_forum'];
$newmode 'modforum';
$buttonvalue $lang['Update'];

$forum_id intval($HTTP_GET_VARS[POST_FORUM_URL]);

$row get_info('forum'$forum_id);

$cat_id $row['cat_id'];
$forumname $row['forum_name'];
$forumdesc $row['forum_desc'];
$forumstatus $row['forum_status'];
if( $row['show_quickreply'] == 1)
{
$quickreply_enabled "checked=\"checked\"";
}
else
{
$quickreply_enabled '';
}

//
// start forum prune stuff.
//
if( $row['prune_enable'] )
{
$prune_enabled "checked=\"checked\"";
$sql "SELECT *
                FROM " 
PRUNE_TABLE "
                WHERE forum_id = 
$forum_id";
if(!$pr_result $db->sql_query($sql))
{
 message_die(GENERAL_ERROR"Auto-Prune: Couldn't read auto_prune table."__LINE____FILE__);
         }

$pr_row $db->sql_fetchrow($pr_result);
}
else
{
$prune_enabled '';
}
}
else
{
$l_title $lang['Create_forum'];
$newmode 'createforum';
$buttonvalue $lang['Create_forum'];

$forumdesc '';
$forumstatus FORUM_UNLOCKED;
$forum_id ''
$prune_enabled '';
$quickreply_enabled "checked=\"checked\"";
}

$catlist get_list('category'$cat_idTRUE);

$forumstatus == ( FORUM_LOCKED ) ? $forumlocked "selected=\"selected\"" $forumunlocked "selected=\"selected\"";

// These two options ($lang['Status_unlocked'] and $lang['Status_locked']) seem to be missing from
// the language files.
$lang['Status_unlocked'] = isset($lang['Status_unlocked']) ? $lang['Status_unlocked'] : 'Unlocked';
$lang['Status_locked'] = isset($lang['Status_locked']) ? $lang['Status_locked'] : 'Locked';

$statuslist "<option value=\"" FORUM_UNLOCKED "\" $forumunlocked>" $lang['Status_unlocked'] . "</option>\n";
$statuslist .= "<option value=\"" FORUM_LOCKED "\" $forumlocked>" $lang['Status_locked'] . "</option>\n"

$template->set_filenames(array(
"body" => "admin/forum_edit_body.tpl")
);

$s_hidden_fields '<input type="hidden" name="mode" value="' $newmode .'" /><input type="hidden" name="' POST_FORUM_URL '" value="' $forum_id '" />';

$template->assign_vars(array(
'S_FORUM_ACTION' => append_sid("admin_forums.$phpEx"),
'S_HIDDEN_FIELDS' => $s_hidden_fields,
'S_SUBMIT_VALUE' => $buttonvalue
'S_CAT_LIST' => $catlist,
'S_STATUS_LIST' => $statuslist,
'S_QUICKREPLY_ENABLED' => $quickreply_enabled,
'S_PRUNE_ENABLED' => $prune_enabled,

'L_FORUM_TITLE' => $l_title
'L_FORUM_EXPLAIN' => $lang['Forum_edit_delete_explain'], 
'L_FORUM_SETTINGS' => $lang['Forum_settings'], 
'L_FORUM_NAME' => $lang['Forum_name'], 
'L_CATEGORY' => $lang['Category'], 
'L_FORUM_DESCRIPTION' => $lang['Forum_desc'],
'L_FORUM_STATUS' => $lang['Forum_status'],
'L_SHOW_QUICKREPLY' => $lang['Show_Quickreply'],
'L_AUTO_PRUNE' => $lang['Forum_pruning'],
'L_ENABLED' => $lang['Enabled'],
'L_PRUNE_DAYS' => $lang['prune_days'],
'L_PRUNE_FREQ' => $lang['prune_freq'],
'L_DAYS' => $lang['Days'],

'PRUNE_DAYS' => ( isset($pr_row['prune_days']) ) ? $pr_row['prune_days'] : 7,
'PRUNE_FREQ' => ( isset($pr_row['prune_freq']) ) ? $pr_row['prune_freq'] : 1,
'FORUM_NAME' => $forumname,
'DESCRIPTION' => $forumdesc)
);
$template->pparse("body");
break;

case 'createforum':
//
// Create a forum in the DB
//
if( trim($HTTP_POST_VARS['forumname']) == "" )
{
message_die(GENERAL_ERROR"Can't create a forum without a name");
}

$sql "SELECT MAX(forum_order) AS max_order
FROM " 
FORUMS_TABLE "
WHERE cat_id = " 
intval($HTTP_POST_VARS[POST_CAT_URL]);
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);

$max_order $row['max_order'];
$next_order $max_order 10;

$sql "SELECT MAX(forum_id) AS max_id
FROM " 
FORUMS_TABLE;
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);

$max_id $row['max_id'];
$next_id $max_id 1;

//
// Default permissions of public :: 
//
$field_sql "";
$value_sql "";
while( list($field$value) = each($forum_auth_ary) )
{
$field_sql .= ", $field";
$value_sql .= ", $value";

}

// There is no problem having duplicate forum names so we won't check for it.
$sql "INSERT INTO " FORUMS_TABLE " (forum_id, forum_name, cat_id, forum_desc, forum_order, forum_status, show_quickreply, prune_enable" $field_sql ")
VALUES ('" 
$next_id "', '" str_replace("\'""''"$HTTP_POST_VARS['forumname']) . "', " intval($HTTP_POST_VARS[POST_CAT_URL]) . ", '" str_replace("\'""''"$HTTP_POST_VARS['forumdesc']) . "', $next_order, " intval($HTTP_POST_VARS['forumstatus']) . ", " intval($HTTP_POST_VARS['prune_enable']) . $value_sql ")";
if( !$result $db->sql_query($sql) )
{
message_die(GENERAL_ERROR"Couldn't insert row in forums table"""__LINE____FILE__$sql);
}

if( $HTTP_POST_VARS['prune_enable'] )
{

if( $HTTP_POST_VARS['prune_days'] == "" || $HTTP_POST_VARS['prune_freq'] == "")
{
message_die(GENERAL_MESSAGE$lang['Set_prune_data']);
}

$sql "INSERT INTO " PRUNE_TABLE " (forum_id, prune_days, prune_freq)
VALUES('" 
$next_id "', " intval($HTTP_POST_VARS['prune_days']) . ", " intval($HTTP_POST_VARS['prune_freq']) . ")";
if( !$result $db->sql_query($sql) )
{
message_die(GENERAL_ERROR"Couldn't insert row in prune table"""__LINE____FILE__$sql);
}
}

$message $lang['Forums_updated'] . "<br /><br />" sprintf($lang['Click_return_forumadmin'], "<a href=\"" append_sid("admin_forums.$phpEx") . "\">""</a>") . "<br /><br />" sprintf($lang['Click_return_admin_index'], "<a href=\"" append_sid("index.$phpEx?pane=right") . "\">""</a>");

message_die(GENERAL_MESSAGE$message);

break;

case 'modforum':
// Modify a forum in the DB
if( isset($HTTP_POST_VARS['prune_enable']))
{
if( $HTTP_POST_VARS['prune_enable'] != )
{
$HTTP_POST_VARS['prune_enable'] = 0;
}
}

$sql "UPDATE " FORUMS_TABLE "
SET forum_name = '" 
str_replace("\'""''"$HTTP_POST_VARS['forumname']) . "', cat_id = " intval($HTTP_POST_VARS[POST_CAT_URL]) . ", forum_desc = '" str_replace("\'""''"$HTTP_POST_VARS['forumdesc']) . "', forum_status = " intval($HTTP_POST_VARS['forumstatus']) . ", 
show_quickreply = " 
intval($HTTP_POST_VARS['show_quickreply']) . ", prune_enable = " intval($HTTP_POST_VARS['prune_enable']) . " WHERE forum_id = " intval($HTTP_POST_VARS[POST_FORUM_URL]);
if( !$result $db->sql_query($sql) )
{
message_die(GENERAL_ERROR"Couldn't update forum information"""__LINE____FILE__$sql);
}

if( $HTTP_POST_VARS['prune_enable'] == )
{
if( $HTTP_POST_VARS['prune_days'] == "" || $HTTP_POST_VARS['prune_freq'] == "" )
{
message_die(GENERAL_MESSAGE$lang['Set_prune_data']);
}

$sql "SELECT *
FROM " 
PRUNE_TABLE "
WHERE forum_id = " 
intval($HTTP_POST_VARS[POST_FORUM_URL]);
if( !$result $db->sql_query($sql) )
{
message_die(GENERAL_ERROR"Couldn't get forum Prune Information","",__LINE____FILE__$sql);
}

if( $db->sql_numrows($result) > )
{
$sql "UPDATE " PRUNE_TABLE "
SET prune_days = " 
intval($HTTP_POST_VARS['prune_days']) . ", prune_freq = " intval($HTTP_POST_VARS['prune_freq']) . "
  WHERE forum_id = " 
intval($HTTP_POST_VARS[POST_FORUM_URL]);
}
else
{
$sql "INSERT INTO " PRUNE_TABLE " (forum_id, prune_days, prune_freq)
VALUES(" 
intval($HTTP_POST_VARS[POST_FORUM_URL]) . ", " intval($HTTP_POST_VARS['prune_days']) . ", " intval($HTTP_POST_VARS['prune_freq']) . ")";
}

if( !$result $db->sql_query($sql) )
{
message_die(GENERAL_ERROR"Couldn't Update Forum Prune Information","",__LINE____FILE__$sql);
}
}

$message $lang['Forums_updated'] . "<br /><br />" sprintf($lang['Click_return_forumadmin'], "<a href=\"" append_sid("admin_forums.$phpEx") . "\">""</a>") . "<br /><br />" sprintf($lang['Click_return_admin_index'], "<a href=\"" append_sid("index.$phpEx?pane=right") . "\">""</a>");

message_die(GENERAL_MESSAGE$message);

break;

case 'addcat':
// Create a category in the DB
if( trim($HTTP_POST_VARS['categoryname']) == '')
{
message_die(GENERAL_ERROR"Can't create a category without a name");
}

$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);

$max_order $row['max_order'];
$next_order $max_order 10;

//
// There is no problem having duplicate forum names so we won't check for it.
//
$sql "INSERT INTO " CATEGORIES_TABLE " (cat_title, cat_order)
VALUES ('" 
str_replace("\'""''"$HTTP_POST_VARS['categoryname']) . "', $next_order)";
if( !$result $db->sql_query($sql) )
{
message_die(GENERAL_ERROR"Couldn't insert row in categories table"""__LINE____FILE__$sql);
}

$message $lang['Forums_updated'] . "<br /><br />" sprintf($lang['Click_return_forumadmin'], "<a href=\"" append_sid("admin_forums.$phpEx") . "\">""</a>") . "<br /><br />" sprintf($lang['Click_return_admin_index'], "<a href=\"" append_sid("index.$phpEx?pane=right") . "\">""</a>");

message_die(GENERAL_MESSAGE$message);

break;

case 'editcat':
//
// Show form to edit a category
//
$newmode 'modcat';
$buttonvalue $lang['Update'];

$cat_id intval($HTTP_GET_VARS[POST_CAT_URL]);

$row get_info('category'$cat_id);
$cat_title $row['cat_title'];

$template->set_filenames(array(
"body" => "admin/category_edit_body.tpl")
);

$s_hidden_fields '<input type="hidden" name="mode" value="' $newmode '" /><input type="hidden" name="' POST_CAT_URL '" value="' $cat_id '" />';

$template->assign_vars(array(
'CAT_TITLE' => $cat_title,

'L_EDIT_CATEGORY' => $lang['Edit_Category'], 
'L_EDIT_CATEGORY_EXPLAIN' => $lang['Edit_Category_explain'], 
'L_CATEGORY' => $lang['Category'], 

'S_HIDDEN_FIELDS' => $s_hidden_fields
'S_SUBMIT_VALUE' => $buttonvalue
'S_FORUM_ACTION' => append_sid("admin_forums.$phpEx"))
);

$template->pparse("body");
break;

case 'modcat':
// Modify a category in the DB
$sql "UPDATE " CATEGORIES_TABLE "
SET cat_title = '" 
str_replace("\'""''"$HTTP_POST_VARS['cat_title']) . "'
WHERE cat_id = " 
intval($HTTP_POST_VARS[POST_CAT_URL]);
if( !$result $db->sql_query($sql) )
{
message_die(GENERAL_ERROR"Couldn't update forum information"""__LINE____FILE__$sql);
}

$message $lang['Forums_updated'] . "<br /><br />" sprintf($lang['Click_return_forumadmin'], "<a href=\"" append_sid("admin_forums.$phpEx") . "\">""</a>") . "<br /><br />" sprintf($lang['Click_return_admin_index'], "<a href=\"" append_sid("index.$phpEx?pane=right") . "\">""</a>");

message_die(GENERAL_MESSAGE$message);

break;

case 'deleteforum':
// Show form to delete a forum
$forum_id intval($HTTP_GET_VARS[POST_FORUM_URL]);

$select_to '<select name="to_id">';
$select_to .= "<option value=\"-1\"$s>" $lang['Delete_all_posts'] . "</option>\n";
$select_to .= get_list('forum'$forum_id0);
$select_to .= '</select>';

$buttonvalue $lang['Move_and_Delete'];

$newmode 'movedelforum';

$foruminfo get_info('forum'$forum_id);
$name $foruminfo['forum_name'];

$template->set_filenames(array(
"body" => "admin/forum_delete_body.tpl")
);

$s_hidden_fields '<input type="hidden" name="mode" value="' $newmode '" /><input type="hidden" name="from_id" value="' $forum_id '" />';

$template->assign_vars(array(
'NAME' => $name

'L_FORUM_DELETE' => $lang['Forum_delete'], 
'L_FORUM_DELETE_EXPLAIN' => $lang['Forum_delete_explain'], 
'L_MOVE_CONTENTS' => $lang['Move_contents'], 
'L_FORUM_NAME' => $lang['Forum_name'], 

"S_HIDDEN_FIELDS" => $s_hidden_fields,
'S_FORUM_ACTION' => append_sid("admin_forums.$phpEx"), 
'S_SELECT_TO' => $select_to,
'S_SUBMIT_VALUE' => $buttonvalue)
);

$template->pparse("body");
break;

case 'movedelforum':
//
// Move or delete a forum in the DB
//
$from_id intval($HTTP_POST_VARS['from_id']);
$to_id intval($HTTP_POST_VARS['to_id']);
$delete_old intval($HTTP_POST_VARS['delete_old']);

// Either delete or move all posts in a forum
if($to_id == -1)
{
// Delete polls in this forum
$sql "SELECT v.vote_id 
FROM " 
VOTE_DESC_TABLE " v, " TOPICS_TABLE " t 
WHERE t.forum_id = 
$from_id 
AND v.topic_id = t.topic_id"
;
if (!($result $db->sql_query($sql)))
{
message_die(GENERAL_ERROR"Couldn't obtain list of vote ids"""__LINE____FILE__$sql);
}

if ($row $db->sql_fetchrow($result))
{
$vote_ids '';
do
{
$vote_ids = (($vote_ids != '') ? ', ' '') . $row['vote_id'];
}
while ($row $db->sql_fetchrow($result));

$sql "DELETE FROM " VOTE_DESC_TABLE 
WHERE vote_id IN (
$vote_ids)";
$db->sql_query($sql);

$sql "DELETE FROM " VOTE_RESULTS_TABLE 
WHERE vote_id IN (
$vote_ids)";
$db->sql_query($sql);

$sql "DELETE FROM " VOTE_USERS_TABLE 
WHERE vote_id IN (
$vote_ids)";
$db->sql_query($sql);
}
$db->sql_freeresult($result);

include($phpbb_root_path "includes/prune.$phpEx");
prune($from_id0true); // Delete everything from forum
}
else
{
$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__);
}
$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 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);
}

// Alter Mod level if appropriate - 2.0.4
$sql "SELECT ug.user_id 
FROM " 
AUTH_ACCESS_TABLE " a, " USER_GROUP_TABLE " ug 
WHERE a.forum_id <> 
$from_id 
AND a.auth_mod = 1
AND ug.group_id = a.group_id"
;
if( !$result $db->sql_query($sql) )
{
message_die(GENERAL_ERROR"Couldn't obtain moderator list"""__LINE____FILE__$sql);
}

if ($row $db->sql_fetchrow($result))
{
$user_ids '';
do
{
$user_ids .= (($user_ids != '') ? ', ' '' ) . $row['user_id'];
}
while ($row $db->sql_fetchrow($result));

$sql "SELECT ug.user_id 
FROM " 
AUTH_ACCESS_TABLE " a, " USER_GROUP_TABLE " ug 
WHERE a.forum_id = 
$from_id 
AND a.auth_mod = 1 
AND ug.group_id = a.group_id
AND ug.user_id NOT IN (
$user_ids)";
if( !$result2 $db->sql_query($sql) )
{
message_die(GENERAL_ERROR"Couldn't obtain moderator list"""__LINE____FILE__$sql);
}

if ($row $db->sql_fetchrow($result2))
{
$user_ids '';
do
{
$user_ids .= (($user_ids != '') ? ', ' '' ) . $row['user_id'];
}
while ($row $db->sql_fetchrow($result2));

$sql "UPDATE " USERS_TABLE 
SET user_level = " 
USER 
WHERE user_id IN (
$user_ids
AND user_level <> " 
ADMIN;
$db->sql_query($sql);
}
$db->sql_freeresult($result);

}
$db->sql_freeresult($result2);

$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);
}

$sql "DELETE FROM " AUTH_ACCESS_TABLE "
WHERE forum_id = 
$from_id";
if( !$result $db->sql_query($sql) )
{
message_die(GENERAL_ERROR"Couldn't delete forum"""__LINE____FILE__$sql);
}

$sql "DELETE FROM " PRUNE_TABLE "
WHERE forum_id = 
$from_id";
if( !$result $db->sql_query($sql) )
{
message_die(GENERAL_ERROR"Couldn't delete forum prune information!"""__LINE____FILE__$sql);
}

$message $lang['Forums_updated'] . "<br /><br />" sprintf($lang['Click_return_forumadmin'], "<a href=\"" append_sid("admin_forums.$phpEx") . "\">""</a>") . "<br /><br />" sprintf($lang['Click_return_admin_index'], "<a href=\"" append_sid("index.$phpEx?pane=right") . "\">""</a>");

message_die(GENERAL_MESSAGE$message);

break;

case 'deletecat':
//
// Show form to delete a category
//
$cat_id intval($HTTP_GET_VARS[POST_CAT_URL]);

$buttonvalue $lang['Move_and_Delete'];
$newmode 'movedelcat';
$catinfo get_info('category'$cat_id);
$name $catinfo['cat_title'];

if ($catinfo['number'] == 1)
{
$sql "SELECT count(*) as total
FROM "
FORUMS_TABLE;
if( !$result $db->sql_query($sql) )
{
message_die(GENERAL_ERROR"Couldn't get Forum count"""__LINE____FILE__$sql);
}
$count $db->sql_fetchrow($result);
$count $count['total'];

if ($count 0)
{
message_die(GENERAL_ERROR$lang['Must_delete_forums']);
}
else
{
$select_to $lang['Nowhere_to_move'];
}
}
else
{
$select_to '<select name="to_id">';
$select_to .= get_list('category'$cat_id0);
$select_to .= '</select>';
}

$template->set_filenames(array(
"body" => "admin/forum_delete_body.tpl")
);

$s_hidden_fields '<input type="hidden" name="mode" value="' $newmode '" /><input type="hidden" name="from_id" value="' $cat_id '" />';

$template->assign_vars(array(
'NAME' => $name

'L_FORUM_DELETE' => $lang['Forum_delete'], 
'L_FORUM_DELETE_EXPLAIN' => $lang['Forum_delete_explain'], 
'L_MOVE_CONTENTS' => $lang['Move_contents'], 
'L_FORUM_NAME' => $lang['Forum_name'], 

'S_HIDDEN_FIELDS' => $s_hidden_fields,
'S_FORUM_ACTION' => append_sid("admin_forums.$phpEx"), 
'S_SELECT_TO' => $select_to,
'S_SUBMIT_VALUE' => $buttonvalue)
);

$template->pparse("body");
break;

case 'movedelcat':
//
// Move or delete a category in the DB
//
$from_id intval($HTTP_POST_VARS['from_id']);
$to_id intval($HTTP_POST_VARS['to_id']);

if (!empty($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 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);
}

$message $lang['Forums_updated'] . "<br /><br />" sprintf($lang['Click_return_forumadmin'], "<a href=\"" append_sid("admin_forums.$phpEx") . "\">""</a>") . "<br /><br />" sprintf($lang['Click_return_admin_index'], "<a href=\"" append_sid("index.$phpEx?pane=right") . "\">""</a>");

message_die(GENERAL_MESSAGE$message);

break;

case 'forum_order':
//
// Change order of forums in the DB
//
$move intval($HTTP_GET_VARS['move']);
$forum_id intval($HTTP_GET_VARS[POST_FORUM_URL]);

$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']);
$show_index TRUE;

break;

case 'cat_order':
//
// Change order of categories in the DB
//
$move intval($HTTP_GET_VARS['move']);
$cat_id intval($HTTP_GET_VARS[POST_CAT_URL]);

$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');
$show_index TRUE;

break;

case 'forum_sync':
sync('forum'intval($HTTP_GET_VARS[POST_FORUM_URL]));
$show_index TRUE;

break;

default:
message_die(GENERAL_MESSAGE$lang['No_mode']);
break;
}

if ($show_index != TRUE)
{
include('./page_footer_admin.'.$phpEx);
exit;
}
}

//
// Start page proper
//
$template->set_filenames(array(
"body" => "admin/forum_admin_body.tpl")
);

$template->assign_vars(array(
'S_FORUM_ACTION' => append_sid("admin_forums.$phpEx"),
'L_FORUM_TITLE' => $lang['Forum_admin'], 
'L_FORUM_EXPLAIN' => $lang['Forum_admin_explain'], 
'L_CREATE_FORUM' => $lang['Create_forum'], 
'L_CREATE_CATEGORY' => $lang['Create_category'], 
'L_EDIT' => $lang['Edit'], 
'L_DELETE' => $lang['Delete'], 
'L_MOVE_UP' => $lang['Move_up'], 
'L_MOVE_DOWN' => $lang['Move_down'], 
'L_RESYNC' => $lang['Resync'])
);

$sql "SELECT cat_id, cat_title, cat_order
FROM " 
CATEGORIES_TABLE "
ORDER BY cat_order"
;
if( !
$q_categories $db->sql_query($sql) )
{
message_die(GENERAL_ERROR"Could not query categories list"""__LINE____FILE__$sql);
}

if( 
$total_categories $db->sql_numrows($q_categories) )
{
$category_rows $db->sql_fetchrowset($q_categories);

$sql "SELECT *
FROM " 
FORUMS_TABLE "
ORDER BY cat_id, forum_order"
;
if(!$q_forums $db->sql_query($sql))
{
message_die(GENERAL_ERROR"Could not query forums information"""__LINE____FILE__$sql);
}

if( $total_forums $db->sql_numrows($q_forums) )
{
$forum_rows $db->sql_fetchrowset($q_forums);
}

//
// Okay, let's build the index
//
$gen_cat = array();

for($i 0$i $total_categories$i++)
{
$cat_id $category_rows[$i]['cat_id'];

$template->assign_block_vars("catrow", array( 
'S_ADD_FORUM_SUBMIT' => "addforum[$cat_id]"
'S_ADD_FORUM_NAME' => "forumname[$cat_id]"

'CAT_ID' => $cat_id,
'CAT_DESC' => $category_rows[$i]['cat_title'],

'U_CAT_EDIT' => append_sid("admin_forums.$phpEx?mode=editcat&amp;" POST_CAT_URL "=$cat_id"),
'U_CAT_DELETE' => append_sid("admin_forums.$phpEx?mode=deletecat&amp;" POST_CAT_URL "=$cat_id"),
'U_CAT_MOVE_UP' => append_sid("admin_forums.$phpEx?mode=cat_order&amp;move=-15&amp;" POST_CAT_URL "=$cat_id"),
'U_CAT_MOVE_DOWN' => append_sid("admin_forums.$phpEx?mode=cat_order&amp;move=15&amp;" POST_CAT_URL "=$cat_id"),
'U_VIEWCAT' => append_sid($phpbb_root_path."index.$phpEx?" POST_CAT_URL "=$cat_id"))
);

for($j 0$j $total_forums$j++)
{
$forum_id $forum_rows[$j]['forum_id'];

if ($forum_rows[$j]['cat_id'] == $cat_id)
{

$template->assign_block_vars("catrow.forumrow", array(
'FORUM_NAME' => $forum_rows[$j]['forum_name'],
'FORUM_DESC' => $forum_rows[$j]['forum_desc'],
'ROW_COLOR' => $row_color,
'NUM_TOPICS' => $forum_rows[$j]['forum_topics'],
'NUM_POSTS' => $forum_rows[$j]['forum_posts'],

'U_VIEWFORUM' => append_sid($phpbb_root_path."viewforum.$phpEx?" POST_FORUM_URL "=$forum_id"),
'U_FORUM_EDIT' => append_sid("admin_forums.$phpEx?mode=editforum&amp;" POST_FORUM_URL "=$forum_id"),
'U_FORUM_DELETE' => append_sid("admin_forums.$phpEx?mode=deleteforum&amp;" POST_FORUM_URL "=$forum_id"),
'U_FORUM_MOVE_UP' => append_sid("admin_forums.$phpEx?mode=forum_order&amp;move=-15&amp;" POST_FORUM_URL "=$forum_id"),
'U_FORUM_MOVE_DOWN' => append_sid("admin_forums.$phpEx?mode=forum_order&amp;move=15&amp;" POST_FORUM_URL "=$forum_id"),
'U_FORUM_RESYNC' => append_sid("admin_forums.$phpEx?mode=forum_sync&amp;" POST_FORUM_URL "=$forum_id"))
);

}// if ... forumid == catid

// for ... forums

// for ... categories

}// if ... total_categories

$template->pparse("body");

include(
'./page_footer_admin.'.$phpEx);

?>

and last but not least the stock version of the file, admin_forums.php:

Code:
<?php
/***************************************************************************
 *                             admin_forums.php
 *                            -------------------
 *   begin                : Thursday, Jul 12, 2001
 *   copyright            : (C) 2001 The phpBB Group
 *   email                : support@phpbb.com
 *
 *   $Id: admin_forums.php,v 1.40.2.12 2005/05/07 22:18:10 acydburn Exp $
 *
 ***************************************************************************/

/***************************************************************************
 *
 *   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.
 *
 ***************************************************************************/

define('IN_PHPBB'1);

if( !empty(
$setmodules) )
{
$file basename(__FILE__);
$module['Forums']['Manage'] = $file;
return;
}

//
// Load default header
//
$phpbb_root_path "./../";
require(
$phpbb_root_path 'extension.inc');
require(
'./pagestart.' $phpEx);
include(
$phpbb_root_path 'includes/functions_admin.'.$phpEx);

$forum_auth_ary = array(
"auth_view" => AUTH_ALL
"auth_read" => AUTH_ALL
"auth_post" => AUTH_ALL
"auth_reply" => AUTH_ALL
"auth_edit" => AUTH_REG
"auth_delete" => AUTH_REG
"auth_sticky" => AUTH_MOD
"auth_announce" => AUTH_MOD
"auth_vote" => AUTH_REG
"auth_pollcreate" => AUTH_REG
);

//
// Mode setting
//
if( isset($HTTP_POST_VARS['mode']) || isset($HTTP_GET_VARS['mode']) )
{
$mode = ( isset($HTTP_POST_VARS['mode']) ) ? $HTTP_POST_VARS['mode'] : $HTTP_GET_VARS['mode'];
$mode htmlspecialchars($mode);
}
else
{
$mode "";
}

// ------------------
// Begin function block
//
function get_info($mode$id)
{
global $db;

switch($mode)
{
case 'category':
$table CATEGORIES_TABLE;
$idfield 'cat_id';
$namefield 'cat_title';
break;

case 'forum':
$table FORUMS_TABLE;
$idfield 'forum_id';
$namefield 'forum_name';
break;

default:
message_die(GENERAL_ERROR"Wrong mode for generating select list"""__LINE____FILE__);
break;
}
$sql "SELECT count(*) as total
FROM 
$table";
if( !$result $db->sql_query($sql) )
{
message_die(GENERAL_ERROR"Couldn't get Forum/Category information"""__LINE____FILE__$sql);
}
$count $db->sql_fetchrow($result);
$count $count['total'];

$sql "SELECT *
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) != )
{
message_die(GENERAL_ERROR"Forum/Category doesn't exist or multiple forums/categories with ID $id"""__LINE____FILE__);
}

$return $db->sql_fetchrow($result);
$return['number'] = $count;
return $return;
}

function 
get_list($mode$id$select)
{
global $db;

switch($mode)
{
case 'category':
$table CATEGORIES_TABLE;
$idfield 'cat_id';
$namefield 'cat_title';
break;

case 'forum':
$table FORUMS_TABLE;
$idfield 'forum_id';
$namefield 'forum_name';
break;

default:
message_die(GENERAL_ERROR"Wrong mode for generating select list"""__LINE____FILE__);
break;
}

$sql "SELECT *
FROM 
$table";
if( $select == )
{
$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 "";

while( $row $db->sql_fetchrow($result) )
{
$s "";
if ($row[$idfield] == $id)
{
$s " selected=\"selected\"";
}
$catlist .= "<option value=\"$row[$idfield]\"$s>" $row[$namefield] . "</option>\n";
}

return($catlist);
}

function 
renumber_order($mode$cat 0)
{
global $db;

switch($mode)
{
case 'category':
$table CATEGORIES_TABLE;
$idfield 'cat_id';
$orderfield 'cat_order';
$cat 0;
break;

case 'forum':
$table FORUMS_TABLE;
$idfield 'forum_id';
$orderfield 'forum_order';
$catfield 'cat_id';
break;

default:
message_die(GENERAL_ERROR"Wrong mode for generating select list"""__LINE____FILE__);
break;
}

$sql "SELECT * FROM $table";
if( $cat != 0)
{
$sql .= " WHERE $catfield = $cat";
}
$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;
}

}
//
// End function block
// ------------------

//
// Begin program proper
//
if( isset($HTTP_POST_VARS['addforum']) || isset($HTTP_POST_VARS['addcategory']) )
{
$mode = ( isset($HTTP_POST_VARS['addforum']) ) ? "addforum" "addcat";

if( $mode == "addforum" )
{
list($cat_id) = each($HTTP_POST_VARS['addforum']);
$cat_id intval($cat_id);
// 
// stripslashes needs to be run on this because slashes are added when the forum name is posted
//
$forumname stripslashes($HTTP_POST_VARS['forumname'][$cat_id]);
}
}

if( !empty(
$mode) ) 
{
switch($mode)
{
case 'addforum':
case 'editforum':
//
// Show form to create/modify a forum
//
if ($mode == 'editforum')
{
// $newmode determines if we are going to INSERT or UPDATE after posting?

$l_title $lang['Edit_forum'];
$newmode 'modforum';
$buttonvalue $lang['Update'];

$forum_id intval($HTTP_GET_VARS[POST_FORUM_URL]);

$row get_info('forum'$forum_id);

$cat_id $row['cat_id'];
$forumname $row['forum_name'];
$forumdesc $row['forum_desc'];
$forumstatus $row['forum_status'];

//
// start forum prune stuff.
//
if( $row['prune_enable'] )
{
$prune_enabled "checked=\"checked\"";
$sql "SELECT *
                FROM " 
PRUNE_TABLE "
                WHERE forum_id = 
$forum_id";
if(!$pr_result $db->sql_query($sql))
{
 message_die(GENERAL_ERROR"Auto-Prune: Couldn't read auto_prune table."__LINE____FILE__);
         }

$pr_row $db->sql_fetchrow($pr_result);
}
else
{
$prune_enabled '';
}
}
else
{
$l_title $lang['Create_forum'];
$newmode 'createforum';
$buttonvalue $lang['Create_forum'];

$forumdesc '';
$forumstatus FORUM_UNLOCKED;
$forum_id ''
$prune_enabled '';
}

$catlist get_list('category'$cat_idTRUE);

$forumstatus == ( FORUM_LOCKED ) ? $forumlocked "selected=\"selected\"" $forumunlocked "selected=\"selected\"";

// These two options ($lang['Status_unlocked'] and $lang['Status_locked']) seem to be missing from
// the language files.
$lang['Status_unlocked'] = isset($lang['Status_unlocked']) ? $lang['Status_unlocked'] : 'Unlocked';
$lang['Status_locked'] = isset($lang['Status_locked']) ? $lang['Status_locked'] : 'Locked';

$statuslist "<option value=\"" FORUM_UNLOCKED "\" $forumunlocked>" $lang['Status_unlocked'] . "</option>\n";
$statuslist .= "<option value=\"" FORUM_LOCKED "\" $forumlocked>" $lang['Status_locked'] . "</option>\n"

$template->set_filenames(array(
"body" => "admin/forum_edit_body.tpl")
);

$s_hidden_fields '<input type="hidden" name="mode" value="' $newmode .'" /><input type="hidden" name="' POST_FORUM_URL '" value="' $forum_id '" />';

$template->assign_vars(array(
'S_FORUM_ACTION' => append_sid("admin_forums.$phpEx"),
'S_HIDDEN_FIELDS' => $s_hidden_fields,
'S_SUBMIT_VALUE' => $buttonvalue
'S_CAT_LIST' => $catlist,
'S_STATUS_LIST' => $statuslist,
'S_PRUNE_ENABLED' => $prune_enabled,

'L_FORUM_TITLE' => $l_title
'L_FORUM_EXPLAIN' => $lang['Forum_edit_delete_explain'], 
'L_FORUM_SETTINGS' => $lang['Forum_settings'], 
'L_FORUM_NAME' => $lang['Forum_name'], 
'L_CATEGORY' => $lang['Category'], 
'L_FORUM_DESCRIPTION' => $lang['Forum_desc'],
'L_FORUM_STATUS' => $lang['Forum_status'],
'L_AUTO_PRUNE' => $lang['Forum_pruning'],
'L_ENABLED' => $lang['Enabled'],
'L_PRUNE_DAYS' => $lang['prune_days'],
'L_PRUNE_FREQ' => $lang['prune_freq'],
'L_DAYS' => $lang['Days'],

'PRUNE_DAYS' => ( isset($pr_row['prune_days']) ) ? $pr_row['prune_days'] : 7,
'PRUNE_FREQ' => ( isset($pr_row['prune_freq']) ) ? $pr_row['prune_freq'] : 1,
'FORUM_NAME' => $forumname,
'DESCRIPTION' => $forumdesc)
);
$template->pparse("body");
break;

case 'createforum':
//
// Create a forum in the DB
//
if( trim($HTTP_POST_VARS['forumname']) == "" )
{
message_die(GENERAL_ERROR"Can't create a forum without a name");
}

$sql "SELECT MAX(forum_order) AS max_order
FROM " 
FORUMS_TABLE "
WHERE cat_id = " 
intval($HTTP_POST_VARS[POST_CAT_URL]);
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);

$max_order $row['max_order'];
$next_order $max_order 10;

$sql "SELECT MAX(forum_id) AS max_id
FROM " 
FORUMS_TABLE;
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);

$max_id $row['max_id'];
$next_id $max_id 1;

//
// Default permissions of public :: 
//
$field_sql "";
$value_sql "";
while( list($field$value) = each($forum_auth_ary) )
{
$field_sql .= ", $field";
$value_sql .= ", $value";

}

// There is no problem having duplicate forum names so we won't check for it.
$sql "INSERT INTO " FORUMS_TABLE " (forum_id, forum_name, cat_id, forum_desc, forum_order, forum_status, prune_enable" $field_sql ")
VALUES ('" 
$next_id "', '" str_replace("\'""''"$HTTP_POST_VARS['forumname']) . "', " intval($HTTP_POST_VARS[POST_CAT_URL]) . ", '" str_replace("\'""''"$HTTP_POST_VARS['forumd


Last blog : phpHaze 1.59.1 in Development
I am a metal monkey!
Administrator
Community Supporter ?
Jedai Sword Master
*****
Gender: Male
Posts: 5799
46391 credits
Members referred : 3



« Reply #1 on: Apr 09, 2006, 12:29:19 am »

With this modification there should also be a file with an SQL statement to execute in the server before the update.

Something like "ALTERNATE TABLE ........."

Execute this and you will be ok.

PS: Haven't see you for a while met0d, how is the life in college?

Trial and Error my two best teachers Cool
Join us @ facebook or twitter

Last blog : Butterfly Marketing 2.0
aka J Love
Community Supporter ?
Bill Gates is my home boy
*****
Gender: Male
Posts: 886
1148 credits
Members referred : 4



« Reply #2 on: Apr 09, 2006, 04:06:49 am »

yes it has a dbupdate file that i ran before the installation, by the way i got this to work already, i changed some things on wrong lines Tongue

but yes.. i havent been around because of college, and yes Nik, I hate it!!


Last blog : phpHaze 1.59.1 in Development
I am a metal monkey!
Administrator
Community Supporter ?
Jedai Sword Master
*****
Gender: Male
Posts: 5799
46391 credits
Members referred : 3



« Reply #3 on: Apr 09, 2006, 06:37:49 pm »

Quote
i havent been around because of college, and yes Nik, I hate it!!

I guess you are kidding right? None hates college Smiley

Trial and Error my two best teachers Cool
Join us @ facebook or twitter

Last blog : Butterfly Marketing 2.0
aka J Love
Community Supporter ?
Bill Gates is my home boy
*****
Gender: Male
Posts: 886
1148 credits
Members referred : 4



« Reply #4 on: Apr 09, 2006, 10:14:45 pm »

hahaha.. i hate school as a general topic my good friend!


Last blog : phpHaze 1.59.1 in Development
I am a metal monkey!
Administrator
Community Supporter ?
Jedai Sword Master
*****
Gender: Male
Posts: 5799
46391 credits
Members referred : 3



« Reply #5 on: Apr 09, 2006, 10:32:48 pm »

That's reasonable I guess, but college is not only this, right?

There must be lots of cool parties with lots of girls, etc Smiley

Trial and Error my two best teachers Cool
Join us @ facebook or twitter

Last blog : Butterfly Marketing 2.0
Trackback URI for this entry : http://www.webdigity.com/trackback.php?topic=2219
Tags : forums phpBB mysql Bookmark this thread : Digg Del.icio.us Dzone more....

Pages: [1] Print 
Webdigity Webmaster Forums  >  Web Development  >  PhP
Topic: problems with modifying phpbb forum
« previous next »
Jump to:
User Area
Welcome, Guest. Please login or register.
Did you miss your activation email?
May 28, 2012, 11:20:41 am





Login with username, password and session length

Donate to our community, and get a permanent link back to your site!

Donate to our community, and get a permanent link back to your site!






Web Design Gallery · Whois Lookup · Pagerank · Tag Browsing · Lo-fi version · Syndication · Webmaster forum history · Advertise
Developed by HumanWorks © 2005 - 2012 Webdigity webmaster community · sublime directory
Webdigity Webmaster Forums | Powered by SMF 1.0.12. © 2001-2005, Lewis Media. All Rights Reserved.