File: /home/awaldron/www/archive/demo/admin/forum_manage.php
<?php
session_start();
include("../_functions.php");
function rerank_category($cat_id) {
$r = quickRSET("SELECT * FROM tbl_forum_cat_board WHERE cat_id=".$cat_id." ORDER BY rank ASC");
for ($i=0; $i < count($r); $i++) {
$this_rank = $i + 1;
quickUPDATE("UPDATE tbl_forum_cat_board SET rank=".$this_rank." WHERE cat_id=".$r[$i][cat_id]." AND notice_type_id=".$r[$i][notice_type_id]);
}
}
function rerank_forum_cats($fid) {
$r = quickRSET("SELECT * FROM tbl_forum_cat WHERE forum_id=".$fid." ORDER BY cat_rank ASC");
for ($i=0; $i < count($r); $i++) {
$this_rank = $i + 1;
quickUPDATE("UPDATE tbl_forum_cat SET cat_rank=".$this_rank." WHERE cat_id=".$r[$i][cat_id]);
}
}
dbconnect();
if (!is_logged()) auto_login();
echo "<html>\n";
echo "<head>\n";
echo "<title>".COMPANY_NAME." : Manage Discussion Forum</title>\n";
echo "<script language=\"JavaScript\" type=\"text/javascript\">\n";
echo "<!--\n";
echo "function openWindow(theURL,winName,features) { //v2.0\n";
echo " window.open(theURL,winName,features);\n";
echo "}\n";
echo "function confirm_cat_delete(id) {\n";
echo " input_box=confirm(\"Are you sure you want to delete this category from the Forum?\");\n";
echo " if (input_box==true) {\n";
echo " self.location=\"forum_manage.php?delcat=\"+id;\n";
echo " }\n";
echo "}\n";
echo "function confirm_nb_delete(id) {\n";
echo " input_box=confirm(\"Are you sure you want to remove this Noticeboard from its Forum Category?\");\n";
echo " if (input_box==true) {\n";
echo " self.location=\"forum_manage.php?delnb=\"+id;\n";
echo " }\n";
echo "}\n";
echo "-->\n";
echo "</script>\n";
echo "</head>\n";
echo "<link rel=\"stylesheet\" type=\"text/css\" href=\"../default.css\">\n";
echo "<body style=\"margin:15px;\">\n";
if (!admin_panel($_SESSION["auth_user"])) {
echo "<br><br><br><br>".error("You must be logged in to access the administration panel!");
} else {
if (isset($_GET[delcat])) {
$fid = quickSQL("SELECT forum_id FROM tbl_forum_cat WHERE cat_id=".$_GET[delcat]);
quickUPDATE("DELETE FROM tbl_forum_cat_board WHERE cat_id=".$_GET[delcat]);
quickUPDATE("DELETE FROM tbl_forum_cat WHERE cat_id=".$_GET[delcat]);
rerank_forum_cats($fid);
}
if (isset($_GET[delnb])) {
$cid = quickSQL("SELECT cat_id FROM tbl_forum_cat_board WHERE notice_type_id=".$_GET[delcat]);
quickUPDATE("DELETE FROM tbl_forum_cat_board WHERE notice_type_id=".$_GET[delnb]);
rerank_category($cid);
}
if (isset($_POST[addboard2cat])) {
quickUPDATE("INSERT INTO tbl_forum_cat_board (cat_id, notice_type_id, rank) VALUES(".$_POST[cat_id].",".$_POST[notice_type_id].",9999)");
rerank_category($_POST[cat_id]);
}
if (isset($_POST[addnewcat])) {
$catrank = quickSQL("SELECT COUNT(cat_id) FROM tbl_forum_cat WHERE forum_id=".$_POST[forum_id]);
$catrank++;
quickUPDATE("INSERT INTO tbl_forum_cat (cat_name, cat_rank, forum_id) VALUES('".$_POST[catname]."',".$catrank.",".$_POST[forum_id].")");
}
if (isset($_GET["dir"]) && isset($_GET[cat]) && isset($_GET[bid]) && isset($_GET[rank])) {
if ($_GET["dir"] == "up") {
$step1 = quickUPDATE("UPDATE tbl_forum_cat_board SET rank=8888 WHERE cat_id=".$_GET[cat]." AND notice_type_id=".$_GET[bid]." AND rank=".$_GET[rank]);
$step2 = quickUPDATE("UPDATE tbl_forum_cat_board SET rank=".$_GET[rank]." WHERE cat_id=".$_GET[cat]." AND rank=".($_GET[rank]-1));
$step2 = quickUPDATE("UPDATE tbl_forum_cat_board SET rank=".($_GET[rank]-1)." WHERE cat_id=".$_GET[cat]." AND rank=8888");
} else if ($_GET["dir"] == "dn") {
$step1 = quickUPDATE("UPDATE tbl_forum_cat_board SET rank=8888 WHERE cat_id=".$_GET[cat]." AND notice_type_id=".$_GET[bid]." AND rank=".$_GET[rank]);
$step2 = quickUPDATE("UPDATE tbl_forum_cat_board SET rank=".$_GET[rank]." WHERE cat_id=".$_GET[cat]." AND rank=".($_GET[rank]+1));
$step2 = quickUPDATE("UPDATE tbl_forum_cat_board SET rank=".($_GET[rank]+1)." WHERE cat_id=".$_GET[cat]." AND rank=8888");
}
}
if (isset($_GET["dir"]) && isset($_GET[cat]) && isset($_GET[fid]) && isset($_GET[rank])) {
if ($_GET["dir"] == "up") {
$step1 = quickUPDATE("UPDATE tbl_forum_cat SET cat_rank=8888 WHERE forum_id=".$_GET[fid]." AND cat_rank=".$_GET[rank]);
$step2 = quickUPDATE("UPDATE tbl_forum_cat SET cat_rank=".$_GET[rank]." WHERE forum_id=".$_GET[fid]." AND cat_rank=".($_GET[rank]-1));
$step2 = quickUPDATE("UPDATE tbl_forum_cat SET cat_rank=".($_GET[rank]-1)." WHERE forum_id=".$_GET[fid]." AND cat_rank=8888");
} else if ($_GET["dir"] == "dn") {
$step1 = quickUPDATE("UPDATE tbl_forum_cat SET cat_rank=8888 WHERE forum_id=".$_GET[fid]." AND cat_rank=".$_GET[rank]);
$step2 = quickUPDATE("UPDATE tbl_forum_cat SET cat_rank=".$_GET[rank]." WHERE forum_id=".$_GET[fid]." AND cat_rank=".($_GET[rank]+1));
$step2 = quickUPDATE("UPDATE tbl_forum_cat SET cat_rank=".($_GET[rank]+1)." WHERE forum_id=".$_GET[fid]." AND cat_rank=8888");
}
}
echo "<P><img src=\"/gui/icons/cog.gif\" align=\"left\">\n";
echo "<div class=\"headline\">Manage Discussion Forum</div>\n";
echo "<P>From this control panel, you have the ability to add/remove forum categories and add/remove noticeboards to/from the forum.\n";
echo "<br><br><br>\n";
// Make dropdown of noticeboards not on forum
$board_opts = "";
$boards = quickRSET("SELECT notice_type_id, notice_type_name FROM tbl_notice_types");
for ($i=0; $i < count($boards); $i++) {
if (quickSQL("SELECT notice_type_id FROM tbl_forum_cat_board WHERE notice_type_id=".$boards[$i][notice_type_id]) === FALSE) {
$board_opts .= "<option value=\"".$boards[$i][notice_type_id]."\">".$boards[$i][notice_type_name]."</option>\n";
}
}
// Make dropdown of forum categories
$cat_opts = "";
$cats = quickRSET("SELECT cat_id, cat_name FROM tbl_forum_cat WHERE forum_id=1");
for ($i=0; $i < count($cats); $i++) {
$cat_opts .= "<option value=\"".$cats[$i][cat_id]."\">".$cats[$i][cat_name]."</option>\n";
}
// Form to add a new category
echo "<br><br><b>Add a New Forum Category:</b>\n";
echo "<br><table border=0><tr>\n";
echo "<form action=\"".$_SERVER["PHP_SELF"]."\" method=\"post\">\n";
echo input_hidden("forum_id","1");
echo "<td>Category Name: </td><td><input type=\"text\" name=\"catname\" size=50></td>";
echo "<td>".input_submit("addnewcat","Add Category")."</td>";
echo "</form></tr></table>\n";
// Form to add a noticeboard to a category
echo "<br><br><b>Add a Noticeboard to a Forum Category:</b>\n";
echo "<br><table border=0><tr>\n";
echo "<form action=\"".$_SERVER["PHP_SELF"]."\" method=\"post\">\n";
echo "<td>Add Noticeboard</td><td><SELECT name=\"notice_type_id\">".$board_opts."</SELECT></td>";
echo "<td>to Forum Category</td><td><SELECT name=\"cat_id\">".$cat_opts."</SELECT></td>";
echo "<td>".input_submit("addboard2cat","GO")."</td>";
echo "</form></tr></table>\n";
echo "<br><br><br><table class=\"textdn\" border=0 cellspacing=1 cellpadding=3 bgcolor=\"#".COLOR_TBAR."\" style=\"margin-left:25px;\">\n";
echo "<tr class=\"header\">\n";
echo "<td>Type</td>\n";
echo "<td>Forum</td>\n";
echo "<td>Rank</td>\n";
echo "<td>Actions</td>\n";
echo "</tr>\n";
$cats = quickRSET("SELECT * FROM tbl_forum_cat WHERE forum_id=1 ORDER BY cat_rank ASC");
for ($i=0; $i < count($cats); $i++) {
echo "<tr bgcolor=\"#FFCC00\">\n";
echo "<td><b>Category</b></td>\n";
echo "<td><b>".$cats[$i][cat_name]."</b></td>\n";
echo "<td align=\"center\"><b>".$cats[$i][cat_rank]."</b></td>\n";
echo "<td align=\"center\"><b>";
if (($cats[$i][cat_rank] == 1) && ($cats[$i][cat_rank] == count($cats))) {
echo "<img src=\"/gui/icons/arr_up_off.gif\" border=0> <img src=\"/gui/icons/arr_dn_off.gif\" border=0> <a href=\"javascript:confirm_cat_delete(".$cats[$i][cat_id].");\"><img src=\"/gui/icons/sm_close.gif\" border=0></a>\n";
} else if ($cats[$i][cat_rank] == 1) {
echo "<img src=\"/gui/icons/arr_up_off.gif\" border=0> <a href=\"".$_SERVER["PHP_SELF"]."?cat=".$cats[$i][cat_id]."&fid=".$cats[$i][forum_id]."&rank=".$cats[$i][cat_rank]."&dir=dn\"><img src=\"/gui/icons/arr_dn.gif\" border=0></a> <a href=\"javascript:confirm_cat_delete(".$cats[$i][cat_id].");\"><img src=\"/gui/icons/sm_close.gif\" border=0></a>\n";
} else if ($cats[$i][cat_rank] == count($cats)) {
echo "<a href=\"".$_SERVER["PHP_SELF"]."?cat=".$cats[$i][cat_id]."&fid=".$cats[$i][forum_id]."&rank=".$cats[$i][cat_rank]."&dir=up\"><img src=\"/gui/icons/arr_up.gif\" border=0></a> <img src=\"/gui/icons/arr_dn_off.gif\" border=0> <a href=\"javascript:confirm_cat_delete(".$cats[$i][cat_id].");\"><img src=\"/gui/icons/sm_close.gif\" border=0></a>\n";
} else {
echo "<a href=\"".$_SERVER["PHP_SELF"]."?cat=".$cats[$i][cat_id]."&fid=".$cats[$i][forum_id]."&rank=".$cats[$i][cat_rank]."&dir=up\"><img src=\"/gui/icons/arr_up.gif\" border=0></a> <a href=\"".$_SERVER["PHP_SELF"]."?cat=".$cats[$i][cat_id]."&fid=".$cats[$i][forum_id]."&rank=".$cats[$i][cat_rank]."&dir=dn\"><img src=\"/gui/icons/arr_dn.gif\" border=0></a> <a href=\"javascript:confirm_cat_delete(".$cats[$i][cat_id].");\"><img src=\"/gui/icons/sm_close.gif\" border=0></a>\n";
}
echo "</b></td>\n";
echo "</tr>\n";
$boards = quickRSET("SELECT * FROM tbl_forum_cat_board as A, tbl_notice_types as B WHERE A.cat_id=".$cats[$i][cat_id]." AND A.notice_type_id = B.notice_type_id ORDER BY A.rank ASC");
for ($j=0; $j < count($boards); $j++) {
echo "<tr".($j%2==0?" bgcolor=#FFFFFF":" bgcolor=#EEEEEE").">\n";
echo "<td>".($boards[$j][notice_type_discuss]==1?"Forum":"Board")."</td>\n";
echo "<td>".$boards[$j][notice_type_name]."</td>\n";
echo "<td align=\"center\">".$boards[$j][rank]."</td>\n";
echo "<td align=\"center\">";
if (($boards[$j][rank] == 1) && ($boards[$j][rank] == count($boards))) {
echo "<img src=\"/gui/icons/arr_up_off.gif\" border=0> <img src=\"/gui/icons/arr_dn_off.gif\" border=0> <a href=\"javascript:confirm_nb_delete(".$boards[$j][notice_type_id].");\"><img src=\"/gui/icons/sm_close.gif\" border=0></a>\n";
} else if ($boards[$j][rank] == 1) {
echo "<img src=\"/gui/icons/arr_up_off.gif\" border=0> <a href=\"".$_SERVER["PHP_SELF"]."?cat=".$cats[$i][cat_id]."&bid=".$boards[$j][notice_type_id]."&rank=".$boards[$j][rank]."&dir=dn\"><img src=\"/gui/icons/arr_dn.gif\" border=0></a> <a href=\"javascript:confirm_nb_delete(".$boards[$j][notice_type_id].");\"><img src=\"/gui/icons/sm_close.gif\" border=0></a>\n";
} else if ($boards[$j][rank] == count($boards)) {
echo "<a href=\"".$_SERVER["PHP_SELF"]."?cat=".$cats[$i][cat_id]."&bid=".$boards[$j][notice_type_id]."&rank=".$boards[$j][rank]."&dir=up\"><img src=\"/gui/icons/arr_up.gif\" border=0></a> <img src=\"/gui/icons/arr_dn_off.gif\" border=0> <a href=\"javascript:confirm_nb_delete(".$boards[$j][notice_type_id].");\"><img src=\"/gui/icons/sm_close.gif\" border=0></a>\n";
} else {
echo "<a href=\"".$_SERVER["PHP_SELF"]."?cat=".$cats[$i][cat_id]."&bid=".$boards[$j][notice_type_id]."&rank=".$boards[$j][rank]."&dir=up\"><img src=\"/gui/icons/arr_up.gif\" border=0></a> <a href=\"".$_SERVER["PHP_SELF"]."?cat=".$cats[$i][cat_id]."&bid=".$boards[$j][notice_type_id]."&rank=".$boards[$j][rank]."&dir=dn\"><img src=\"/gui/icons/arr_dn.gif\" border=0></a> <a href=\"javascript:confirm_nb_delete(".$boards[$j][notice_type_id].");\"><img src=\"/gui/icons/sm_close.gif\" border=0></a>\n";
}
echo "</td>\n";
echo "</tr>\n";
}
}
echo "</table>\n";
echo "<br><br><br><br>\n";
echo "<center>Powered by <a href=\"http://www.intrabreeze.com\">IntraBreeze</a> © 2005 IntraBreeze, LLC</center>\n";
}
echo "</body>\n</html>\n";
?>