📄 settings.inc.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'].' <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 + -