📄 settings.inc.php
字号:
if($settingsnew['ipaccess'] = trim(preg_replace("/(\s*(\r\n|\n\r|\n|\r)\s*)/", "\r\n", $settingsnew['ipaccess']))) {
if(!ipaccess($onlineip, $settingsnew['ipaccess'])) {
cpmsg('settings_ipaccess_invalid');
}
}
if($settingsnew['adminipaccess'] = trim(preg_replace("/(\s*(\r\n|\n\r|\n|\r)\s*)/", "\r\n", $settingsnew['adminipaccess']))) {
if(!ipaccess($onlineip, $settingsnew['adminipaccess'])) {
cpmsg('settings_adminipaccess_invalid');
}
}
//$settingsnew['welcomemsgtxt'] = dhtmlspecialchars($settingsnew['welcomemsgtxt']);
} elseif($do == 'styles') {
$settingsnew['showsettings'] = bindec($settingsnew['showsignatures'].$settingsnew['showavatars'].$settingsnew['showimages']);
} elseif($do == 'functions') {
if(!function_exists('ob_gzhandler') && $settingsnew['gzipcompress']) {
cpmsg('settings_gzip_invalid');
}
$jsmenumax = is_array($settingsnew['jsmenustatus']) ? max(array_keys($settingsnew['jsmenustatus'])) : 0;
$jsmenustatus = '';
for($i = $jsmenumax; $i > 0; $i --) {
$jsmenustatus .= intval($settingsnew['jsmenustatus'][$i]);
}
$settingsnew['jsmenustatus'] = bindec($jsmenustatus);
if($settingsnew['globalstick']) {
updatecache('globalstick');
}
} elseif($do == 'credits') {
if(!preg_match("/^([\+\-\*\/\.\d\(\)]|((extcredits[1-8]|digestposts|posts|pageviews|oltime)([\+\-\*\/\(\)]|$)+))+$/", $settingsnew['creditsformula']) || !is_null(@eval(preg_replace("/(digestposts|posts|pageviews|oltime|extcredits[1-8])/", "\$\\1", $settingsnew['creditsformula']).';'))) {
cpmsg('settings_creditsformula_invalid');
}
$extcreditsarray = array();
if(is_array($settingsnew['extcredits'])) {
foreach($settingsnew['extcredits'] as $key => $value) {
if($value['available'] && !$value['title']) {
cpmsg('settings_credits_title_invalid');
}
$extcreditsarray[$key] = array
(
'title' => dhtmlspecialchars(stripslashes($value['title'])),
'unit' => dhtmlspecialchars(stripslashes($value['unit'])),
'ratio' => ($value['ratio'] > 0 ? (float)$value['ratio'] : 0),
'available' => $value['available'],
'lowerlimit' => intval($settingsnew['creditspolicy']['lowerlimit'][$key]),
'showinthread' => $value['showinthread']
);
$settingsnew['initcredits'][$key] = intval($settingsnew['initcredits'][$key]);
}
}
if(is_array($settingsnew['creditspolicy'])) {
foreach($settingsnew['creditspolicy'] as $key => $value) {
for($i = 1; $i <= 8; $i++) {
if(empty($value[$i])) {
unset($settingsnew['creditspolicy'][$key][$i]);
} else {
$value[$i] = $value[$i] > 99 ? 99 : ($value[$i] < -99 ? -99 : $value[$i]);
$settingsnew['creditspolicy'][$key][$i] = intval($value[$i]);
}
}
}
} else {
$settingsnew['creditspolicy'] = array();
}
if($settingsnew['creditstrans'] && empty($settingsnew['extcredits'][$settingsnew['creditstrans']]['available'])) {
cpmsg('settings_creditstrans_invalid');
}
$settingsnew['creditspolicy'] = addslashes(serialize($settingsnew['creditspolicy']));
$settingsnew['creditsformulaexp'] = $settingsnew['creditsformula'];
foreach(array('digestposts', 'posts', 'oltime', 'pageviews', 'extcredits1', 'extcredits2', 'extcredits3', 'extcredits4', 'extcredits5', 'extcredits6', 'extcredits7', 'extcredits8') as $var) {
if($extcreditsarray[$creditsid = preg_replace("/^extcredits(\d{1})$/", "\\1", $var)]['available']) {
$replacement = $extcreditsarray[$creditsid]['title'];
} else {
$replacement = $lang['settings_creditsformula_'.$var];
}
$settingsnew['creditsformulaexp'] = str_replace($var, '<u>'.$replacement.'</u>', $settingsnew['creditsformulaexp']);
}
$settingsnew['creditsformulaexp'] = addslashes('<u>'.$lang['settings_creditsformula_credits'].'</u>='.$settingsnew['creditsformulaexp']);
$initformula = str_replace('posts', '0', $settingsnew['creditsformula']);
for($i = 1; $i <= 8; $i++) {
$initformula = str_replace('extcredits'.$i, $settingsnew['initcredits'][$i], $initformula);
}
eval("\$initcredits = round($initformula);");
$settingsnew['extcredits'] = addslashes(serialize($extcreditsarray));
$settingsnew['initcredits'] = $initcredits.','.implode(',', $settingsnew['initcredits']);
if($settingsnew['creditstax'] < 0 || $settingsnew['creditstax'] >= 1) {
$settingsnew['creditstax'] = 0;
}
} elseif($do == 'security') {
$settingsnew['seccodestatus'] = bindec(intval($settingsnew['seccodestatus'][5]).intval($settingsnew['seccodestatus'][4]).intval($settingsnew['seccodestatus'][3]).intval($settingsnew['seccodestatus'][2]).intval($settingsnew['seccodestatus'][1]));
if($settingsnew['maxonlines'] > 65535 || !is_numeric($settingsnew['maxonlines'])) {
cpmsg('settings_maxonlines_invalid');
}
$db->query("ALTER TABLE {$tablepre}sessions MAX_ROWS=$settingsnew[maxonlines]");
if($settingsnew['maxonlines'] < $settings['maxonlines']) {
$db->query("DELETE FROM {$tablepre}sessions");
}
} elseif($do == 'periods') {
foreach(array('visitbanperiods', 'postbanperiods', 'postmodperiods', 'searchbanperiods') as $periods) {
$periodarray = array();
foreach(explode("\n", $settingsnew[$periods]) as $period) {
if(preg_match("/^\d{1,2}\:\d{2}\-\d{1,2}\:\d{2}$/", $period = trim($period))) {
$periodarray[] = $period;
}
}
$settingsnew[$periods] = implode("\r\n", $periodarray);
}
} elseif($do == 'javascript') {
$settingsnew['jsrefdomains'] = trim(preg_replace("/(\s*(\r\n|\n\r|\n|\r)\s*)/", "\r\n", $settingsnew['jsrefdomains']));
} elseif($do == 'wap') {
$settingsnew['wapdateformat'] = str_replace('mm', 'n', $settingsnew['wapdateformat']);
$settingsnew['wapdateformat'] = str_replace('dd', 'j', $settingsnew['wapdateformat']);
$settingsnew['wapdateformat'] = str_replace('yyyy', 'Y', $settingsnew['wapdateformat']);
$settingsnew['wapdateformat'] = str_replace('yy', 'y', $settingsnew['wapdateformat']);
} elseif($do == 'misc') {
$settingsnew['timeformat'] = $settingsnew['timeformat'] == '24' ? 'H:i' : 'h:i A';
$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']);
if(empty($settingsnew['maxonlinelist'])) {
$settingsnew['maxonlinelist'] = 0;
}
$settingsnew['myrecorddays'] = intval($settingsnew['myrecorddays']) > 0 ? intval($settingsnew['myrecorddays']) : 30;
$settingsnew['editoroptions'] = bindec($settingsnew['defaulteditormode'].$settingsnew['allowswitcheditor']);
}
foreach($settingsnew as $key => $val) {
if(isset($settings[$key]) && $settings[$key] != $val) {
$$key = $val;
if(in_array($key, array('newbiespan', 'topicperpage', 'postperpage', 'memberperpage', 'hottopic', 'starthreshold', 'delayviewcount',
'visitedforums', 'maxsigrows', 'timeoffset', 'statscachelife', 'pvfrequence', 'oltimespan', 'seccodestatus',
'maxprice', 'rssttl', 'rewritestatus', 'bdaystatus', 'maxonlines', 'loadctrl', 'floodctrl', 'regctrl', 'regfloodctrl',
'searchctrl', 'extcredits1', 'extcredits2', 'extcredits3', 'extcredits4', 'extcredits5', 'extcredits6',
'extcredits7', 'extcredits8', 'transfermincredits', 'exchangemincredits', 'maxincperthread', 'maxchargespan',
'maxspm', 'maxsearchresults', 'maxsmilies', 'threadmaxpages', 'membermaxpages', 'maxpostsize', 'minpostsize', 'maxavatarsize',
'maxavatarpixel', 'maxpolloptions', 'maxthreadads', 'karmaratelimit', 'losslessdel', 'edittimelimit', 'smcols',
'watermarktrans', 'watermarkquality', 'jscachelife', 'waptpp', 'wapppp', 'wapmps', 'maxmodworksmonths'))) {
$val = (float)$val;
}
if($key == 'userstatusby') {
updatecache('usergroups');
}
$db->query("REPLACE INTO {$tablepre}settings (variable, value)
VALUES ('$key', '$val')");
}
}
updatecache('settings');
cpmsg('settings_update_succeed');
}
?>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -