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

📄 cache.func.php

📁 极限网络智能办公系统 Office Automation V3.0官方100%源代码.
💻 PHP
📖 第 1 页 / 共 4 页
字号:
		case 'globalstick':
			$table = 'forums';
			$cols = 'fid, type, fup';
			$conditions = "WHERE status>0 AND type IN ('forum', 'sub') ORDER BY type";
			break;
		case 'forums':
			$table = 'forums f';
			$cols = 'f.fid, f.type, f.name, f.fup, ff.viewperm, a.uid';
			$conditions = "LEFT JOIN {$tablepre}forumfields ff ON ff.fid=f.fid LEFT JOIN {$tablepre}access a ON a.fid=f.fid AND a.allowview='1' WHERE f.status>0 ORDER BY f.type, f.displayorder";
			break;
		case 'onlinelist':
			$table = 'onlinelist';
			$conditions = "ORDER BY displayorder";
			break;
		case 'forumlinks':
			$table = 'forumlinks';
			$conditions = "ORDER BY displayorder";
			break;
		case 'bbcodes':
			$table = 'bbcodes';
			$conditions = "WHERE available='1'";
			break;
		case 'bbcodes_display':
			$table = 'bbcodes';
			$cols = 'tag, icon, example, explanation, params, prompt';
			$conditions = "WHERE available='1' AND icon!=''";
			break;
		case 'smilies':
			$table = 'smilies';
			$cols = 'id, code, url';
			$conditions = "WHERE type='smiley' AND code<>'' ORDER BY LENGTH(code) DESC";
			break;
		case in_array($cachename, array('smilies_display', 'smiliestable')):
			$table = 'smilies';
			$cols = 'id, code, url';
			$limit = in_array($script, array('forumdisplay', 'viewthread', 'pm')) ? 'LIMIT '.($smcols * $smrows) : '';
			$conditions = "WHERE type='smiley' ORDER BY displayorder $limit";
			break;
		case 'icons':
			$table = 'smilies';
			$cols = 'id, url';
			$conditions = "WHERE type='icon' ORDER BY displayorder";
			break;
		case 'fields_required':
			$table = 'profilefields';
			$cols = 'fieldid, invisible, title, description, required, unchangeable, selective, choices';
			$conditions = "WHERE available='1' AND required='1' ORDER BY displayorder";
			break;
		case 'fields_optional':
			$table = 'profilefields';
			$cols = 'fieldid, invisible, title, description, required, unchangeable, selective, choices';
			$conditions = "WHERE available='1' AND required='0' ORDER BY displayorder";
			break;
		case 'fields_thread':
			$table = 'profilefields';
			$cols = 'fieldid, title, selective, choices';
			$conditions = "WHERE available='1' AND invisible='0' AND showinthread='1' ORDER BY displayorder";
			break;
		case 'ipbanned':
			$db->query("DELETE FROM {$tablepre}banned WHERE expiration<'$timestamp'");
			$table = 'banned';
			$cols = 'ip1, ip2, ip3, ip4, expiration';
			break;
		case 'censor':
			$table = 'words';
			$cols = 'find, replacement';
			break;
		case 'medals':
			$table = 'medals';
			$cols = 'medalid, name, image';
			$conditions = "WHERE available='1'";
			break;
		case 'magics':
			$table = 'magics';
			$cols = 'magicid, available, identifier, name, description, weight, price';
			break;
		case 'birthdays_index':
			$table = 'members';
			$cols = 'uid, username, email, bday';
			$conditions = "WHERE RIGHT(bday, 5)='".gmdate('m-d', $timestamp + $timeoffset * 3600)."' ORDER BY bday LIMIT $maxbdays";
			break;
		case 'birthdays':
			$table = 'members';
			$cols = 'uid';
			$conditions = "WHERE RIGHT(bday, 5)='".gmdate('m-d', $timestamp + $timeoffset * 3600)."' ORDER BY bday";
			break;
		case 'modreasons':
			$table = 'settings';
			$cols = 'value';
			$conditions = "WHERE variable='modreasons'";
			break;
		case 'faqs':
			$table = 'faqs';
			$cols = 'id, identifier, keyword';
			$conditions = "WHERE identifier!='' AND keyword!=''";
			break;
		case 'secqaa':
			$table = 'itempool';
			$cols = 'question, answer';
			$conditions = "ORDER BY rand() LIMIT 10";
			break;
	}

	$data = array();
	if(!in_array($cachename, array('advs', 'supe_updateusers', 'supe_updateitems', 'supe_updatecircles'))) {
		$query = $db->query("SELECT $cols FROM {$tablepre}$table $conditions");
	}
	switch($cachename) {
		case 'settings':
			$data['qihoo_links'] = array();
			while($setting = $db->fetch_array($query)) {
				if($setting['variable'] == 'extcredits') {
					if(is_array($setting['value'] = unserialize($setting['value']))) {
						foreach($setting['value'] as $key => $value) {
							if($value['available']) {
								unset($setting['value'][$key]['available']);
							} else {
								unset($setting['value'][$key]);
							}
						}
					}
				} elseif($setting['variable'] == 'qihoo_keywords') {
					foreach(explode("\n", trim($setting['value'])) as $keyword) {
						if($keyword = trim($keyword)) {
							$data['qihoo_links']['keywords'][] = '<a href="search.php?srchtype=qihoo&amp;srchtxt='.rawurlencode($keyword).'&amp;searchsubmit=yes" target="_blank">'.dhtmlspecialchars(trim($keyword)).'</a>';
						}
					}
				} elseif($setting['variable'] == 'qihoo_topics') {
					if(is_array($topics = unserialize($setting['value']))) {
						foreach($topics as $topic) {
							if($topic['topic'] = trim($topic['topic'])) {
								$data['qihoo_links']['topics'][] = '<a href="topic.php?topic='.rawurlencode($topic['topic']).'&amp;keyword='.rawurlencode($topic['keyword']).'&amp;stype='.$topic['stype'].'&amp;length='.$topic['length'].'&amp;relate='.$topic['relate'].'" target="_blank">'.dhtmlspecialchars(trim($topic['topic'])).'</a>';
							}
						}
					}
				} elseif(in_array($setting['variable'], array('creditspolicy', 'ftp', 'secqaa', 'supe'))) {
					$setting['value'] = unserialize($setting['value']);
				} elseif($setting['variable'] == 'creditsformula') {
					if(!preg_match("/^([\+\-\*\/\.\d\(\)]|((extcredits[1-8]|digestposts|posts|pageviews|oltime)([\+\-\*\/\(\)]|$)+))+$/", $setting['value']) || !is_null(@eval(preg_replace("/(digestposts|posts|pageviews|oltime|extcredits[1-8])/", "\$\\1", $setting['value']).';'))) {
						$setting['value'] = '$member[\'extcredits1\']';
					} else {
						$setting['value'] = preg_replace("/(digestposts|posts|pageviews|oltime|extcredits[1-8])/", "\$member['\\1']", $setting['value']);
					}
				} elseif($setting['variable'] == 'maxsmilies') {
					$setting['value'] = $setting['value'] <= 0 ? -1 : $setting['value'];
				} elseif($setting['variable'] == 'threadsticky') {
					$setting['value'] = explode(',', $setting['value']);
				} elseif($setting['variable'] == 'attachdir') {
					$setting['value'] = str_replace('\\', '/', substr($setting['value'], 0, 2) == './' ? DISCUZ_ROOT.$setting['value'] : $setting['value']);
				} elseif($setting['variable'] == 'onlinehold') {
					$setting['value'] = $setting['value'] * 60;
				}

				if(!in_array($setting['variable'], array('qihoo_keywords', 'qihoo_topics'))) {
					$GLOBALS[$setting['variable']] = $data[$setting['variable']] = $setting['value'];
				}

				if(in_array($setting['variable'], array('supe_status', 'supe_tablepre', 'supe_siteurl', 'supe_sitename', 'supe_circlestatus'))) {
					$data['supe'][substr($setting['variable'], 5)] = $setting['value'];
					unset($data[$setting['variable']]);
				}
			}

			$data['ftp']['connid'] = 0;
			$data['indexname'] = empty($data['indexname']) ? 'index.php' : $data['indexname'];
			$data['seccodedata'] = $data['seccodedata'] ? unserialize($data['seccodedata']) : array();

			if(!$data['supe']['status']) {
				$data['supe'] = array('status' => 0);
			} else {
				if(!$data['supe']['items']['status']) {
					$data['supe']['items'] = array('status' => 0);
				}
				global $supe;
				if(!isset($data['supe']['attachurl']) && isset($supe['tablepre'])) {
					supe_dbconnect();
					$query = $supe['db']->query("SELECT * FROM {$supe[tablepre]}settings WHERE variable IN ('attachmentdir', 'attachmenturl')");
					$supe_settings = array();
					while($supe_setting = $supe['db']->fetch_array($query)) {
						$supe_settings[$supe_setting['variable']] = $supe_setting['value'];
					}
					if(substr($supe_settings['attachmentdir'], 0, 2) == './' && empty($supe_settings['attachmenturl'])) {
						$supe_settings['attachmenturl'] = $supe['siteurl'].substr($supe_settings['attachmentdir'], 1);
					}
					$data['supe']['attachurl'] = $supe_settings['attachmenturl'];
					$db->query("UPDATE {$tablepre}settings SET value='".addslashes(serialize($data['supe']))."' WHERE variable='supe'");
				}
				if(!$data['supe']['dbmode']) {
					unset($data['supe']['dbhost'], $data['supe']['dbuser'], $data['supe']['dbpw'], $data['supe']['dbname']);
				}
			}

			$secqaacheck = sprintf('%03b', $data['secqaa']['status']);
			$data['secqaa']['status'] = array(
				1 => $secqaacheck{0},
				2 => $secqaacheck{1},
				3 => $secqaacheck{2}
			);
			if(!$data['secqaa']['status'][2] && !$data['secqaa']['status'][3]) {
				unset($data['secqaa']['minposts']);
			}

			$data['jsmenustatus'] = sprintf('%b', $data['jsmenustatus']);
			for($i = 1; $i <= strlen($data['jsmenustatus']); $i++) {
				if(substr($data['jsmenustatus'], -$i, 1)) $data['jsmenu'][$i] = TRUE;
			}
			unset($data['jsmenustatus']);

			$data['stylejumpstatus'] = $data['stylejump'];
			$data['stylejump'] = array();
			$query = $db->query("SELECT styleid, name FROM {$tablepre}styles WHERE available='1'");
			while($style = $db->fetch_array($query)) {
				$data['stylejump'][$style['styleid']] = dhtmlspecialchars($style['name']);
			}

			$query = $db->query("SELECT COUNT(*) FROM {$tablepre}forums WHERE status>0 AND threadcaches>0");
			$data['cachethreadon'] = $db->result($query, 0) ? 1 : 0;

			$query = $db->query("SELECT COUNT(*) FROM {$tablepre}members");
			$GLOBALS['totalmembers'] = $data['totalmembers'] = $db->result($query, 0);
			$query = $db->query("SELECT username FROM {$tablepre}members ORDER BY uid DESC LIMIT 1");
			$GLOBALS['lastmember'] = $data['lastmember'] = $db->result($query, 0);
			$GLOBALS['version'] = $data['version'] = DISCUZ_KERNEL_VERSION;

			$query = $db->query("SELECT nextrun FROM {$tablepre}crons WHERE available>'0' AND nextrun>'$timestamp' ORDER BY nextrun LIMIT 1");
			$data['cronnextrun'] = $db->result($query, 0);
			$globaladvs = advertisement('all');
			$data['globaladvs'] = $globaladvs['all'] ? $globaladvs['all'] : array();
			$data['redirectadvs'] = $globaladvs['redirect'] ? $globaladvs['redirect'] : array();

			$data['plugins'] = $data['pluginlinks'] = array();
			$query = $db->query("SELECT available, name, identifier, directory, datatables, modules FROM {$tablepre}plugins");
			while($plugin = $db->fetch_array($query)) {
				$plugin['modules'] = unserialize($plugin['modules']);
				if(is_array($plugin['modules'])) {
					foreach($plugin['modules'] as $module) {
						if($plugin['available'] && isset($module['name'])) {

							switch($module['type']) {
								case 1:
									$data['plugins']['links'][] = array('displayorder' => $module['displayorder'], 'adminid' => $module['adminid'], 'url' => "<a href=\"$module[url]\">$module[menu]</a>");
									break;
								case 2:
									$data['plugins']['links'][] = array('displayorder' => $module['displayorder'], 'adminid' => $module['adminid'], 'url' => "<a href=\"plugin.php?identifier=$plugin[identifier]&module=$module[name]\">$module[menu]</a>");
									$data['pluginlinks'][$plugin['identifier']][$module['name']] = array('adminid' => $module['adminid'], 'directory' => $plugin['directory']);
									break;
								case 4:
									$data['plugins']['include'][] = array('displayorder' => $module['displayorder'], 'adminid' => $module['adminid'], 'script' => $plugin['directory'].$module['name']);
									break;
								case 5:
									$data['plugins']['jsmenu'][] = array('displayorder' => $module['displayorder'], 'adminid' => $module['adminid'], 'url' => "<a href=\"$module[url]\">$module[menu]</a>");
									break;
								case 6:
									$data['plugins']['jsmenu'][] = array('displayorder' => $module['displayorder'], 'adminid' => $module['adminid'], 'url' => "<a href=\"plugin.php?identifier=$plugin[identifier]&module=$module[name]\">$module[menu]</a>");
									$data['pluginlinks'][$plugin['identifier']][$module['name']] = array('adminid' => $module['adminid'], 'directory' => $plugin['directory']);
									break;
							}
						}
					}
				}
			}

			if(is_array($data['plugins']['links'])) {
				usort($data['plugins']['links'], 'pluginmodulecmp');
				foreach($data['plugins']['links'] as $key => $module) {
					unset($data['plugins']['links'][$key]['displayorder']);
				}
			}
			if(is_array($data['plugins']['include'])) {
				usort($data['plugins']['include'], 'pluginmodulecmp');
				foreach($data['plugins']['include'] as $key => $module) {
					unset($data['plugins']['include'][$key]['displayorder']);
				}
			}
			if(is_array($data['plugins']['jsmenu'])) {
				usort($data['plugins']['jsmenu'], 'pluginmodulecmp');
				foreach($data['plugins']['jsmenu'] as $key => $module) {
					unset($data['plugins']['jsmenu'][$key]['displayorder']);
				}

⌨️ 快捷键说明

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