📄 forums.inc.php
字号:
<?php
/*
[DISCUZ!] admin/forums.inc.php - modifing forums settings of Discuz! admincp
This is NOT a freeware, use is subject to license terms
Version: 4.0.0
Web: http://www.comsenz.com
Copyright: 2001-2005 Comsenz Technology Ltd.
Last Modified: 2005-4-12 15:16
*/
if(!defined('IN_DISCUZ') || !isset($PHP_SELF) || !preg_match("/[\/\\\\]admincp\.php$/", $PHP_SELF)) {
exit('Access Denied');
}
cpheader();
if($action == 'forumadd') {
if((!submitcheck('catsubmit') && !submitcheck('forumsubmit'))) {
$groupselect = $forumselect = "<select name=\"fup\">\n<option value=\"0\" selected=\"selected\"> - $lang[none] - </option>\n";
$query = $db->query("SELECT fid, name, type FROM {$tablepre}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="<?=INNERBORDERWIDTH?>" cellpadding="<?=TABLESPACE?>" width="90%" align="center" class="tableborder">
<tr class="header"><td><?=$lang['tips']?></td></tr>
<tr bgcolor="<?=ALTBG1?>"><td>
<br><?=$lang['forums_add_tips']?>
</td></tr></table>
<br><form method="post" action="admincp.php?action=forumadd&add=category">
<input type="hidden" name="formhash" value="<?=FORMHASH?>">
<table cellspacing="<?=INNERBORDERWIDTH?>" cellpadding="<?=TABLESPACE?>" width="90%" align="center" class="tableborder">
<tr class="header"><td colspan="3"><?=$lang['forums_add_category']?></td></tr>
<tr align="center"><td bgcolor="<?=ALTBG1?>" width="15%"><?=$lang['name']?>:</td>
<td bgcolor="<?=ALTBG2?>" width="70%"><input type="text" name="newcat" value="Name of New Category" size="40"></td>
<td bgcolor="<?=ALTBG1?>" width="15%"><input type="submit" name="catsubmit" value="<?=$lang['submit']?>"></td></tr>
</table></form>
<form method="post" action="admincp.php?action=forumadd&add=forum">
<input type="hidden" name="formhash" value="<?=FORMHASH?>">
<table cellspacing="<?=INNERBORDERWIDTH?>" cellpadding="<?=TABLESPACE?>" width="90%" align="center" class="tableborder">
<tr class="header"><td colspan="5"><?=$lang['forums_add_forum']?></td></tr>
<tr align="center"><td bgcolor="<?=ALTBG1?>" width="15%"><?=$lang['name']?>:</td>
<td bgcolor="<?=ALTBG2?>" width="28%"><input type="text" name="newforum" value="Name of New Forum" size="20"></td>
<td bgcolor="<?=ALTBG1?>" width="15%"><?=$lang['forums_add_parent_category']?>:</td>
<td bgcolor="<?=ALTBG2?>" width="27%"><?=$groupselect?></td>
<td bgcolor="<?=ALTBG1?>" width="15%"><input type="submit" name="forumsubmit" value="<?=$lang['submit']?>"></td></tr>
</table></form>
<form method="post" action="admincp.php?action=forumadd&add=forum">
<input type="hidden" name="formhash" value="<?=FORMHASH?>">
<table cellspacing="<?=INNERBORDERWIDTH?>" cellpadding="<?=TABLESPACE?>" width="90%" align="center" class="tableborder">
<tr class="header"><td colspan="5"><?=$lang['forums_add_sub']?></td></tr>
<tr align="center"><td bgcolor="<?=ALTBG1?>" width="15%"><?=$lang['name']?>:</td>
<td bgcolor="<?=ALTBG2?>" width="28%"><input type="text" name="newforum" value="Name of New Sub Forum" size="20"></td>
<td bgcolor="<?=ALTBG1?>" width="15%"><?=$lang['forums_add_parent_forum']?>:</td>
<td bgcolor="<?=ALTBG2?>" width="27%"><?=$forumselect?></td>
<td bgcolor="<?=ALTBG1?>" width="15%"><input type="submit" name="forumsubmit" value="<?=$lang['submit']?>"></td></tr>
</table></form><br>
<?
} elseif(submitcheck('catsubmit')) {
$db->query("INSERT INTO {$tablepre}forums (type, name, status)
VALUES ('group', '$newcat', '1')");
$fid = $db->insert_id();
$db->query("INSERT INTO {$tablepre}forumfields (fid)
VALUES ('$fid')");
updatecache('forums');
cpmsg('forums_add_category_succeed', 'admincp.php?action=forumsedit');
} elseif(submitcheck('forumsubmit')) {
$modarray = array();
$query = $db->query("SELECT fup, type, inheritedmod FROM {$tablepre}forums WHERE fid='$fup'");
if(!$forum = $db->fetch_array($query)) {
$fup = 0;
}
$type = $forum['type'] == 'forum' ? 'sub' : 'forum';
$db->query("INSERT INTO {$tablepre}forums (fup, type, name, status, allowsmilies, allowbbcode, allowimgcode, allowblog, allowtrade)
VALUES ('$fup', '$type', '$newforum', '1', '1', '1', '1', '1', '3')");
$fid = $db->insert_id();
$db->query("INSERT INTO {$tablepre}forumfields (fid)
VALUES ('$fid')");
$query = $db->query("SELECT uid, inherited FROM {$tablepre}moderators WHERE fid='$fup'");
while($mod = $db->fetch_array($query)) {
if($mod['inherited'] || $forum['inheritedmod']) {
$db->query("REPLACE INTO {$tablepre}moderators (uid, fid, inherited)
VALUES ('$mod[uid]', '$fid', '1')");
}
}
updatecache('forums');
cpmsg('forums_add_forum_succeed', 'admincp.php?action=forumsedit');
}
} elseif($action == 'forumsedit') {
if(!submitcheck('editsubmit')) {
?>
<table cellspacing="<?=INNERBORDERWIDTH?>" cellpadding="<?=TABLESPACE?>" width="95%" align="center" class="tableborder">
<tr class="header"><td><?=$lang['tips']?></td></tr>
<tr bgcolor="<?=ALTBG1?>"><td>
<br><?=$lang['forums_tips']?>
</td></tr></table><br><br>
<table cellspacing="<?=INNERBORDERWIDTH?>" cellpadding="<?=TABLESPACE?>" width="95%" align="center" class="tableborder">
<tr class="header"><td><?=$lang['forums_edit']?></td></tr>
<tr><td bgcolor="<?=ALTBG1?>"><br>
<form method="post" action="admincp.php?action=forumsedit">
<input type="hidden" name="formhash" value="<?=FORMHASH?>">
<?
$forums = $showedforums = array();
$query = $db->query("SELECT f.fid, f.type, f.status, f.name, f.fup, f.displayorder, f.inheritedmod, ff.moderators
FROM {$tablepre}forums f LEFT JOIN {$tablepre}forumfields ff USING(fid)
ORDER BY f.type<>'group', f.displayorder");
while($forum = $db->fetch_array($query)) {
$forums[] = $forum;
}
for($i = 0; $i < count($forums); $i++) {
if($forums[$i]['type'] == 'group') {
echo '<ul>'.showforum($i, 'group');
for($j = 0; $j < count($forums); $j++) {
if($forums[$j]['fup'] == $forums[$i]['fid'] && $forums[$j]['type'] == 'forum') {
echo '<ul>'.showforum($j);
for($k = 0; $k < count($forums); $k++) {
if($forums[$k]['fup'] == $forums[$j]['fid'] && $forums[$k]['type'] == 'sub') {
echo '<ul>'.showforum($k, 'sub').'</ul>';
}
}
echo '</ul>';
}
}
echo '</ul>';
} elseif(!$forums[$i]['fup'] && $forums[$i]['type'] == 'forum') {
echo '<ul>'.showforum($i);
for($j = 0; $j < count($forums); $j++) {
if($forums[$j]['fup'] == $forums[$i]['fid'] && $forums[$j]['type'] == 'sub') {
echo '<ul>'.showforum($j, 'sub').'</ul>';
}
}
echo '</ul>';
}
}
foreach($forums as $key => $forum) {
if(!in_array($key, $showedforums)) {
$db->query("UPDATE {$tablepre}forums SET fup='0', type='forum' WHERE fid='$forum[fid]'");
echo '<ul>'.showforum($key).'</ul>';
}
}
echo "<br><center><input type=\"submit\" name=\"editsubmit\" value=\"$lang[submit]\"></center><br></td></tr></table>\n";
} else {
// read from groups
$usergroups = array();
$query = $db->query("SELECT groupid, type, creditshigher, creditslower FROM {$tablepre}usergroups");
while($group = $db->fetch_array($query)) {
$usergroups[$group['groupid']] = $group;
}
if(is_array($order)) {
foreach($order as $fid => $value) {
$db->query("UPDATE {$tablepre}forums SET displayorder='$order[$fid]' WHERE fid='$fid'");
}
}
updatecache('forums');
cpmsg('forums_update_succeed', 'admincp.php?action=forumsedit');
}
} elseif($action == 'moderators' && $fid) {
if(!submitcheck('modsubmit')) {
$moderators = '';
$query = $db->query("SELECT m.username, mo.* FROM {$tablepre}members m, {$tablepre}moderators mo WHERE mo.fid='$fid' AND m.uid=mo.uid ORDER BY mo.inherited, mo.displayorder");
while($mod = $db->fetch_array($query)) {
$moderators .= "<tr align=\"center\"><td bgcolor=\"".ALTBG1."\"><input type=\"checkbox\" name=\"delete[]\" value=\"$mod[uid]\" ".($mod['inherited'] ? 'disabled' : '').">\n".
"<td bgcolor=\"".ALTBG2."\"><a href=\"viewpro.php?uid=$mod[uid]\" target=\"_blank\">$mod[username]</a></td>\n".
"<td bgcolor=\"".ALTBG1."\"><input type=\"text\" name=\"displayordernew[$mod[uid]]\" value=\"$mod[displayorder]\" size=\"2\"></td>\n".
"<td bgcolor=\"".ALTBG2."\">".($mod['inherited'] ? '<b>'.$lang['yes'].'</b>' : $lang['no'])."</td></tr>\n";
}
if($forum['type'] == 'group' || $forum['type'] == 'sub') {
$checked = $forum['type'] == 'group' ? 'checked' : '';
$disabled = 'disabled';
} else {
$checked = $forum['inheritedmod'] ? 'checked' : '';
$disabled = '';
}
?>
<table cellspacing="<?=INNERBORDERWIDTH?>" cellpadding="<?=TABLESPACE?>" width="80%" align="center" class="tableborder">
<tr class="header"><td><?=$lang['tips']?></td></tr>
<tr bgcolor="<?=ALTBG1?>"><td>
<br><?=$lang['forums_moderators_tips']?>
</td></tr></table>
<form method="post" action="admincp.php?action=moderators&fid=<?=$fid?>">
<input type="hidden" name="formhash" value="<?=FORMHASH?>">
<table cellspacing="<?=INNERBORDERWIDTH?>" cellpadding="<?=TABLESPACE?>" width="80%" align="center" class="tableborder">
<tr class="header"><td colspan="4"><?=$lang['forums_moderators_edit']?> - <?=$forum['name']?></td></tr>
<tr align="center" class="category"><td><?=$lang['del']?></td><td><?=$lang['username']?></td><td><?=$lang['display_order']?></td><td><?=$lang['forums_moderators_inherited']?></td></tr>
<?=$moderators?>
<tr><td colspan="4" class="singleborder"> </td></tr>
<tr align="center"><td bgcolor="<?=ALTBG1?>"><?=$lang['add_new']?></td><td bgcolor="<?=ALTBG2?>"><input type='text' name="newmoderator" size="20"></td><td bgcolor="<?=ALTBG1?>"><input type="text" name="newdisplayorder" size="2" value="0"></td><td bgcolor="<?=ALTBG2?>"> </td></tr>
<tr><td colspan="4" class="singleborder"> </td></tr>
<tr><td colspan="4" bgcolor="<?=ALTBG2?>"><input type="checkbox" name="inheritedmodnew" value="1" <?=$checked?> <?=$disabled?>> <?=$lang['forums_moderators_inherit']?></td></tr>
</table><br>
<center><input type="submit" name="modsubmit" value="<?=$lang['submit']?>"></center>
</form>
<?
} else {
if($forum['type'] == 'group') {
$inheritedmodnew = 1;
} elseif($forum['type'] == 'sub') {
$inheritedmodnew = 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -