📄 jswizard.inc.php
字号:
<?php
/*
[Discuz!] (C)2001-2007 Comsenz Inc.
This is NOT a freeware, use is subject to license terms
$Id: jswizard.inc.php 13104 2008-03-25 09:34:56Z liuqiang $
*/
if(!defined('IN_DISCUZ') || !defined('IN_ADMINCP')) {
exit('Access Denied');
}
cpheader();
$jstypes = array(0 => 'threads', 1 => 'forums', 2 => 'memberrank', 3 => 'stats', 4 => 'images', -1 => 'custom', -2 => 'side');
$addmenu = array();
foreach($jstypes as $v) {
$addmenu[] = array('jswizard_'.$v, 'jswizard&type='.$v);
}
if(!$operation) {
shownav('tools', 'nav_javascript');
$jswizard = array();
$query = $db->query("SELECT * FROM {$tablepre}request WHERE variable LIKE '".($jssetting != '' ? $jssetting : ($jskey != '' ? $jskey : '%'))."'");
while($settings = $db->fetch_array($query)) {
$jswizard[$settings['variable']] = unserialize($settings['value']);
$jswizard[$settings['variable']]['type'] = $settings['type'];
}
$type = !empty($function) ? $function : (isset($type) ? $type : '');
$edit = isset($edit) ? $edit : NULL;
$editext = ($jssetting || $edit) ? '<input type="hidden" name="edit" value="'.dhtmlspecialchars($jssetting ? $jssetting : $edit).'">' : '';
ksort($jswizard);
if(!empty($type)) {
showsubmenu('nav_javascript', array(
array('config', 'jswizard&operation=config', 0),
array('admin', 'jswizard', 0),
array(array('menu' => 'add', 'submenu' => $addmenu), '', empty($function) ? 1 : 0),
array('import', 'jswizard&operation=import', 0),
));
if(empty($jskey)) {
$jskey = $type.'_'.random(3);
}
$jspreview = '';
$comment = !empty($comment) ? $comment : $jswizard[$jssetting]['comment'];
if(!empty($function) && !empty($jssetting) && isset($jswizard[$jssetting]['url'])) {
$parameter = $jswizard[$jssetting]['parameter'];
$jskey = $jssetting;
$jssetting = $jswizard[$jssetting]['url'];
$preview = $jssubmit = TRUE;
} else {
$jssetting = '';
}
}
$jskey = stripslashes(trim($jskey));
if(empty($type)) {
showsubmenu('nav_javascript', array(
array('config', 'jswizard&operation=config', 0),
array('admin', 'jswizard', 1),
array(array('menu' => 'add', 'submenu' => $addmenu), '', 0),
array('import', 'jswizard&operation=import', 0)
));
if(!submitcheck('jsdelsubmit') && !submitcheck('jsexportsubmit')) {
showformheader('jswizard');
showtableheader();
showsubtitle(array('', 'jswizard_key', 'type', ''));
foreach($jswizard as $key => $jssetting) {
showtablerow('', array('class="td25"'), array(
'<input class="checkbox" type="checkbox" name="keyarray[]" value="'.dhtmlspecialchars($key).'">',
'<span class="bold">'.$key.'</span> '.$jssetting['comment'],
$lang['jswizard_'.$jstypes[$jssetting['type']]].
($jssetting['type'] == 0 && $jssetting['parameter']['sidestatus'] ? ' ('.$lang['jswizard_for_side'].')' : ''),
'<a href="admincp.php?action=jswizard&function='.$jstypes[$jssetting['type']].'&jssetting='.rawurlencode($key).'">'.lang('edit').'</a>'
));
}
showtablerow('', array('', 'colspan="3"'), array(
'<input type="checkbox" name="chkall" class="checkbox" onclick="checkAll(\'prefix\', this.form, \'keyarray\')">'.lang('select_all'),
'<input type="submit" class="btn" name="jsdelsubmit" value="'.$lang['delete'].'"> <input type="submit" class="btn" name="jsexportsubmit" value="'.$lang['export'].'">'
));
showtablefooter();
showformfooter();
} elseif(submitcheck('jsdelsubmit')) {
if(is_array($keyarray)) {
$keys = implode("','", $keyarray);
$db->query("DELETE FROM {$tablepre}request WHERE variable IN ('$keys')");
updatecache('request');
cpmsg('jswizard_succeed', 'admincp.php?action=jswizard', 'succeed');
} else {
header("location: {$boardurl}admincp.php?action=jswizard");
dexit();
}
} elseif(submitcheck('jsexportsubmit')) {
if(is_array($keyarray)) {
$keys = implode("','", $keyarray);
$query = $db->query("SELECT * FROM {$tablepre}request WHERE variable IN ('$keys')");
$exportdataarray = array();
while($exportdata = $db->fetch_array($query)) {
$value = unserialize($exportdata['value']);
$value['type'] = $exportdata['type'];
switch($value['type']) {
case 0:
unset($value['parameter']['threads_forums']);
unset($value['parameter']['tids']);
unset($value['parameter']['typeids']);
break;
case 1:
unset($value['parameter']['forums_forums']);
break;
case 4:
unset($value['parameter']['images_forums']);
break;
}
$exportdataarray[$exportdata['variable']] = serialize($value);
}
$time = gmdate("$dateformat $timeformat", $timestamp + $timeoffset * 3600);
$jswizard_export = "# Discuz! Request Dump\n".
"# Version: Discuz! $version\n".
"# Time: $time \n".
"# From: $bbname ($boardurl) \n".
"#\n".
"# Discuz! Community: http://www.Discuz.net\n".
"# Please visit our website for latest news about Discuz!\n".
"# --------------------------------------------------------\n\n\n".
wordwrap(base64_encode(serialize($exportdataarray)), 60, "\n", 1);
ob_end_clean();
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT');
header('Cache-Control: no-cache, must-revalidate');
header('Pragma: no-cache');
header('Content-Encoding: none');
header('Content-Length: '.strlen($jswizard_export));
header('Content-Disposition: attachment; filename=discuz_request_'.date('Ymd').'.txt');
header('Content-Type: '.(strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') ? 'application/octetstream' : 'application/octet-stream'));
echo $jswizard_export;
dexit();
} else {
header("location: {$boardurl}admincp.php?action=jswizard");
dexit();
}
}
} elseif($type == 'threads') {
$tcheckorderby = array((isset($parameter['orderby']) ? $parameter['orderby'] : 'lastpost') => 'checked');
for($i = 0; $i <= 6; $i++) {
$tcheckspecial[$i] = !empty($parameter['special'][$i]) ? 'checked' : '';
$tcheckdigest[$i] = !empty($parameter['digest'][$i]) ? 'checked' : '';
$tcheckstick[$i] = !empty($parameter['stick'][$i]) ? 'checked' : '';
}
$parameter['newwindow'] = isset($parameter['newwindow']) ? intval($parameter['newwindow']) : 1;
$tradionewwindow[$parameter['newwindow']] = 'checked';
$jsthreadtypeselect = '<select multiple="multiple" name="parameter[typeids][]" size="10"><option value="all">'.$lang['jswizard_all_typeids'].'</optoin><option value=""> </option>';
$query = $db->query("SELECT typeid, name FROM {$tablepre}threadtypes ORDER BY typeid DESC");
while($threadtype = $db->fetch_array($query)) {
$jsthreadtypeselect .= '<option value="'.$threadtype['typeid'].'" '.(isset($parameter['typeids']) && in_array($threadtype['typeid'], $parameter['typeids']) ? 'selected' : '').'>'.$threadtype['name'].'</option>';
}
$jsthreadtypeselect .= '</select>';
$trewardstatus = array(intval($parameter['rewardstatus']) => 'checked');
if($jssubmit && $function == 'threads') {
$jsurl = $jssetting ? $jssetting : "function=$function".
($parameter['threads_forums'] && !in_array('all', $parameter['threads_forums'])? '&fids='.jsfids($parameter['threads_forums']) : '').
"&sidestatus=$parameter[sidestatus]".
"&maxlength=$parameter[maxlength]".
"&fnamelength=$parameter[fnamelength]".
"&messagelength=$parameter[messagelength]".
"&startrow=$parameter[startrow]".
"&picpre=".rawurlencode($parameter['picpre']).
"&items=$parameter[items]".
"&tag=".rawurlencode($parameter[tag]).
'&tids='.str_replace(',', '_', $parameter['tids']).
($parameter['keyword'] ? '&keyword='.rawurlencode($parameter['keyword']) : '').
($parameter['typeids'] && !in_array('all', $parameter['typeids'])? '&typeids='.jsfids($parameter['typeids']) : '').
"&special=".bindec(intval($parameter['special'][1]).intval($parameter['special'][2]).intval($parameter['special'][3]).intval($parameter['special'][4]).intval($parameter['special'][5]).intval($parameter['special'][6]).intval($parameter['special'][0])).
"&rewardstatus=$parameter[rewardstatus]".
"&digest=".bindec(intval($parameter['digest'][1]).intval($parameter['digest'][2]).intval($parameter['digest'][3]).intval($parameter['digest'][4])).
"&stick=".bindec(intval($parameter['stick'][1]).intval($parameter['stick'][2]).intval($parameter['stick'][3]).intval($parameter['stick'][4])).
"&recommend=$parameter[recommend]".
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -