admin_forum_manager.php

来自「php 开发的内容管理系统」· PHP 代码 · 共 524 行 · 第 1/2 页

PHP
524
字号
            $forum = &$forum_handler->get($forum_id);
            $forum_handler->delete($forum);

            if ($post_count || $topic_count) {
                redirect_header('./admin_forum_manager.php?op=manage', 2, _AM_NEWBB_MSG_ERR_FORUM_MERGED);
            } else {
                redirect_header('./admin_forum_manager.php?op=manage', 2, _AM_NEWBB_MSG_FORUM_MERGED);
            }
            exit();
        } else {
            //loadModuleAdminMenu(2, "");

            if (isset($_GET['forum'])) $forum_id = intval($_GET['forum']);
            if (isset($_POST['forum'])) $forum_id = intval($_POST['forum']);
            //$forum = &$forum_handler->get($forum_id);
			
	        $box = '<select name="dest_forum">';
            $box .= '<option value=0 selected>' . _AM_NEWBB_SELECT . '</option>';
	
			//$category_handler =& xoops_getmodulehandler('category', 'newbb');
		    $forums = $forum_handler->getForumsByCategory(0, '', false);
		
			if(count($forums)>0){
				foreach(array_keys($forums) as $key){
		            foreach ($forums[$key] as $f=>$_forum) {
		                $box .= "<option value='".$f."'>-- ".$_forum['title']."</option>";
						if( !isset($_forum["sub"]) || count($_forum["sub"])==0) continue; 
			            foreach (array_keys($_forum["sub"]) as $s) {
			                $box .= "<option value='".$s."'>---- ".$_forum["sub"][$s]['title']."</option>";
		                }
		            }
				}
		    }
	    	unset($forums);

            echo '<form action="./admin_forum_manager.php" method="post" name="forummove" id="forummove">';
            echo '<input type="hidden" name="op" value="mergeforum" />';
            echo '<input type="hidden" name="forum" value=' . $forum_id . ' />';
            echo '<table border="0" cellpadding="1" cellspacing="0" align="center" valign="top" width="95%"><tr>';
            echo '<td class="bg2" align="center"><strong>' . _AM_NEWBB_MERGETHISFORUM . '</strong></td>';
            echo '</tr>';
            echo '<tr><td class="bg1" align="center">' . _AM_NEWBB_MERGETO_FORUM . '</td></tr>';
            echo '<tr><td class="bg1" align="center">' . $box . '</td></tr>';
            echo '<tr><td align="center"><input type="submit" name="save" value=' . _GO . ' class="button" /></td></tr>';
            echo '</form></table>';
        }
        break;

    case 'sync':
        loadModuleAdminMenu(5, _AM_NEWBB_SYNCFORUM);
        if (isset($_POST['submit'])) {
			newbb_synchronization();
			/*
			$topic_handler =& xoops_getmodulehandler('topic', 'newbb');
			$topic_handler->synchronization();
			*/
            redirect_header("./index.php", 1, _AM_NEWBB_SYNCHING);
            exit();
        } else {
            //loadModuleAdminMenu(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 "save":

        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->setVar('forum_moderator', isset($_POST['forum_moderator'])?$_POST['forum_moderator']:array());
        $ff->setVar('parent_forum', @$_POST['parent_forum']);
        $ff->setVar('cat_id', $_POST['cat_id']);
        $ff->setVar('forum_type', @$_POST['forum_type']);
        $ff->setVar('allow_html', @$_POST['allow_html']);
        $ff->setVar('allow_sig', @$_POST['allow_sig']);
        $ff->setVar('allow_polls', $_POST['allow_polls']);
        $ff->setVar('allow_subject_prefix', @$_POST['allow_subject_prefix']);
        //$ff->setVar('allow_attachments', $_POST['allow_attachments']);
        $ff->setVar('attach_maxkb', $_POST['attach_maxkb']);
        $ff->setVar('attach_ext', $_POST['attach_ext']);
        $ff->setVar('hot_threshold', $_POST['hot_threshold']);
        if ($forum_handler->insert($ff)) {
	        if(!empty($_POST["perm_template"])){
			    $groupperm_handler = &xoops_getmodulehandler('permission', 'newbb');
			    $perm_template = $groupperm_handler->getTemplate();
				//$groupperm_handler =& xoops_gethandler('groupperm');
			    $member_handler =& xoops_gethandler('member');
			    $glist =& $member_handler->getGroupList();
				$perms = array_map("trim",explode(',', FORUM_PERM_ITEMS));
				foreach(array_keys($glist) as $group){
				    foreach($perms as $perm){
					    $perm = "forum_".$perm;
						$ids = $groupperm_handler->getItemIds($perm, $group, $xoopsModule->getVar("mid"));
						if(!in_array($ff->getVar("forum_id"), $ids)){
							if(empty($perm_template[$group][$perm])){
								$groupperm_handler->deleteRight($perm, $ff->getVar("forum_id"), $group, $xoopsModule->getVar("mid"));
							}else{
								$groupperm_handler->addRight($perm, $ff->getVar("forum_id"), $group, $xoopsModule->getVar("mid"));
							}
						}
				    }
				}
	        }
            redirect_header("admin_forum_manager.php?op=mod&amp;forum=" . $ff->getVar('forum_id') . "", 2, $message);
            exit();
        } else {
            redirect_header("admin_forum_manager.php?op=mod&amp;forum=" . $ff->getVar('forum_id') . "", 2, _AM_NEWBB_FORUM_ERROR);
            exit();
        }

    case "mod":
        $ff =& $forum_handler->get($forum);
        loadModuleAdminMenu(2, _AM_NEWBB_EDITTHISFORUM . $ff->getVar('forum_name'));
        echo "<fieldset><legend style='font-weight: bold; color: #900;'>" . _AM_NEWBB_EDITTHISFORUM . "</legend>";
        echo"<br /><br /><table width='100%' border='0' cellspacing='1' class='outer'><tr><td class='odd'>";

        editForum($ff);

        echo"</td></tr></table>";
        echo "</fieldset>";
        break;

    case "del":

        if (isset($_POST['confirm']) != 1) {
            xoops_confirm(array('op' => 'del', 'forum' => intval($_GET['forum']), 'confirm' => 1), 'admin_forum_manager.php', _AM_NEWBB_TWDAFAP);
            break;
        } else {
            $ff = &$forum_handler->get($_POST['forum']);
            $forum_handler->delete($ff);
            redirect_header("admin_forum_manager.php?op=manage", 1, _AM_NEWBB_FORUMREMOVED);
            exit();
        }
        break;

    case 'manage':
        loadModuleAdminMenu(2, _AM_NEWBB_FORUM_MANAGER);

        $echo = "<fieldset><legend style='font-weight: bold; color: #900;'>" . _AM_NEWBB_FORUM_MANAGER . "</legend>";
        $echo .= "<br />";

        $echo .= "<table border='0' cellpadding='4' cellspacing='1' width='100%' class='outer'>";
        $echo .= "<tr align='center'>";
        $echo .= "<td class='bg3' colspan='2'>" . _AM_NEWBB_NAME . "</td>";
        $echo .= "<td class='bg3'>" . _AM_NEWBB_EDIT . "</td>";
        $echo .= "<td class='bg3'>" . _AM_NEWBB_DELETE . "</td>";
        $echo .= "<td class='bg3'>" . _AM_NEWBB_ADD . "</td>";
        $echo .= "<td class='bg3'>" . _AM_NEWBB_MOVE . "</td>";
        $echo .= "<td class='bg3'>" . _AM_NEWBB_MERGE . "</td>";
        $echo .= "</tr>";

		$category_handler = &xoops_getmodulehandler('category', 'newbb');
    	$categories = $category_handler->getAllCats('', true);
		$forums = $forum_handler->getForumsByCategory(array_keys($categories), '', false);
		foreach (array_keys($categories) as $c) {
            $category =& $categories[$c];
            $cat_link = "<a href=\"" . $forumUrl['root'] . "/index.php?viewcat=" . $category->getVar('cat_id') . "\">" . $category->getVar('cat_title') . "</a>";
            $cat_edit_link = "<a href=\"admin_cat_manager.php?op=mod&amp;cat_id=" . $category->getVar('cat_id') . "\">".newbb_displayImage($forumImage['edit'], _EDIT)."</a>";
            $cat_del_link = "<a href=\"admin_cat_manager.php?op=del&amp;cat_id=" . $category->getVar('cat_id') . "\">".newbb_displayImage($forumImage['delete'], _DELETE)."</a>";
            $forum_add_link = "<a href=\"admin_forum_manager.php?op=addforum&amp;cat_id=" . $category->getVar('cat_id') . "\">".newbb_displayImage($forumImage['new_forum'])."</a>";

            $echo .= "<tr class='even' align='left'>";
            $echo .= "<td width='100%' colspan='2'><strong>" . $cat_link . "</strong></td>";
            $echo .= "<td align='center'>" . $cat_edit_link . "</td>";
            $echo .= "<td align='center'>" . $cat_del_link . "</td>";
            $echo .= "<td align='center'>" . $forum_add_link . "</td>";
            $echo .= "<td></td>";
            $echo .= "<td></td>";
            $echo .= "</tr>";
            if(!isset($forums[$c])) continue;
			foreach(array_keys($forums[$c]) as $f){
                $f_link = "&nbsp;<a href=\"" . $forumUrl['root'] . "/viewforum.php?forum=" . $f . "\">" . $forums[$c][$f]["title"] . "</a>";
                $f_edit_link = "<a href=\"admin_forum_manager.php?op=mod&amp;forum=" . $f . "\">".newbb_displayImage($forumImage['edit'])."</a>";
                $f_del_link = "<a href=\"admin_forum_manager.php?op=del&amp;forum=" . $f . "\">".newbb_displayImage($forumImage['delete'])."</a>";
                $sf_add_link = "<a href=\"admin_forum_manager.php?op=addsubforum&amp;cat_id=" . $c . "&parent_forum=" . $f . "\">".newbb_displayImage($forumImage['new_subforum'])."</a>";
                $f_move_link = "<a href=\"admin_forum_manager.php?op=moveforum&amp;forum=" . $f . "\">".newbb_displayImage($forumImage['move_topic'])."</a>";
                $f_merge_link = "<a href=\"admin_forum_manager.php?op=mergeforum&amp;forum=" . $f . "\">".newbb_displayImage($forumImage['move_topic'])."</a>";

                $echo .= "<tr class='odd' align='left'><td></td>";
                $echo .= "<td><strong>" . $f_link . "</strong></td>";
                $echo .= "<td align='center'>" . $f_edit_link . "</td>";
                $echo .= "<td align='center'>" . $f_del_link . "</td>";
                $echo .= "<td align='center'>" . $sf_add_link . "</td>";
                $echo .= "<td align='center'>" . $f_move_link . "</td>";
                $echo .= "<td align='center'>" . $f_merge_link . "</td>";
                $echo .= "</tr>";
		        if(!isset($forums[$c][$f]["sub"])) continue;
				foreach(array_keys($forums[$c][$f]["sub"]) as $s){
                    $f_link = "&nbsp;<a href=\"" . $forumUrl['root'] . "/viewforum.php?forum=" . $s . "\">-->" . $forums[$c][$f]["sub"][$s]["title"] . "</a>";
                    $f_edit_link = "<a href=\"admin_forum_manager.php?op=mod&amp;forum=" . $s . "\">".newbb_displayImage($forumImage['edit'])."</a>";
                    $f_del_link = "<a href=\"admin_forum_manager.php?op=del&amp;forum=" . $s . "\">".newbb_displayImage($forumImage['delete'])."</a>";
                    $sf_add_link = "";
                    $f_move_link = "<a href=\"admin_forum_manager.php?op=moveforum&amp;forum=" . $s . "\">".newbb_displayImage($forumImage['move_topic'])."</a>";
                    $f_merge_link = "<a href=\"admin_forum_manager.php?op=mergeforum&amp;forum=" . $s . "\">".newbb_displayImage($forumImage['move_topic'])."</a>";
                    $echo .= "<tr class='odd' align='left'><td></td>";
                    $echo .= "<td><strong>" . $f_link . "</strong></td>";
                    $echo .= "<td align='center'>" . $f_edit_link . "</td>";
                    $echo .= "<td align='center'>" . $f_del_link . "</td>";
                    $echo .= "<td align='center'>" . $sf_add_link . "</td>";
                    $echo .= "<td align='center'>" . $f_move_link . "</td>";
                    $echo .= "<td align='center'>" . $f_merge_link . "</td>";
                    $echo .= "</tr>";
				}
			}
		}
    	unset($forums, $categories);

        echo $echo;
        echo "</table>";
        echo "</fieldset>";
        break;

    case "addsubforum":
    /*
        loadModuleAdminMenu(2, _AM_NEWBB_CREATENEWFORUM);
        echo "<fieldset><legend style='font-weight: bold; color: #900;'>" . _AM_NEWBB_CREATENEWFORUM . "</legend>";
        echo "<br />";
        $parent_forum = isset($_GET['parent_forum']) ? intval($_GET['parent_forum']) : null;

        newForum($parent_forum);

        echo "</fieldset>";

        break;
	*/
	
    case "default":
    default:
        loadModuleAdminMenu(2, _AM_NEWBB_CREATENEWFORUM);
        echo "<fieldset><legend style='font-weight: bold; color: #900;'>" . _AM_NEWBB_CREATENEWFORUM . "</legend>";
        echo "<br />";

        //$parent_forum = isset($_GET['parent_forum']) ? intval($_GET['parent_forum']) : null;
        newForum(@intval($_GET['parent_forum']));

        echo "</fieldset>";
        break;
}
xoops_cp_footer();

?>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?