📄 forums.php
字号:
<?php
/*
[DISCUZ!] forums.php - modifing forums settings of Discuz! admincp
This is NOT a freeware, use is subject to license terms
Version: 2.0.0
Author: Crossday (info@discuz.net)
Copyright: Crossday Studio (www.crossday.com)
Last Modified: 2002/12/5 10:00
*/
if(!defined('IN_DISCUZ')) {
exit('Access Denied');
}
cpheader();
if($action == "forumadd") {
if((!$catsubmit && !$forumsubmit)) {
$groupselect = $forumselect = "<select name=\"fup\">\n<option value=\"0\" selected=\"selected\"> - 无 - </option>\n";
$query = $db->query("SELECT fid, name, type FROM $table_forums WHERE type<>'sub' ORDER BY displayorder");
while($fup = $db->fetch_array($query)) {
if($fup[type] == "group") {
$groupselect .= "<option value=\"$fup[fid]\">$fup[name]</option>\n";
} else {
$forumselect .= "<option value=\"$fup[fid]\">$fup[name]</option>\n";
}
}
$groupselect .= "</select>";
$forumselect .= "</select>";
?>
<table cellspacing="0" cellpadding="0" border="0" width="90%" align="center">
<tr><td bgcolor="<?=BORDERCOLOR?>">
<table border="0" cellspacing="<?=BORDERWIDTH?>" cellpadding="<?=TABLESPACE?>" width="100%">
<tr class="header"><td>特别提示</td></tr>
<tr bgcolor="<?=ALTBG1?>"><td>
<br><ul><li>论坛或分类的名称可包含并显示 html 代码。</ul>
</td></tr></table></td></tr></table>
<br><form method="post" action="admincp.php?action=forumadd&add=category">
<table cellspacing="0" cellpadding="0" border="0" width="90%" align="center">
<tr><td bgcolor="<?=BORDERCOLOR?>">
<table border="0" cellspacing="<?=BORDERWIDTH?>" cellpadding="<?=TABLESPACE?>" width="100%">
<tr class="header"><td colspan="3">添加新分类</td></tr>
<tr align="center"><td bgcolor="<?=ALTBG1?>" width="15%">分类名称:</td>
<td bgcolor="<?=ALTBG2?>" width="70%"><input type="text" name="newcat" value="新分类名称" size="40"></td>
<td bgcolor="<?=ALTBG1?>" width="15%"><input type="submit" name="catsubmit" value="添 加"></td></tr>
</table></td></tr></table></form>
<form method="post" action="admincp.php?action=forumadd&add=forum">
<table cellspacing="0" cellpadding="0" border="0" width="90%" align="center">
<tr><td bgcolor="<?=BORDERCOLOR?>">
<table border="0" cellspacing="<?=BORDERWIDTH?>" cellpadding="<?=TABLESPACE?>" width="100%">
<tr class="header"><td colspan="5">添加新论坛</td></tr>
<tr align="center"><td bgcolor="<?=ALTBG1?>" width="15%">论坛名称:</td>
<td bgcolor="<?=ALTBG2?>" width="28%"><input type="text" name="newforum" value="新论坛名称" size="20"></td>
<td bgcolor="<?=ALTBG1?>" width="15%">上级分类:</td>
<td bgcolor="<?=ALTBG2?>" width="27%"><?=$groupselect?></td>
<td bgcolor="<?=ALTBG1?>" width="15%"><input type="submit" name="forumsubmit" value="添 加"></td></tr>
</table></td></tr></table></form>
<form method="post" action="admincp.php?action=forumadd&add=forum">
<table cellspacing="0" cellpadding="0" border="0" width="90%" align="center">
<tr><td bgcolor="<?=BORDERCOLOR?>">
<table border="0" cellspacing="<?=BORDERWIDTH?>" cellpadding="<?=TABLESPACE?>" width="100%">
<tr class="header"><td colspan="5">添加新子论坛</td></tr>
<tr align="center"><td bgcolor="<?=ALTBG1?>" width="15%">子论坛名称:</td>
<td bgcolor="<?=ALTBG2?>" width="28%"><input type="text" name="newforum" value="新论坛名称" size="20"></td>
<td bgcolor="<?=ALTBG1?>" width="15%">上级论坛:</td>
<td bgcolor="<?=ALTBG2?>" width="27%"><?=$forumselect?></td>
<td bgcolor="<?=ALTBG1?>" width="15%"><input type="submit" name="forumsubmit" value="添 加"></td></tr>
</table></td></tr></table></form><br>
<?
} elseif($catsubmit) {
$db->query("INSERT INTO $table_forums (type, name, status)
VALUES ('group', '$newcat', '1')");
updatecache("forums");
cpmsg("添加分类 <b>$newcat</b> 成功。");
} elseif($forumsubmit) {
$query = $db->query("SELECT type FROM $table_forums WHERE fid='$fup'");
$type = $db->result($query, 0) == "forum" ? "sub" : "forum";
$db->query("INSERT INTO $table_forums (fup, type, name, status, allowsmilies, allowbbcode, allowimgcode)
VALUES ('$fup', '$type', '$newforum', '1', '1', '1', '1')");
updatecache("forums");
cpmsg("添加论坛 <b>$newforum</b> 成功。");
}
} elseif($action == "forumsedit") {
if(!$editsubmit) {
?>
<table cellspacing="0" cellpadding="0" border="0" width="<?=TABLEWIDTH?>" align="center">
<tr><td bgcolor="<?=BORDERCOLOR?>">
<table border="0" cellspacing="<?=BORDERWIDTH?>" cellpadding="<?=TABLESPACE?>" width="100%">
<tr class="header"><td>论坛编辑 - 多个版主间请用半角逗号 "," 分割</td></tr>
<tr><td bgcolor="<?=ALTBG1?>"><br>
<form method="post" action="admincp.php?action=forumsedit">
<?
$modsorig = $comma = "";
$query = $db->query("SELECT fid, type, status, name, fup, displayorder, moderator FROM $table_forums ORDER BY displayorder");
while($forum = $db->fetch_array($query)) {
$forums[] = $forum;
$modsorig .= $comma.$forum[moderator];
}
for($i = 0; $i < count($forums); $i++) {
if($forums[$i][type] == "group") {
echo "<ul>";
showforum($forums[$i], 1, "group");
for($j = 0; $j < count($forums); $j++) {
if($forums[$j][fup] == $forums[$i][fid] && $forums[$j][type] == "forum") {
echo "<ul>";
showforum($forums[$j], 2);
for($k = 0; $k < count($forums); $k++) {
if($forums[$k][fup] == $forums[$j][fid] && $forums[$k][type] == "sub") {
echo "<ul>";
showforum($forums[$k], 3, "sub");
echo "</ul>";
}
}
echo "</ul>";
}
}
echo "</ul>";
} elseif(!$forums[$i][fup] && $forums[$i][type] == "forum") {
echo "<ul>";
showforum($forums[$i], 1);
for($j = 0; $j < count($forums); $j++) {
if($forums[$j][fup] == $forums[$i][fid] && $forums[$j][type] == "sub") {
echo "<ul>";
showforum($forums[$j], 2, "sub");
echo "</ul>";
}
}
echo "</ul>";
}
}
echo "<input type=\"hidden\" name=\"modsorig\" value=\"$modsorig\"><br><center>\n".
"<input type=\"submit\" name=\"editsubmit\" value=\"更新论坛设置\"></center><br></td></tr></table></td></tr></table>\n";
} else {
if(is_array($order)) {
$modlist = $comma = '';
foreach($order as $fid => $value) {
$modlist .= $comma.$moderator[$fid];
$comma = ',';
$db->query("UPDATE $table_forums SET moderator='$moderator[$fid]', displayorder='$order[$fid]' WHERE fid='$fid'");
}
}
updatecache("forums");
$modsorig = "'".str_replace(",", "', '", str_replace(" ", "", $modsorig))."'";
$modlist = "'".str_replace(",", "', '", str_replace(" ", "", $modlist))."'";
$db->query("UPDATE $table_members SET status='Member' WHERE status<>'Admin' AND status='Moderator' AND username IN ($modsorig)");
$db->query("UPDATE $table_members SET status='Moderator' WHERE status<>'Admin' AND status<>'SuperMod' AND username IN ($modlist)");
cpmsg("论坛设置成功更新。");
}
} elseif($action == "forumsmerge") {
if(!$mergesubmit || $source == $target || !$source || !$target) {
$forumselect = "<select name=\"%s\">\n<option value=\"0\" selected=\"selected\"> - 无 - </option>\n";
$query = $db->query("SELECT fid, name FROM $table_forums WHERE type<>'group' ORDER BY displayorder");
while($forum = $db->fetch_array($query)) {
$forumselect .= "<option value=\"$forum[fid]\">$forum[name]</option>\n";
}
$forumselect .= "</select>";
?>
<br><br><br><br><br>
<form method="post" action="admincp.php?action=forumsmerge">
<table cellspacing="0" cellpadding="0" border="0" width="85%" align="center">
<tr><td bgcolor="<?=BORDERCOLOR?>">
<table border="0" cellspacing="<?=BORDERWIDTH?>" cellpadding="<?=TABLESPACE?>" width="100%">
<tr class="header"><td colspan="3">合并论坛 - 源论坛的贴子全部转入目标论坛,同时删除源论坛</td></tr>
<tr align="center"><td bgcolor="<?=ALTBG1?>" width="40%">源论坛:</td>
<td bgcolor="<?=ALTBG2?>" width="60%"><?=sprintf($forumselect, "source")?></td></tr>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -