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.php288
1 files changed, 126 insertions, 162 deletions
diff --git a/phpBB/admin/admin_forums.php b/phpBB/admin/admin_forums.php
index fbee871478..83dc2c43b8 100644
--- a/phpBB/admin/admin_forums.php
+++ b/phpBB/admin/admin_forums.php
@@ -22,191 +22,155 @@
*
***************************************************************************/
-if( $setmodules == 1 )
+if($setmodules==1)
{
- $filename = basename(__FILE__);
- $module['Forums']['Add_new'] = "$filename?mode=add";
- $module['Forums']['Manage'] = "$filename?mode=manage";
-
- return;
+ $file = basename(__FILE__);
+ $module['General']['forums'] = $file;
+ return;
}
-$phpbb_root_path = "./../";
-include($phpbb_root_path . 'extension.inc');
-include($phpbb_root_path . 'common.'.$phpEx);
-
-//
-// Start session management
//
-$userdata = session_pagestart($user_ip, PAGE_INDEX, $session_length);
-init_userprefs($userdata);
+// Include required files, get $phpEx and check permissions
//
-// End session management
-//
-if( !$userdata['session_logged_in'] )
+require('pagestart.inc');
+
+
+if($HTTP_POST_VARS['newcat'] != "")
{
- header("Location: ../login.$phpEx?forward_page=admin/");
+ $mode = 'newcat';
+ $catname = $HTTP_POST_VARS['catname'];
}
-else if( $userdata['user_level'] != ADMIN )
+if(isset($HTTP_POST_VARS['newforum']))
{
- message_die(GENERAL_MESSAGE, $lang['Not_admin']);
+ $mode = 'newcat';
+ $forumname = $HTTP_POST_VARS['forumname'];
+ list($cat_id) = $HTTP_POST_VARS['newforum'];
}
+
-include('page_header_admin.'.$phpEx);
-$mode = ($HTTP_GET_VARS['mode']) ? $HTTP_GET_VARS['mode'] : $HTTP_POST_VARS['mode'];
+$template_header = "admin/page_header.tpl";
-switch($mode)
+if(isset($mode))
{
- case 'manage':
+ switch($mode)
+ {
+ case 'newcat':
+ print "Newcat: $catname";
+ break;
+ case 'newforum':
+ print "Newforum: cat = $cat_id name = $forumname";
+ break;
+ }
- $template->set_filenames(array(
- "body" => "admin/admin_forum_manage.tpl")
- );
- $template->assign_vars(array("S_MANAGE_ACTION" => append_sid("admin_forums.$phpEx"),
- "L_FORUM" => $lang['Forum'],
- "L_MODERATOR" => $lang['Moderator'],
- "L_ORDER" => $lang['Order'],
- "POST_FORUM_URL" => POST_FORUM_URL,
- "L_REMOVE" => $lang['Remove'],
- "L_EDIT" => $lang['Edit'],
- "L_LOCK" => $lang['Lock'],
- "L_UPDATE_ORDER" => $lang['Update_order'],
- "L_ACTION" => $lang['Action']));
-
- $sql = "SELECT c.cat_id, c.cat_title, c.cat_order
- FROM " . CATEGORIES_TABLE . " c, " . FORUMS_TABLE . " f
- WHERE f.cat_id = c.cat_id
- GROUP BY c.cat_id, c.cat_title, c.cat_order
- ORDER BY c.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 f.forum_id, f.forum_name, f.forum_desc, f.cat_id, f.forum_order
- FROM " . FORUMS_TABLE . " f
- ORDER BY f.cat_id, f.forum_order";
+$template->set_filenames(array(
+ "body" => "admin/forums_body.tpl")
+);
- 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) )
+$viewcat = (!empty($HTTP_GET_VARS['viewcat'])) ? $HTTP_GET_VARS['viewcat'] : -1;
+
+//
+// Start page proper
+//
+$sql = "SELECT c.cat_id, c.cat_title, c.cat_order
+ FROM " . CATEGORIES_TABLE . " c, " . FORUMS_TABLE . " f
+ WHERE f.cat_id = c.cat_id
+ GROUP BY c.cat_id, c.cat_title, c.cat_order
+ ORDER BY c.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 f.*
+ FROM " . FORUMS_TABLE . " f
+ ORDER BY f.cat_id, f.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) )
+ {
+ message_die(GENERAL_MESSAGE, $lang['No_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'];
+
+ for($j = 0; $j < $total_forums; $j++)
+ {
+ $forum_id = $forum_rows[$j]['forum_id'];
+
+ if(!$gen_cat[$cat_id])
{
- message_die(GENERAL_MESSAGE, $lang['No_forums']);
+ $template->assign_block_vars("catrow", array(
+ "CAT_ID" => $cat_id,
+ "CAT_DESC" => stripslashes($category_rows[$i]['cat_title']),
+ "U_VIEWCAT" => append_sid("index.$phpEx?viewcat=$cat_id"),
+ "U_ADDFORUM" => append_sid("$PHPSELF?mode=addforum&cat=$cat_id"),
+ "ADDFORUM" => "Add Forum")
+ );
+ $gen_cat[$cat_id] = 1;
}
- $forum_rows = $db->sql_fetchrowset($q_forums);
//
- // Obtain list of moderators of each forum
+ // This should end up in the template using IF...ELSE...ENDIF
//
- $sql = "SELECT aa.forum_id, g.group_name, g.group_id, g.group_single_user, u.user_id, u.username
- FROM " . AUTH_ACCESS_TABLE . " aa, " . USER_GROUP_TABLE . " ug, " . GROUPS_TABLE . " g, " . USERS_TABLE . " u
- WHERE aa.auth_mod = " . TRUE . "
- AND ug.group_id = aa.group_id
- AND g.group_id = aa.group_id
- AND u.user_id = ug.user_id
- ORDER BY aa.forum_id, g.group_id, u.user_id";
-
- if(!$q_forum_mods = $db->sql_query($sql))
- {
- message_die(GENERAL_ERROR, "Could not query forum moderator information", "", __LINE__, __FILE__, $sql);
- }
- $forum_mods_list = $db->sql_fetchrowset($q_forum_mods);
+ $row_color == "#DDDDDD" ? $row_color = "#CCCCCC" : $row_color = "#DDDDDD";
+
+ $template->assign_block_vars("catrow.forumrow", array(
+ "FORUM_NAME" => stripslashes($forum_rows[$j]['forum_name']),
+ "FORUM_DESC" => stripslashes($forum_rows[$j]['forum_desc']),
+ "ROW_COLOR" => $row_color,
+ "U_VIEWFORUM" => append_sid("viewforum.$phpEx?" . POST_FORUM_URL . "=$forum_id&" . $forum_rows[$j]['forum_posts']))
+ );
+ } // for ... forums
+ $template->assign_block_vars("catrow.forumrow", array(
+ "S_NEWFORUM" => "<INPUT TYPE='text' NAME='forumname'> <INPUT TYPE='submit' NAME='newforum[$cat_id]' VALUE='New Forum'>")
+ );
+ } // for ... categories
+ $template->assign_block_vars("catrow", array(
+ "S_NEWCAT" => "<INPUT TYPE='text' NAME='catname'> <INPUT TYPE='submit' NAME='newcat' VALUE='New Category'>")
+ );
- for($i = 0; $i < count($forum_mods_list); $i++)
- {
- if($forum_mods_list[$i]['group_single_user'] || !$forum_mods_list[$i]['group_id'])
- {
- $forum_mods_single_user[$forum_mods_list[$i]['forum_id']][] = 1;
-
- $forum_mods_name[$forum_mods_list[$i]['forum_id']][] = $forum_mods_list[$i]['username'];
- $forum_mods_id[$forum_mods_list[$i]['forum_id']][] = $forum_mods_list[$i]['user_id'];
- }
- else
- {
- $forum_mods_single_user[$forum_mods_list[$i]['forum_id']][] = 0;
-
- $forum_mods_name[$forum_mods_list[$i]['forum_id']][] = $forum_mods_list[$i]['group_name'];
- $forum_mods_id[$forum_mods_list[$i]['forum_id']][] = $forum_mods_list[$i]['group_id'];
- }
- }
+}// if ... total_categories
+else
+{
+ message_die(GENERAL_MESSAGE, "There are no Categories or Forums on this board", "", __LINE__, __FILE__, $sql);
+}
- for($i = 0; $i < $total_categories; $i++)
- {
- $cat_id = $category_rows[$i]['cat_id'];
- $count = 0;
-
- for($j = 0; $j < $total_forums; $j++)
- {
- $forum_id = $forum_rows[$j]['forum_id'];
-
- if($forum_rows[$j]['cat_id'] == $cat_id )
- {
- if(!$gen_cat[$cat_id])
- {
- $template->assign_block_vars("catrow", array(
- "CAT_DESC" => stripslashes($category_rows[$i]['cat_title']))
- );
- $gen_cat[$cat_id] = 1;
- }
-
- $mod_count = 0;
- $moderators_links = "";
- for($mods = 0; $mods < count($forum_mods_name[$forum_id]); $mods++)
- {
- if( !strstr($moderators_links, $forum_mods_name[$forum_id][$mods]) )
- {
- if($mods > 0)
- {
- $moderators_links .= ", ";
- }
-
- if( !($mod_count % 2) && $mod_count != 0 )
- {
- $moderators_links .= "<br />";
- }
-
- if( $forum_mods_single_user[$forum_id][$mods])
- {
- $moderators_links .= "<a href=\"" . append_sid("profile.$phpEx?mode=viewprofile&amp;" . POST_USERS_URL . "=" . $forum_mods_id[$forum_id][$mods]) . "\">" . $forum_mods_name[$forum_id][$mods] . "</a>";
- }
- else
- {
- $moderators_links .= "<a href=\"" . append_sid("groupcp.$phpEx?" . POST_GROUPS_URL . "=" . $forum_mods_id[$forum_id][$mods]) . "\">" . $forum_mods_name[$forum_id][$mods] . "</a>";
- }
-
- $mod_count++;
- }
- }
- if($moderators_links == "")
- {
- $moderators_links = "&nbsp;";
- }
-
- $template->assign_block_vars("catrow.forumrow", array(
- "FORUM_NAME" => stripslashes($forum_rows[$j]['forum_name']),
- "FORUM_DESC" => stripslashes($forum_rows[$j]['forum_desc']),
- "MODERATORS" => $moderators_links,
- "FORUM_ID" => $forum_id,
- "FORUM_ORDER" => $forum_rows[$j]['forum_order'],
- "U_VIEWFORUM" => append_sid("viewforum.$phpEx?" . POST_FORUM_URL . "=$forum_id"))
- );
-
- $count++;
- }
- }
- } // for ... categories
- }
- $template->pparse("body");
- break;
+$othertext = "<a href='$PHPSELF?mode=addcat'>Add category</a><br>\n";
-}
+$template->assign_vars(array(
+ "S_FORMSTART" => "<FORM METHOD='post' ACTION='$PHP_SELF'>",
+ "S_FORMEND" => "</FORM>"
+ )
+);
+
+//
+// Generate the page
+//
+$template->pparse("body");
+
+//
+// Page Footer
+//
include('page_footer_admin.'.$phpEx);
-?> \ No newline at end of file
+?>