⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 forums.inc.php

📁 php最好的论坛程序! php最好的论坛程序! php最好的论坛程序!
💻 PHP
📖 第 1 页 / 共 5 页
字号:
<?php

/*
	[Discuz!] (C)2001-2006 Comsenz Inc.
	This is NOT a freeware, use is subject to license terms

	$RCSfile: forums.inc.php,v $
	$Revision: 1.39.2.2 $
	$Date: 2006/07/17 07:50:17 $
*/

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'))) {
		$addforumtype = '';
		$groupselect = $forumselect = "<select name=\"fup\">\n";
		$query = $db->query("SELECT fid, name, type, fup FROM {$tablepre}forums WHERE type<>'sub' ORDER BY displayorder");
		while($fup = $db->fetch_array($query)) {
			$fups[] = $fup;
		}
		if(is_array($fups)) {
			foreach($fups as $forum1) {
				if($forum1['type'] == 'group') {
					if(isset($fupid) && $fupid == $forum1['fid']) {
						$fupselected = 'selected';
						$addforumtype = $forum1['type'];
					} else {
						$fupselected = '';
					}

					$groupselect .= "<option value=\"$forum1[fid]\" $fupselected>$forum1[name]</option>\n";
					$forumselect .= "<optgroup label=\"$forum1[name]\">\n";
					foreach($fups as $forum2) {
						if($forum2['type'] == 'forum' && $forum2['fup'] == $forum1['fid']) {
							if(isset($fupid) && $fupid == $forum2['fid']) {
								$fupselected = 'selected';
								$addforumtype = $forum2['type'];
							} else {
								$fupselected = '';
							}

							$forumselect .= "<option value=\"$forum2[fid]\" $fupselected>&nbsp; &gt; $forum2[name]</option>\n";
						}
					}
				}
			}
			foreach($fups as $forum0) {
				if($forum0['type'] == 'forum' && $forum0['fup'] == 0) {
					if(isset($fupid) && $fupid == $forum0['fid']) {
						$fupselected = 'selected';
						$addforumtype = $forum0['type'];
					} else {
						$fupselected = '';
					}
					if($forum0['type'] == 'group') {
						$groupselect .= "<option value=\"$forum0[fid]\" $fupselected>$forum0[name]</option>\n";
					} else {
						$forumselect .= "<option value=\"$forum0[fid]\" $fupselected>$forum0[name]</option>\n";
					}
				}
			}
		}
		$groupselect .= '</select>';
		$forumselect .= '</select>';

		showtips('forums_add_tips');

		if(empty($addforumtype)) {

?>
<br><form method="post" action="admincp.php?action=forumadd&add=category">
<input type="hidden" name="formhash" value="<?=FORMHASH?>">
<table cellspacing="<?=INNERBORDERWIDTH?>" cellpadding="<?=TABLESPACE?>" width="95%" 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="<?=$lang['forums_add_category_name']?>" size="40"></td>
<td bgcolor="<?=ALTBG1?>" width="15%"><input type="submit" name="catsubmit" value="<?=$lang['submit']?>"></td></tr>
</table></form>
<?

		}

		if(empty($addforumtype) || $addforumtype == 'group') {

?>
<br><form method="post" action="admincp.php?action=forumadd&add=forum">
<input type="hidden" name="formhash" value="<?=FORMHASH?>">
<table cellspacing="<?=INNERBORDERWIDTH?>" cellpadding="<?=TABLESPACE?>" width="95%" 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="<?=$lang['forums_add_forum_name']?>" 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>
<?

		}

		if(empty($addforumtype) || $addforumtype == 'forum') {

?>
<br><form method="post" action="admincp.php?action=forumadd&add=forum">
<input type="hidden" name="formhash" value="<?=FORMHASH?>">
<table cellspacing="<?=INNERBORDERWIDTH?>" cellpadding="<?=TABLESPACE?>" width="95%" 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="<?=$lang['forums_add_sub_name']?>" 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>
<tr><td colspan="5" bgcolor="<?=ALTBG2?>" align="right"><input type="checkbox" name="copyoption" value="1"><?=$lang['forums_copy_parent_property']?>&nbsp;&nbsp;</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')) {

		if(!$fup) {
			cpmsg('forums_noparent');
		}

		$modarray = $forumfields = array();
		$table_forum_columns = array('fup', 'type', 'name', 'status', 'styleid', 'allowshare', 'allowpostspecial', 'allowpaytoauthor', 'allowhtml', 'allowbbcode', 'allowimgcode', 'allowsmilies', 'alloweditrules', 'modnewposts', 'recyclebin', 'jammer', 'allowanonymous', 'threadcaches', 'disablewatermark', 'autoclose');
		$table_forumfield_columns = array('fid', 'attachextensions', 'threadtypes', 'postcredits', 'replycredits', 'digestcredits', 'postattachcredits', 'getattachcredits', 'viewperm', 'postperm', 'replyperm', 'getattachperm', 'postattachperm');

		$query = $db->query("SELECT * FROM {$tablepre}forums WHERE fid='$fup'");
		$forum = $db->fetch_array($query);
		if($copyoption) {
			$query = $db->query("SELECT * FROM {$tablepre}forumfields WHERE fid='$forum[fid]'");
			$forumfield = $db->fetch_array($query);

			foreach($table_forum_columns as $field) {
				$forumfields[$field] = $forum[$field];
			}

			foreach($table_forumfield_columns as $field) {
				$forumfields[$field] = $forumfield[$field];
			}
		} else {
			$forumfields['allowsmilies'] = $forumfields['allowbbcode'] = $forumfields['allowimgcode'] = $forumfields['allowshare'] = 1;
			$forumfields['allowpostspecial'] = 15;
		}

		$forumfields['fup'] = $forum ? $fup : 0;
		$forumfields['type'] = $forum['type'] == 'forum' ? 'sub' : 'forum';
		$forumfields['name'] = $newforum;
		$forumfields['status'] = 1;

		$sql1 = $sql2 = $comma = '';
		foreach($table_forum_columns as $field) {
			if(isset($forumfields[$field])) {
				$sql1 .= "$comma$field";
				$sql2 .= "$comma'{$forumfields[$field]}'";
				$comma = ', ';
			}
		}

		$db->query("INSERT INTO {$tablepre}forums ($sql1) VALUES ($sql2)");
		$forumfields['fid'] = $db->insert_id();

		$sql1 = $sql2 = $comma = '';
		foreach($table_forumfield_columns as $field) {
			if(isset($forumfields[$field])) {
				$sql1 .= "$comma$field";
				$sql2 .= "$comma'{$forumfields[$field]}'";
				$comma = ', ';
			}
		}

		$db->query("INSERT INTO {$tablepre}forumfields ($sql1) VALUES ($sql2)");

		$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')) {
		showtips('forums_tips');

?>
<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)) {

⌨️ 快捷键说明

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