📄 jswizard.inc.php
字号:
$importdata = preg_replace("/(#.*\s+)*/", '', @implode('', file($_FILES['importfile']['tmp_name'])));
@unlink($_FILES['importfile']['tmp_name']);
$importarray = unserialize(base64_decode($importdata));
if(!is_array($importarray)) {
cpmsg('jswizard_import_data_invalid', '', 'error');
}
$keys = implode("','", array_keys($importarray));
if($importrewrite != 2) {
$query = $db->query("SELECT variable FROM {$tablepre}request WHERE variable IN ('$keys')");
$existkeyarray = array();
while($existkey = $db->fetch_array($query)) {
if($importrewrite == 1) {
unset($importarray[$existkey['variable']]);
} else {
$existkeyarray[] = $existkey['variable'];
}
}
if($importrewrite == 0 && $existkeyarray) {
$existkeys = implode(", ", $existkeyarray);
cpmsg('jswizard_import_exist', '', 'error');
}
}
foreach($importarray as $key => $value) {
$value = unserialize($value);
$type = $value['type'];
unset($value['type']);
$value = addslashes(serialize($value));
$db->query("REPLACE INTO {$tablepre}request (variable, value, `type`) VALUES ('$key', '$value', '$type')");
}
updatecache('request');
cpmsg('jswizard_succeed', 'admincp.php?action=jswizard', 'succeed');
}
} elseif($operation == 'config') {
if(!submitcheck('settingsubmit')) {
showsubmenu('nav_javascript', array(
array('config', 'jswizard&operation=config', 1),
array('admin', 'jswizard', 0),
array(array('menu' => 'add', 'submenu' => $addmenu), '', 0),
array('import', 'jswizard&operation=import', 0),
));
$query = $db->query("SELECT * FROM {$tablepre}settings WHERE variable IN ('jsstatus', 'jsdateformat', 'jsrefdomains', 'infosidestatus', 'jscachelife')");
while($setting = $db->fetch_array($query)) {
$settings[$setting['variable']] = $setting['value'];
}
showformheader('jswizard&operation=config', '', 'settings');
showhiddenfields(array('operation' => $operation));
$settings['infosidestatus'] = unserialize($settings['infosidestatus']);
$sideselect[0] = '<select style="vertical-align: middle" name="settingsnew[infosidestatus][0]"><option value=""></option>';
$sideselect[1] = '<select style="vertical-align: middle" name="settingsnew[infosidestatus][1]"><option value=""></option>';
$query = $db->query("SELECT variable FROM {$tablepre}request WHERE type=-2");
while($side = $db->fetch_array($query)) {
$sideselect[0] .= "<option value=\"$side[variable]\" ".($settings['infosidestatus'][0] == $side['variable'] ? 'selected="selected"' : NULL).">$side[variable]</option>\n";
$sideselect[1] .= "<option value=\"$side[variable]\" ".($settings['infosidestatus'][1] == $side['variable'] ? 'selected="selected"' : NULL).">$side[variable]</option>\n";
}
$sideselect[0] .= '</select>';
$sideselect[1] .= '</select>';
$settings['jsdateformat'] = dateformat($settings['jsdateformat']);
showtableheader();
showsetting('settings_jsstatus', 'settingsnew[jsstatus]', $settings['jsstatus'], 'radio', '', 1);
showsetting('settings_jsdateformat', 'settingsnew[jsdateformat]', $settings['jsdateformat'], 'text');
showsetting('settings_jsrefdomains', 'settingsnew[jsrefdomains]', $settings['jsrefdomains'], 'textarea');
showtagfooter('tbody');
showsetting('settings_sideselect', '', '', '
<ul>
<li class="clear">'.$lang['settings_sideselect_0'].'</li>
<li class="clear">'.$sideselect[0].'</li>
<li class="clear">'.$lang['settings_sideselect_1'].'</li>
<li class="clear">'.$sideselect[1].'</li>
<li class="clear">'.$lang['settings_sideselect_replies_condition'].' <input name="settingsnew[infosidestatus][posts]" value="'.$settings['infosidestatus']['posts'].'" style="width:50px;" /> '.$lang['settings_sideselect_replies_show'].'</li>
</ul>
');
showsetting('settings_jscachelife', 'settingsnew[jscachelife]', $settings['jscachelife'], 'text');
showtablerow('class="nobg"', 'colspan="2"', '<input type="submit" class="btn" name="settingsubmit" value="'.lang('submit').'" />');
showtablefooter();
showformfooter();
} else {
$settingsnew['infosidestatus'] = addslashes(serialize($settingsnew['infosidestatus']));
foreach($settingsnew as $key => $val) {
$db->query("REPLACE INTO {$tablepre}settings (variable, value)
VALUES ('$key', '$val')");
}
updatecache('settings');
cpmsg('jswizard_succeed', 'admincp.php?action=jswizard&operation=config', 'succeed');
}
}
function jsforumselect($function) {
global $parameter, $lang, $db, $tablepre;
if(empty($function) || in_array($function, array('forums', 'threads', 'images'))) {
$forumselect = '<select name="parameter['.$function.'_forums][]" size="10" multiple="multiple">'.
'<option value="all" '.(is_array($parameter[$function.'_forums']) && in_array('all', $parameter[$function.'_forums']) ? 'selected="selected"' : '').'> '.$lang['jswizard_all_forums'].'</option>'.
'<option value=""> </option>';
if($function == 'forums') {
$query = $db->query("SELECT fid, name FROM {$tablepre}forums WHERE type='group' AND status>0 ORDER BY displayorder");
while($category = $db->fetch_array($query)) {
$forumselect .= '<option value="'.$category['fid'].'">'.strip_tags($category['name']).'</option>';
};
} else {
require_once DISCUZ_ROOT.'./include/forum.func.php';
$forumselect .= forumselect();
}
$forumselect .= '</select>';
if(is_array($parameter[$function.'_forums'])) {
foreach($parameter[$function.'_forums'] as $key => $value) {
if(!$value) {
unset($parameter[$function.'_forums'][$key]);
}
}
if(!in_array('all', $parameter[$function.'_forums'])) {
$forumselect = preg_replace("/(\<option value=\"(".implode('|', $parameter[$function.'_forums']).")\")(\>)/", "\\1 selected=\"selected\"\\3", $forumselect);
}
}
return $forumselect;
}
}
function jsfids($fidarray) {
foreach($fidarray as $key => $val) {
if(empty($val)) {
unset($fidarray[$key]);
}
}
return implode('_', $fidarray);
}
function jssavesetting($type) {
global $db, $tablepre, $jswizard, $jsurl, $parameter, $comment, $jskey, $edit;
$editadd = $edit ? "AND variable!='$edit'" : '';
if($db->result_first("SELECT variable FROM {$tablepre}request WHERE variable='$jskey' $editadd")) {
cpmsg('jswizard_jskey_exists', '', 'error');
}
$jskey = str_replace('&', '', $jskey);
$jswizard = addslashes(serialize(array('url' => $jsurl, 'parameter' => $parameter, 'comment' => $comment)));
if(strlen($jswizard) > 65535) {
cpmsg('jswizard_overflow', '', 'error');
}
if($edit) {
$db->query("UPDATE {$tablepre}request SET variable='$jskey', value='$jswizard' WHERE variable='$edit'");
} else {
$db->query("INSERT INTO {$tablepre}request (variable, value, `type`) VALUES ('$jskey', '$jswizard', '$type')");
}
updatecache('request');
cpmsg('jswizard_succeed', 'admincp.php?action=jswizard', 'succeed');
}
function jsinsertunit() {
?>
<script type="text/JavaScript">
function isUndefined(variable) {
return typeof variable == 'undefined' ? true : false;
}
function insertunit(text, obj) {
if(!obj) {
obj = 'jstemplate';
}
$(obj).focus();
if(!isUndefined($(obj).selectionStart)) {
var opn = $(obj).selectionStart + 0;
$(obj).value = $(obj).value.substr(0, $(obj).selectionStart) + text + $(obj).value.substr($(obj).selectionEnd);
} else if(document.selection && document.selection.createRange) {
var sel = document.selection.createRange();
sel.text = text.replace(/\r?\n/g, '\r\n');
sel.moveStart('character', -strlen(text));
} else {
$(obj).value += text;
}
}
</script>
<?
}
function dateformat($string, $operation = 'formalise') {
$string = htmlspecialchars(trim($string));
$replace = $operation == 'formalise' ? array(array('n', 'j', 'y', 'Y'), array('mm', 'dd', 'yy', 'yyyy')) : array(array('mm', 'dd', 'yyyy', 'yy'), array('n', 'j', 'Y', 'y'));
return str_replace($replace[0], $replace[1], $string);
}
?>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -