admin_forum_manager.php
来自「在综合英文版XOOPS 2.09, 2.091, 2.092 的基础上正式发布X」· PHP 代码 · 共 764 行 · 第 1/3 页
PHP
764 行
$groups_forum_can_delete_checkbox = new XoopsFormCheckBox(_AM_NEWBB_CAN_DELETE, 'groups_forum_can_delete[]', $groups_forum_can_delete);
foreach ($group_list as $group_id => $group_name) {
$groups_forum_can_delete_checkbox->addOption($group_id, $group_name);
}
$sform->addElement($groups_forum_can_delete_checkbox);
$groups_forum_can_addpoll_checkbox = new XoopsFormCheckBox(_AM_NEWBB_CAN_ADDPOLL, 'groups_forum_can_addpoll[]', $groups_forum_can_addpoll);
foreach ($group_list as $group_id => $group_name) {
$groups_forum_can_addpoll_checkbox->addOption($group_id, $group_name);
}
$sform->addElement($groups_forum_can_addpoll_checkbox);
$groups_forum_can_vote_checkbox = new XoopsFormCheckBox(_AM_NEWBB_CAN_VOTE, 'groups_forum_can_vote[]', $groups_forum_can_vote);
foreach ($group_list as $group_id => $group_name) {
$groups_forum_can_vote_checkbox->addOption($group_id, $group_name);
}
$sform->addElement($groups_forum_can_vote_checkbox);
$groups_forum_can_attach_checkbox = new XoopsFormCheckBox(_AM_NEWBB_CAN_ATTACH, 'groups_forum_can_attach[]', $groups_forum_can_attach);
foreach ($group_list as $group_id => $group_name) {
$groups_forum_can_attach_checkbox->addOption($group_id, $group_name);
}
$sform->addElement($groups_forum_can_attach_checkbox);
$groups_forum_can_noapprove_checkbox = new XoopsFormCheckBox(_AM_NEWBB_CAN_NOAPPROVE, 'groups_forum_can_noapprove[]', $groups_forum_can_noapprove);
foreach ($group_list as $group_id => $group_name) {
$groups_forum_can_noapprove_checkbox->addOption($group_id, $group_name);
}
$sform->addElement($groups_forum_can_noapprove_checkbox);
$sform->addElement(new XoopsFormHidden('forum', $forum));
$jstray = new XoopsFormElementTray('', '');
foreach ($group_list as $group_id => $group_name) {
$jstray->addElement(new XoopsFormHidden('group_ids[]', strval($group_id)));
}
$jsuncheckbutton = new XoopsFormButton('', '', _NONE, 'submit');
$jsuncheckbutton->setExtra('onclick="this.form.elements.op.value=\'savenone\'"') ;
$jscheckbutton = new XoopsFormButton('', '', _ALL, 'submit');
$jscheckbutton->setExtra('onclick="this.form.elements.op.value=\'saveall\'"') ;
$jstray->addElement($jsuncheckbutton) ;
$jstray->addElement($jscheckbutton) ;
$sform->addElement($jstray);
$button_tray = new XoopsFormElementTray('', '');
$button_tray->addElement(new XoopsFormHidden('op', 'save'));
// No ID for forum -- then it's new forum, button says 'Create'
if (!$forum) {
$butt_create = new XoopsFormButton('', '', _AM_NEWBB_CREATEFORUM, 'submit');
$butt_create->setExtra('onclick="this.form.elements.op.value=\'save\'"');
$button_tray->addElement($butt_create);
$butt_clear = new XoopsFormButton('', '', _AM_NEWBB_CLEAR, 'reset');
$button_tray->addElement($butt_clear);
$butt_cancel = new XoopsFormButton('', '', _CANCEL, 'button');
$butt_cancel->setExtra('onclick="history.go(-1)"');
$button_tray->addElement($butt_cancel);
} else { // button says 'Update'
$butt_create = new XoopsFormButton('', '', _AM_NEWBB_EDIT, 'submit');
$butt_create->setExtra('onclick="this.form.elements.op.value=\'save\'"');
$button_tray->addElement($butt_create);
$butt_cancel = new XoopsFormButton('', '', _CANCEL, 'button');
$butt_cancel->setExtra('onclick="history.go(-1)"');
$button_tray->addElement($butt_cancel);
}
$sform->addElement($button_tray);
$sform->display();
}
xoops_cp_header();
switch ($op) {
case 'moveforum':
if (isset($_POST['save']) && $_POST['save'] != "") {
if (isset($_GET['forum'])) $forum = intval($_GET['forum']);
if (isset($_POST['forum'])) $forum = intval($_POST['forum']);
$bMoved = 0;
$errString = '';
// Look for subforums
$sql = "SELECT * from " . $xoopsDB->prefix('bb_forums') . " WHERE parent_forum=$forum";
if ($result = $xoopsDB->query($sql)) {
if ($xoopsDB->getRowsNum($result) == 0) {
$sql_move = "UPDATE " . $xoopsDB->prefix('bb_forums') . " SET cat_id=" . $_POST['cat_id'] . ", parent_forum=" . $_POST['parent_forum'] . " WHERE forum_id=$forum";
if ($xoopsDB->query($sql_move))
$bMoved = 1;
} else {
// Are we trying to move this
if ($_POST['parent_forum'] != 0) {
$errString = "This forum cannot be made as a subforum.<br />Multi-level subforums are not allowed.";
} else {
$sql_move = "UPDATE " . $xoopsDB->prefix('bb_forums') . " SET cat_id=" . $_POST['cat_id'] . ", parent_forum=" . $_POST['parent_forum'] . " WHERE forum_id=$forum";
if ($xoopsDB->query($sql_move)) {
$bMoved = 1;
while ($row = $xoopsDB->fetchArray($result)) {
$sql_move_sub = "UPDATE " . $xoopsDB->prefix('bb_forums') . " SET cat_id=" . $_POST['cat_id'] . " WHERE forum_id=" . $row['forum_id'];
$xoopsDB->query($sql_move_sub);
}
}
}
}
}
$sql = "UPDATE " . $xoopsDB->prefix('bb_forums') . " SET cat_id=" . $_POST['cat_id'] . ", parent_forum=" . $_POST['parent_forum'] . " WHERE forum_id=$forum";
if ($result = $xoopsDB->query($sql)) {
$bMoved = 1;
}
if (!$bMoved) {
redirect_header('./admin_forum_manager.php?op=manage', 2, _AM_NEWBB_MSG_ERR_FORUM_MOVED . '<br />' . $errString);
} else {
redirect_header('./admin_forum_manager.php?op=manage', 2, _AM_NEWBB_MSG_FORUM_MOVED);
}
die();
} else {
newbb_adminmenu(2, "");
if (isset($_GET['forum'])) $forum = intval($_GET['forum']);
if (isset($_POST['forum'])) $forum = intval($_POST['forum']);
$forum = &$forum_handler->get($forum);
$name = $myts->htmlSpecialChars($forum->getVar('forum_name'));
$desc = $myts->htmlSpecialChars($forum->getVar('forum_desc'));
$cat_list = "<select name=\"cat_id\" onchange='document.forummove.submit();'>";
$cat_list .= '<option value="0">' . _AM_NEWBB_SELECT . '</option>';
$category_handler = &xoops_getmodulehandler('category', 'newbb');
$categories = $category_handler->getAllCats();
foreach ($categories as $key => $category) {
$selected = '';
if (isset($_POST['cat_id']) && $_POST['cat_id'] == $category->getVar('cat_id')) $selected = 'selected';
$cat_list .= "<option value='" . $category->getVar('cat_id') . "' $selected>" . $category->getVar('cat_title') . "</option>";
}
$cat_list .= '</select>';
$sf_list = '<select name="parent_forum">';
$sf_list .= '<option value="0" selected>' . _AM_NEWBB_SELECT . '</option>';
$sf_list .= '<option value="0">' . _NONE . '</option>';
if (isset($_POST['cat_id'])) {
$sql = "SELECT * FROM " . $xoopsDB->prefix('bb_forums') . " WHERE cat_id=" . $_POST['cat_id'] . " AND forum_id!=$forum->getVar('forum_id')";
if ($result = $xoopsDB->query($sql))
while ($row = $xoopsDB->fetchArray($result)) {
$sf_list .= "<option value='" . $row['forum_id'] . "'>" . $row['forum_name'] . "</option>";
}
}
$sf_list .= '</select>';
echo '<form action="./admin_forum_manager.php" method="post" name="forummove" id="forummove">';
echo '<input type="hidden" name="op" value="moveforum" />';
echo '<input type="hidden" name="forum" value=' . $forum->getVar('forum_id') . ' />';
echo '<table border="0" cellpadding="1" cellspacing="0" align="center" valign="top" width="95%"><tr>';
echo '<td class="bg2">';
echo '<table border="0" cellpadding="1" cellspacing="1" width="100%"><tr class="bg3">';
echo '<td align="center" colspan="2"><strong>' . _AM_NEWBB_MOVETHISFORUM . '</strong></td>';
echo '</tr>';
echo '<tr><td class="bg1">' . _AM_NEWBB_MOVE2CAT . '</td><td class="bg1">' . $cat_list . '</td></tr>';
echo '<tr><td class="bg1">' . _AM_NEWBB_MAKE_SUBFORUM_OF . '</td><td class="bg1">' . $sf_list . '</td></tr>';
echo '<tr><td colspan="2" align="center"><input type="submit" name="save" value=' . _GO . ' class="button" /></td></tr>';
echo '</form></table></td></tr></table>';
}
break;
case 'sync':
if (isset($_POST['submit'])) {
flush();
sync(null, "all forums");
flush();
sync(null, "all topics");
redirect_header("./index.php", 1, _AM_NEWBB_SYNCHING);
exit();
} else {
newbb_adminmenu(3, _AM_NEWBB_SYNCFORUM);
echo '<fieldset><legend style="font-weight: bold; color: #900;">' . _AM_NEWBB_SYNCFORUM . '</legend>';
echo '<br /><br /><table width="100%" border="0" cellspacing="1" class="outer"><tr><td class="odd">';
echo '<table border="0" cellpadding="1" cellspacing="1" width="100%">';
echo '<tr class="bg3" align="left">';
echo '<td>' . _AM_NEWBB_CLICKBELOWSYNC . '</td>';
echo '</tr>';
echo '<tr class="bg1" align="center">';
echo '<td><form action="admin_forum_manager.php" method="post">';
echo '<input type="hidden" name="op" value="sync"><input type="submit" name="submit" value=' . _AM_NEWBB_SYNCFORUM . ' /></form></td>';
echo '</td>';
echo '</tr>';
echo '</table></td></tr></table>';
}
echo "</fieldset>";
break;
case "moderators":
if ($forum) {
$ff = &$forum_handler->get($forum);
} else {
redirect_header("admin_forum_manager.php?op=mod&forum=$forum", 2, _AM_NEWBB_FORUM_ERROR);
exit();
}
$cur_moderators = explode(' ', $ff->getVar('forum_moderator'));
$new_moderators = array();
$upd_moderators = array();
foreach($cur_moderators as $moderator) {
$new_moderators[$moderator] = 1;
}
if (isset($_POST['forum_moderator'])) {
$add_moderators = $_POST['forum_moderator'];
foreach($add_moderators as $moderator) {
$new_moderators[$moderator] = 1;
}
}
if (isset($_POST['rem_moderator'])) {
$rem_moderators = $_POST['rem_moderator'];
foreach($rem_moderators as $moderator) {
$new_moderators[$moderator] = 0;
}
}
foreach($new_moderators as $moderator => $val) {
if ($val > 0) $upd_moderators[$moderator] = 1;
}
$forum_moderators = implode(' ', array_keys($upd_moderators));
if ($ff->updateModerators($forum_moderators)) {
redirect_header("admin_forum_manager.php?op=mod&forum=$forum", 2, _AM_NEWBB_FORUMUPDATE);
exit();
} else {
redirect_header("admin_forum_manager.php?op=mod&forum=$forum", 2, _AM_NEWBB_FORUM_ERROR);
exit();
}
break;
case "saveall":
if ($forum) {
$ff = &$forum_handler->get($forum);
$message = _AM_NEWBB_FORUMUPDATE;
} else {
$ff = &$forum_handler->create();
$message = _AM_NEWBB_FORUMCREATED;
}
$ff->setVar('forum_name', $_POST['forum_name']);
$ff->setVar('forum_desc', $_POST['forum_desc']);
$ff->setVar('forum_order', $_POST['forum_order']);
$ff->groups_forum_access = $_POST['groups_forum_access'];
$ff->groups_forum_can_post = $_POST['group_ids'];
$ff->groups_forum_can_view = $_POST['group_ids'];
$ff->groups_forum_can_reply = $_POST['group_ids'];
$ff->groups_forum_can_edit = $_POST['group_ids'];
$ff->groups_forum_can_delete = $_POST['group_ids'];
$ff->groups_forum_can_addpoll = $_POST['group_ids'];
$ff->groups_forum_can_vote = $_POST['group_ids'];
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?