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

📄 settings.inc.php

📁 速度很快的PHP论坛源程序
💻 PHP
字号:
<?php

/*
        [DISCUZ!] admin/settings.inc.php - generalize settings of board
        This is NOT a freeware, use is subject to license terms

        Version: 4.0.0
        Author: Crossday (info@discuz.net)
        Web: http://www.comsenz.com
	Copyright: 2001-2005 Comsenz Technology Ltd.
        Last Modified: 2004/10/11 11:09
*/

if(!defined('IN_DISCUZ') || !isset($PHP_SELF) || !preg_match("/[\/\\\\]admincp\.php$/", $PHP_SELF)) {
        exit('Access Denied');
}

cpheader();

$query = $db->query("SELECT * FROM {$tablepre}settings");
while($setting = $db->fetch_array($query)) {
	$settings[$setting['variable']] = $setting['value'];
}

if(!submitcheck('settingsubmit')) {

	$stylelist = "<select name=\"settingsnew[styleid]\">\n";
	$query = $db->query("SELECT styleid, name FROM {$tablepre}styles");
	while($style = $db->fetch_array($query)) {
	        $selected = $style['styleid'] == $settings['styleid'] ? 'selected="selected"' : NULL;
	        $stylelist .= "<option value=\"$style[styleid]\" $selected>$style[name]</option>\n";
	}
	$stylelist .= '</select>';

        $checkrf = array($settings['regverify'] => 'checked');
        $checkonline = array($settings['whosonlinestatus'] => 'checked');
        $checkstatusby = array($settings['userstatusby'] => 'checked');
        $checkattach = array($settings['attachsave'] => 'checked');
        $checkreport = array($settings['reportpost'] => 'checked');

	$settings['moddisplay'] == 'selectbox' ? $modselectbox = 'checked' : $modflat = 'checked';
	$settings['timeformat'] == 'H:i' ? $check24 = 'checked' : $check12 = 'checked';

	$settings['dateformat'] = str_replace('n', 'mm', $settings['dateformat']);
	$settings['dateformat'] = str_replace('j', 'dd', $settings['dateformat']);
	$settings['dateformat'] = str_replace('y', 'yy', $settings['dateformat']);
	$settings['dateformat'] = str_replace('Y', 'yyyy', $settings['dateformat']);

?>
<tr bgcolor="<?=ALTBG2?>">
<td align="center">
<br>
<table cellspacing="<?=INNERBORDERWIDTH?>" cellpadding="<?=TABLESPACE?>" width="90%" align="center" class="tableborder">
<tr class="header"><td><?=$lang['menu_options']?></td></tr>
<tr bgcolor="<?=ALTBG1?>" align="center"><td>
[<a href="#<?=$lang['settings_general']?>"><?=$lang['settings_general']?></a>] - 
[<a href="#<?=$lang['settings_access']?>"><?=$lang['settings_access']?></a>] - 
[<a href="#<?=$lang['settings_styles']?>"><?=$lang['settings_styles']?></a>]<br>
[<a href="#<?=$lang['settings_functions']?>"><?=$lang['settings_functions']?></a>] - 
[<a href="#<?=$lang['settings_security']?>"><?=$lang['settings_security']?></a>] - 
[<a href="#<?=$lang['settings_permissions']?>"><?=$lang['settings_permissions']?></a>] - 
[<a href="#<?=$lang['settings_misc']?>"><?=$lang['settings_misc']?></a>]
</td></tr></table>

<br><form method="post" action="admincp.php?action=settings">
<input type="hidden" name="formhash" value="<?=FORMHASH?>">
<input type="hidden" name="chcodeorig" value="<?=$settings[chcode]?>">
<?
	showtype('settings_general', 'top');
	showsetting('settings_bbname', 'settingsnew[bbname]', $settings['bbname'], 'text');
	showsetting('settings_sitename', 'settingsnew[sitename]', $settings['sitename'], 'text');
	showsetting('settings_siteurl', 'settingsnew[siteurl]', $settings['siteurl'], 'text');
	showsetting('settings_bbclosed', 'settingsnew[bbclosed]', $settings['bbclosed'], 'radio');
	showsetting('settings_closedreason', 'settingsnew[closedreason]', $settings['closedreason'], 'textarea');
	showsetting('settings_maintspans', 'settingsnew[maintspans]', $settings['maintspans'], 'text');

	showtype('settings_access');
	showsetting('settings_regstatus', 'settingsnew[regstatus]', $settings['regstatus'], 'radio');
	showsetting('settings_censoruser', 'settingsnew[censoruser]', $settings['censoruser'], 'text');
	showsetting('settings_doublee', 'settingsnew[doublee]', $settings['doublee'], 'radio');
	showsetting('settings_regverify', '', '', '<input type="radio" name="settingsnew[regverify]" value="0" '.$checkrf[0].'> '.$lang['none'].'<br><input type="radio" name="settingsnew[regverify]" value="1" '.$checkrf[1].'> '.$lang['settings_regverify_email'].'<br><input type="radio" name="settingsnew[regverify]" value="2" '.$checkrf[2].'> '.$lang['settings_regverify_manual'].'</td>');
	showsetting('settings_hideprivate', 'settingsnew[hideprivate]', $settings['hideprivate'], 'radio');
	showsetting('settings_regctrl', 'settingsnew[regctrl]', $settings['regctrl'], 'text');
	showsetting('settings_newbiespan', 'settingsnew[newbiespan]', $settings['newbiespan'], 'text');
	showsetting('settings_welcomemsg', 'settingsnew[welcomemsg]', $settings['welcomemsg'], 'radio');
	showsetting('settings_welcomemsgtxt', 'settingsnew[welcomemsgtxt]', $settings['welcomemsgtxt'], 'textarea');
	showsetting('settings_bbrules', 'settingsnew[bbrules]', $settings['bbrules'], 'radio');
	showsetting('settings_bbrulestxt', 'settingsnew[bbrulestxt]', $settings['bbrulestxt'], 'textarea');

	showtype('settings_styles');
	showsetting('settings_styleid', '', '', $stylelist);
	showsetting('settings_tpp', 'settingsnew[topicperpage]', $settings['topicperpage'], 'text');
	showsetting('settings_ppp', 'settingsnew[postperpage]', $settings['postperpage'], 'text');
	showsetting('settings_mpp', 'settingsnew[memberperpage]', $settings['memberperpage'], 'text');
	showsetting('settings_hottopic', 'settingsnew[hottopic]', $settings['hottopic'], 'text');
	showsetting('settings_moddisplay', '', '', '<input type="radio" name="settingsnew[moddisplay]" value="flat" '.$modflat.'> '.$lang['settings_moddisplay_flat'].' &nbsp; <input type="radio" name="settingsnew[moddisplay]" value="selectbox" '.$modselectbox.'> '.$lang['settings_moddisplay_selectbox'].'</td>');
	showsetting('settings_subforumsindex', 'settingsnew[subforumsindex]', $settings['subforumsindex'], 'radio');
	showsetting('settings_fastpost', 'settingsnew[fastpost]', $settings['fastpost'], 'radio');

	showtype('settings_seo');
	showsetting('settings_archiverstatus', 'settingsnew[archiverstatus]', $settings['archiverstatus'], 'radio');
	showsetting('settings_seotitle', 'settingsnew[seotitle]', $settings['seotitle'], 'text');
	showsetting('settings_seokeywords', 'settingsnew[seokeywords]', $settings['seokeywords'], 'text');
	showsetting('settings_seodescription', 'settingsnew[seodescription]', $settings['seodescription'], 'text');
	showsetting('settings_seohead', 'settingsnew[seohead]', $settings['seohead'], 'textarea');

	showtype('settings_functions');
	showsetting('settings_gzipcompress', 'settingsnew[gzipcompress]', $settings['gzipcompress'], 'radio');
	showsetting('settings_delayviewcount', 'settingsnew[delayviewcount]', $settings['delayviewcount'], 'radio');
	showsetting('settings_statstatus', 'settingsnew[statstatus]', $settings['statstatus'], 'radio');
	showsetting('settings_globalstick', 'settingsnew[globalstick]', $settings['globalstick'], 'radio');
	showsetting('settings_nocacheheaders', 'settingsnew[nocacheheaders]', $settings['nocacheheaders'], 'radio');
	showsetting('settings_debug', 'settingsnew[debug]', $settings['debug'], 'radio');
	showsetting('settings_whosonline', '', '', '<input type="radio" name="settingsnew[whosonlinestatus]" value="0" '.$checkonline[0].'> '.$lang['settings_display_none'].'<br><input type="radio" name="settingsnew[whosonlinestatus]" value="1" '.$checkonline[1].'> '.$lang['settings_whosonline_index'].'<br><input type="radio" name="settingsnew[whosonlinestatus]" value="2" '.$checkonline[2].'> '.$lang['settings_whosonline_forum'].'<br><input type="radio" name="settingsnew[whosonlinestatus]" value="3" '.$checkonline[3].'> '.$lang['settings_whosonline_both'].'</td>');
	showsetting('settings_vtonlinestatus', 'settingsnew[vtonlinestatus]', $settings['vtonlinestatus'], 'radio');
	showsetting('settings_userstatusby', '', '', '<input type="radio" name="settingsnew[userstatusby]" value="0" '.$checkstatusby[0].'> '.$lang['settings_display_none'].'<br><input type="radio" name="settingsnew[userstatusby]" value="1" '.$checkstatusby[1].'> '.$lang['usergroup'].'<br><input type="radio" name="settingsnew[userstatusby]" value="2" '.$checkstatusby[2].'> '.$lang['rank'].'</td>');
	showsetting('settings_forumjump', 'settingsnew[forumjump]', $settings['forumjump'], 'radio');
	showsetting('settings_dotfolders', 'settingsnew[dotfolders]', $settings['dotfolders'], 'radio');
	showsetting('settings_attachrefcheck', 'settingsnew[attachrefcheck]', $settings['attachrefcheck'], 'radio');
	showsetting('settings_attachsave', '', '', '<input type="radio" name="settingsnew[attachsave]" value="0" '.$checkattach[0].'> '.$lang['settings_attachsave_default'].'<br><input type="radio" name="settingsnew[attachsave]" value="1" '.$checkattach[1].'> '.$lang['settings_attachsave_forum'].'<br><input type="radio" name="settingsnew[attachsave]" value="2" '.$checkattach[2].'> '.$lang['settings_attachsave_type'].'<br><input type="radio" name="settingsnew[attachsave]" value="3" '.$checkattach[3].'> '.$lang['settings_attachsave_month'].'<br><input type="radio" name="settingsnew[attachsave]" value="4" '.$checkattach[4].'> '.$lang['settings_attachsave_day'].'</td>');
	showsetting('settings_oltimespan', 'settingsnew[oltimespan]', $settings['oltimespan'], 'text');
	showsetting('settings_postcredits', 'settingsnew[postcredits]', $settings['postcredits'], 'text');
	showsetting('settings_replycredits', 'settingsnew[replycredits]', $settings['replycredits'], 'text');
	showsetting('settings_digestcredits', 'settingsnew[digestcredits]', $settings['digestcredits'], 'text');
	showsetting('settings_deletedcredits', 'settingsnew[deletedcredits]', $settings['deletedcredits'], 'text');

	showtype('settings_security');
	showsetting('settings_transsidstatus', 'settingsnew[transsidstatus]', $settings['transsidstatus'], 'radio');
	showsetting('settings_maxonlines', 'settingsnew[maxonlines]', $settings['maxonlines'], 'text');
	showsetting('settings_loadctrl', 'settingsnew[loadctrl]', $settings['loadctrl'], 'text');
	showsetting('settings_floodctrl', 'settingsnew[floodctrl]', $settings['floodctrl'], 'text');
	showsetting('settings_searchctrl', 'settingsnew[searchctrl]', $settings['searchctrl'], 'text');
	showsetting('settings_regfloodctrl', 'settingsnew[regfloodctrl]', $settings['regfloodctrl'], 'text');
	showsetting('settings_maxsearchresults', 'settingsnew[maxsearchresults]', $settings['maxsearchresults'], 'text');
	showsetting('settings_threadmaxpages', 'settingsnew[threadmaxpages]', $settings['threadmaxpages'], 'text');
	showsetting('settings_membermaxpages', 'settingsnew[membermaxpages]', $settings['membermaxpages'], 'text');

	showtype('settings_permissions');
	showsetting('settings_memliststatus', 'settingsnew[memliststatus]', $settings['memliststatus'], 'radio');
	showsetting('settings_reportpost', '', '', '<input type="radio" name="settingsnew[reportpost]" value="0" '.$checkreport[0].'> '.$lang['settings_reportpost_none'].'<br><input type="radio" name="settingsnew[reportpost]" value="1" '.$checkreport[1].'> '.$lang['settings_reportpost_level_1'].'<br><input type="radio" name="settingsnew[reportpost]" value="2" '.$checkreport[2].'> '.$lang['settings_reportpost_level_2'].'<br><input type="radio" name="settingsnew[reportpost]" value="3" '.$checkreport[3].'> '.$lang['settings_reportpost_level_3'].'</td>');
	showsetting('settings_minpostsize', 'settingsnew[minpostsize]', $settings['minpostsize'], 'text');
	showsetting('settings_maxpostsize', 'settingsnew[maxpostsize]', $settings['maxpostsize'], 'text');
	showsetting('settings_maxavatarsize', 'settingsnew[maxavatarsize]', $settings['maxavatarsize'], 'text');
	showsetting('settings_maxavatarpixel', 'settingsnew[maxavatarpixel]', $settings['maxavatarpixel'], 'text');
	showsetting('settings_maxpolloptions', 'settingsnew[maxpolloptions]', $settings['maxpolloptions'], 'text');

	showtype('settings_misc');
	showsetting('settings_timeformat', '', '', '<input type="radio" name="settingsnew[timeformat]" value="24" '.$check24.'> 24 Hour <input type="radio" name="settingsnew[timeformat]" value="12" '.$check12.'> 12 Hour</td>');
	showsetting('settings_dateformat', 'settingsnew[dateformat]', $settings['dateformat'], 'text');
	showsetting('settings_timeoffset', 'settingsnew[timeoffset]', $settings['timeoffset'], 'text');
	showsetting('settings_edittimelimit', 'settingsnew[edittimelimit]', $settings['edittimelimit'], 'text');
	showsetting('settings_editby', 'settingsnew[editedby]', $settings['editedby'], 'radio');
	showsetting('settings_attachimgpost', 'settingsnew[attachimgpost]', $settings['attachimgpost'], 'radio');
	showsetting('settings_bbinsert', 'settingsnew[bbinsert]', $settings['bbinsert'], 'radio');
	showsetting('settings_smileyinsert', 'settingsnew[smileyinsert]', $settings['smileyinsert'], 'radio');
	showsetting('settings_smcols', 'settingsnew[smcols]', $settings['smcols'], 'text');
	showsetting('settings_modreasons', 'settingsnew[modreasons]', $settings['modreasons'], 'textarea');
	showtype('', 'bottom');
?>

</table></td></tr></table><br><br>
<center><input type="submit" name="settingsubmit" value="<?=$lang['submit']?>"></center>
</form>

</td></tr>

<?

} else {

	if(!function_exists('ob_gzhandler') && $settingsnew['gzipcompress']) {
		cpmsg('settings_gzip_invalid');
	}

	if($settingsnew['maxonlines'] > 65535 || !is_numeric($settingsnew['maxonlines'])) {
		cpmsg('settings_maxonlines_invalid');
	}

	if(intval(mysql_get_server_info()) < 4 && $settingsnew['globalstick']) {
		cpmsg('settings_globalstick_invalid');
	}

	$settingsnew['timeformat'] = $settingsnew['timeformat'] == '24' ? 'H:i' : 'h:i A';

	$settingsnew['bbname'] = dhtmlspecialchars($settingsnew['bbname']);
	$settingsnew['welcomemsgtxt'] = dhtmlspecialchars($settingsnew['welcomemsgtxt']);

	$settingsnew['dateformat'] = str_replace('mm', 'n', $settingsnew['dateformat']);
	$settingsnew['dateformat'] = str_replace('dd', 'j', $settingsnew['dateformat']);
	$settingsnew['dateformat'] = str_replace('yyyy', 'Y', $settingsnew['dateformat']);
	$settingsnew['dateformat'] = str_replace('yy', 'y', $settingsnew['dateformat']);

	foreach($settingsnew as $key => $val) {
		if(isset($settings[$key]) && $settings[$key] != $val) {
			$$key = $val;

			if(in_array($key, array('newbiespan', 'topicperpage', 'postperpage', 'memberperpage', 'hottopic', 'postcredits', 'replycredits', 'timeoffset', 'oltimespan',
				'digestcredits', 'deletedcredits', 'maxonlines', 'loadctrl', 'floodctrl', 'regctrl', 'regfloodctrl', 'searchctrl', 'maxsearchresults',
				'threadmaxpages', 'membermaxpages', 'maxpostsize', 'minpostsize', 'maxavatarsize', 'maxavatarpixel', 'maxpolloptions', 'smcols'))) {
				$val = (float)$val;
			}
			if($key == 'userstatusby') {
				updatecache('usergroups');
			}

			$db->query("REPLACE INTO {$tablepre}settings (variable, value)
				VALUES ('$key', '$val')");
		}
	}
	$db->query("ALTER TABLE {$tablepre}sessions MAX_ROWS=$settingsnew[maxonlines]");

	updatecache('settings');
	cpmsg('settings_update_succeed');
}

?>

⌨️ 快捷键说明

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