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

📄 jswizard.inc.php

📁 Discuz功能源码(开源)
💻 PHP
📖 第 1 页 / 共 5 页
字号:
<?php

/*
	[Discuz!] (C)2001-2009 Comsenz Inc.
	This is NOT a freeware, use is subject to license terms

	$Id: jswizard.inc.php 17186 2008-12-09 07:09:05Z monkey $
*/

if(!defined('IN_DISCUZ') || !defined('IN_ADMINCP')) {
        exit('Access Denied');
}

if(!empty($previewurl)) {
	include_once DISCUZ_ROOT.'./forumdata/cache/cache_request.php';
	require_once DISCUZ_ROOT.'./include/request.func.php';
	parse_str($jsurl.'&nocache=yes', $requestdata);
	if($requestdata['function'] == 'side') {
		$tags = '<div id="wrap" class="wrap with_side s_clear" style="width:90%;height:auto;min-height:50px !important"><div class="main"><div class="content"></div></div><div id="sidebar" class="side"><div>';
	} else {
		$tags = '<div id="wrap" class="wrap s_clear" style="width:90%;height:auto;min-height:50px !important"><div class="main"><div class="content">';
	}
	echo '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><meta http-equiv="Content-Type" content="text/html; charset='.$charset.'" /><head><script type="text/javascript" src="include/js/common.js"></script></head><link rel="stylesheet" type="text/css" href="forumdata/cache/style_'.STYLEID.'_common.css" />';
	echo "\n\n<body><div id=\"append_parent\"></div><div id=\"ajaxwaitid\"></div>$tags\n\n".parse_request($requestdata, '', 0)."\n\n</div></div></div></body>\n\n</html>";
	exit;
}

cpheader();

$jstypes = array(0 => 'threads', 1 => 'forums', 2 => 'memberrank', 3 => 'stats', 4 => 'images', 5 => 'module', -2 => 'side', -1 => 'custom');

$from = $action == 'jswizard' && $operation != 'infoside' ? 'jswizard' : $from;
$infosidemenu = array(array('menu' => 'nav_infoside', 'submenu' => array(
	array('jswizard_infoside_global', 'jswizard&operation=infoside&from='.$from),
	array('jswizard_infoside_2', 'jswizard&operation=infoside&sideid=2&from='.$from),
	array('jswizard_infoside_0', 'jswizard&operation=infoside&sideid=0&from='.$from),
)), '', $operation == 'infoside' ? 1 : 0);

$addmenu = array();
foreach($jstypes as $k => $v) {
	if($k != 5) {
		$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;
	$jskeyempty = 0;
	$editext = ($jssetting || $edit) ? '<input type="hidden" name="edit" value="'.dhtmlspecialchars($jssetting ? $jssetting : $edit).'">' : '';
	ksort($jswizard);

	if(!empty($type)) {
		list($keypre, $keyp) = explode('_', $jssetting);
		showsubmenu('nav_javascript', array(
			array('config', 'jswizard&operation=config', 0),
			$infosidemenu,
			array('admin', 'jswizard'.($keyp ? '&openkeypre='.$keypre : ''), 0),
			array(array('menu' => 'jswizard_addmodule', 'submenu' => $addmenu), '', $type != 'module' ? 1 : 0),
			array('jswizard_module', 'jswizard&type=module', $type != 'module' ? 0 : 1),
			array('import', 'jswizard&operation=import', 0),
		));
		if(empty($jskey)) {
			$jskey = $lang['jswizard_'.$type].'_'.random(3);
			$jskeyempty = 1;
		}
		$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;
			$jskeyempty = 0;
		} else {
			$jssetting = '';
		}
	}
	$jskey = stripslashes(trim($jskey));

	if(empty($type)) {

		list($keypre, $keyp) = explode('_', $jssetting);
		showsubmenu('nav_javascript', array(
			array('config', 'jswizard&operation=config', 0),
			$infosidemenu,
			array('admin', 'jswizard', 1),
			array(array('menu' => 'jswizard_addmodule', 'submenu' => $addmenu), '', 0),
			array('jswizard_module', 'jswizard&type=module', 0),
			array('import', 'jswizard&operation=import', 0)
		));

		if(!submitcheck('jsdelsubmit') && !submitcheck('jsexportsubmit')) {

			showformheader('jswizard');
			showtableheader();
			showsubtitle(array('', 'jswizard_key', 'jswizard_desc', 'jswizard_cache', 'type', ''));
			$lastpre = '';
			$openkeypre = isset($openkeypre) ? $openkeypre : '';
			echo '<tbody>';
			foreach($jswizard as $key => $jssetting) {
				list($keypre, $keyp) = explode('_', $key);
				if($keyp) {
					if($keypre != $lastpre) {
						echo '</tbody>';
						showtablerow('', array('class="td25"', '', 'width="40%"', 'width="10%"', 'width="20%"'), array(
							'',
							'<a href="javascript:;" onclick="display(\'key_'.$keypre.'\')"><span class="bold">['.$keypre.']</span></a>',
							'',
							'',
							'',
							''
						));
						echo '<tbody id="key_'.$keypre.'"'.($keypre != $openkeypre ? 'style="display: none"' : '').'>';
						$inpre = '&nbsp;&nbsp;&nbsp;&nbsp;';
					}
				} else {
					echo '<tbody>';
					$inpre = '';
				}
				$lastpre = $keypre;
				showtablerow('', array('class="td25"', '', 'width="40%"', 'width="10%"', 'width="20%"'), array(
					!@in_array($key, $infosidestatus) ? '<input class="checkbox" type="checkbox" name="keyarray[]" value="'.dhtmlspecialchars($key).'">' : '<input class="checkbox" type="checkbox" disabled="disabled">',
					$inpre.'<a href="'.$BASESCRIPT.'?action=jswizard&function='.$jstypes[$jssetting['type']].'&jssetting='.rawurlencode($key).'"><span class="bold">'.($inpre ? substr($key, strlen($keypre) + 1) : $key).'</span></a>',
					$jssetting['comment'].' ',
					($jssetting['parameter']['cachelife'] !== '' ? $jssetting['parameter']['cachelife'] : '<font class="lightfont">'.$jscachelife.'</font>'),
					(in_array($jstypes[$jssetting['type']], array('custom', 'side')) ? '<b>'.$lang['jswizard_'.$jstypes[$jssetting['type']]].'</b>' : $lang['jswizard_'.$jstypes[$jssetting['type']]]).
					($jssetting['parameter']['sidestatus'] ? ' &nbsp;('.$lang['jswizard_for_side'].')' : ''),
					'<a href="'.$BASESCRIPT.'?action=jswizard&function='.$jstypes[$jssetting['type']].'&jssetting='.rawurlencode($key).'">'.$lang['edit'].'</a> '.
					'<a href="'.$BASESCRIPT.'?action=jswizard&operation=copy&jssetting='.rawurlencode($key).'">'.$lang['copy'].'</a> '
				));
			}
			echo '</tbody>';

			showtablerow('', array('', 'colspan="5"'), 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'].'">&nbsp; &nbsp;<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', $BASESCRIPT.'?action=jswizard', 'succeed');
			} else {
				header("location: $boardurl$BASESCRIPT?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);

⌨️ 快捷键说明

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