📄 cache.func.php
字号:
break;
case 'ranks':
global $userstatusby;
if($userstatusby == 2) {
while($rank = $db->fetch_array($query)) {
$rank['ranktitle'] = $rank['color'] ? '<font color="'.$rank['color'].'">'.$rank['ranktitle'].'</font>' : $rank['ranktitle'];
unset($rank['color']);
$data[] = $rank;
}
}
break;
case 'announcements':
$data = array();
while($datarow = $db->fetch_array($query)) {
if($datarow['type'] == 2) {
$datarow['pmid'] = $datarow['id'];
unset($datarow['id']);
unset($datarow['message']);
$datarow['subject'] = cutstr($datarow['subject'], 60);
}
$datarow['groups'] = empty($datarow['groups']) ? array() : explode(',', $datarow['groups']);
$data[] = $datarow;
}
break;
case 'announcements_forum':
if($data = $db->fetch_array($query)) {
$data['authorid'] = intval($data['authorid']);
if(empty($data['type'])) {
unset($data['message']);
}
} else {
$data = array();
}
break;
case 'globalstick':
$fuparray = $threadarray = array();
while($forum = $db->fetch_array($query)) {
switch($forum['type']) {
case 'forum':
$fuparray[$forum['fid']] = $forum['fup'];
break;
case 'sub':
$fuparray[$forum['fid']] = $fuparray[$forum['fup']];
break;
}
}
$query = $db->query("SELECT tid, fid, displayorder FROM {$tablepre}threads WHERE displayorder IN (2, 3)");
while($thread = $db->fetch_array($query)) {
switch($thread['displayorder']) {
case 2:
$threadarray[$fuparray[$thread['fid']]][] = $thread['tid'];
break;
case 3:
$threadarray['global'][] = $thread['tid'];
break;
}
}
foreach(array_unique($fuparray) as $gid) {
if(!empty($threadarray[$gid])) {
$data['categories'][$gid] = array(
'tids' => implode(',', $threadarray[$gid]),
'count' => intval(@count($threadarray[$gid]))
);
}
}
$data['global'] = array(
'tids' => empty($threadarray['global']) ? 0 : implode(',', $threadarray['global']),
'count' => intval(@count($threadarray['global']))
);
break;
case 'floatthreads':
$fuparray = $threadarray = $forums = array();
while($forum = $db->fetch_array($query)) {
switch($forum['type']) {
case 'forum':
$fuparray[$forum['fid']] = $forum['fup'];
break;
case 'sub':
$fuparray[$forum['fid']] = $fuparray[$forum['fup']];
break;
}
}
$query = $db->query("SELECT tid, fid, displayorder FROM {$tablepre}threads WHERE displayorder IN (4, 5)");
while($thread = $db->fetch_array($query)) {
switch($thread['displayorder']) {
case 4:
$threadarray[$thread['fid']][] = $thread['tid'];
break;
case 5:
$threadarray[$fuparray[$thread['fid']]][] = $thread['tid'];
break;
}
$forums[] = $thread['fid'];
}
foreach(array_unique($fuparray) as $gid) {
if(!empty($threadarray[$gid])) {
$data['categories'][$gid] = implode(',', $threadarray[$gid]);
}
}
foreach(array_unique($forums) as $fid) {
if(!empty($threadarray[$fid])) {
$data['forums'][$fid] = implode(',', $threadarray[$fid]);
}
}
break;
case 'censor':
$banned = $mod = array();
$data = array('filter' => array(), 'banned' => '', 'mod' => '');
while($censor = $db->fetch_array($query)) {
$censor['find'] = preg_replace("/\\\{(\d+)\\\}/", ".{0,\\1}", preg_quote($censor['find'], '/'));
switch($censor['replacement']) {
case '{BANNED}':
$banned[] = $censor['find'];
break;
case '{MOD}':
$mod[] = $censor['find'];
break;
default:
$data['filter']['find'][] = '/'.$censor['find'].'/i';
$data['filter']['replace'][] = $censor['replacement'];
break;
}
}
if($banned) {
$data['banned'] = '/('.implode('|', $banned).')/i';
}
if($mod) {
$data['mod'] = '/('.implode('|', $mod).')/i';
}
break;
case 'forums':
while($forum = $db->fetch_array($query)) {
$forum['orderby'] = bindec((($forum['simple'] & 128) ? 1 : 0).(($forum['simple'] & 64) ? 1 : 0));
$forum['ascdesc'] = ($forum['simple'] & 32) ? 'ASC' : 'DESC';
if(!isset($forumlist[$forum['fid']])) {
$forum['name'] = strip_tags($forum['name']);
if($forum['uid']) {
$forum['users'] = "\t$forum[uid]\t";
}
unset($forum['uid']);
if($forum['fup']) {
$forumlist[$forum['fup']]['count']++;
}
$forumlist[$forum['fid']] = $forum;
} elseif($forum['uid']) {
if(!$forumlist[$forum['fid']]['users']) {
$forumlist[$forum['fid']]['users'] = "\t";
}
$forumlist[$forum['fid']]['users'] .= "$forum[uid]\t";
}
}
$orderbyary = array('lastpost', 'dateline', 'replies', 'views');
if(!empty($forumlist)) {
foreach($forumlist as $fid1 => $forum1) {
if(($forum1['type'] == 'group' && $forum1['count'])) {
$data[$fid1]['fid'] = $forum1['fid'];
$data[$fid1]['type'] = $forum1['type'];
$data[$fid1]['name'] = $forum1['name'];
$data[$fid1]['fup'] = $forum1['fup'];
$data[$fid1]['viewperm'] = $forum1['viewperm'];
$data[$fid1]['orderby'] = $orderbyary[$forum1['orderby']];
$data[$fid1]['ascdesc'] = $forum1['ascdesc'];
foreach($forumlist as $fid2 => $forum2) {
if($forum2['fup'] == $fid1 && $forum2['type'] == 'forum') {
$data[$fid2]['fid'] = $forum2['fid'];
$data[$fid2]['type'] = $forum2['type'];
$data[$fid2]['name'] = $forum2['name'];
$data[$fid2]['fup'] = $forum2['fup'];
$data[$fid2]['viewperm'] = $forum2['viewperm'];
$data[$fid2]['orderby'] = $orderbyary[$forum2['orderby']];
$data[$fid2]['ascdesc'] = $forum2['ascdesc'];
$data[$fid2]['users'] = $forum2['users'];
foreach($forumlist as $fid3 => $forum3) {
if($forum3['fup'] == $fid2 && $forum3['type'] == 'sub') {
$data[$fid3]['fid'] = $forum3['fid'];
$data[$fid3]['type'] = $forum3['type'];
$data[$fid3]['name'] = $forum3['name'];
$data[$fid3]['fup'] = $forum3['fup'];
$data[$fid3]['viewperm'] = $forum3['viewperm'];
$data[$fid3]['orderby'] = $orderbyary[$forum3['orderby']];
$data[$fid3]['ascdesc'] = $forum3['ascdesc'];
$data[$fid3]['ascdesc'] = $forum3['ascdesc'];
$data[$fid3]['users'] = $forum3['users'];
}
}
}
}
}
}
}
break;
case 'onlinelist':
$data['legend'] = '';
while($list = $db->fetch_array($query)) {
$data[$list['groupid']] = $list['url'];
$data['legend'] .= "<img src=\"images/common/$list[url]\" alt=\"\" /> $list[title] ";
if($list['groupid'] == 7) {
$data['guest'] = $list['title'];
}
}
break;
case 'forumlinks':
global $forumlinkstatus;
if($forumlinkstatus) {
$tightlink_text = $tightlink_logo = '';
while($flink = $db->fetch_array($query)) {
if($flink['description']) {
$forumlink['content'] = "<h5><a href=\"$flink[url]\" target=\"_blank\">$flink[name]</a></h5><p>$flink[description]</p>";
if($flink['logo']) {
$forumlink['type'] = 1;
$forumlink['logo'] = $flink['logo'];
} else {
$forumlink['type'] = 2;
}
$data[] = $forumlink;
} else {
if($flink['logo']) {
$tightlink_logo .= "<a href=\"$flink[url]\" target=\"_blank\"><img src=\"$flink[logo]\" border=\"0\" alt=\"$flink[name]\" /></a> ";
} else {
$tightlink_text .= "<a href=\"$flink[url]\" target=\"_blank\">[$flink[name]]</a> ";
}
}
}
if($tightlink_logo || $tightlink_text) {
$tightlink_logo .= $tightlink_logo ? '<br />' : '';
$data[] = array('type' => 3, 'content' => $tightlink_logo.$tightlink_text);
}
} else {
$data = array();
}
break;
case 'bbcodes':
$regexp = array (
1 => "/\[{bbtag}]([^\"]+?)\[\/{bbtag}\]/is",
2 => "/\[{bbtag}=(['\"]?)([^\"]+?)(['\"]?)\]([^\"]+?)\[\/{bbtag}\]/is",
3 => "/\[{bbtag}=(['\"]?)([^\"]+?)(['\"]?),(['\"]?)([^\"]+?)(['\"]?)\]([^\"]+?)\[\/{bbtag}\]/is"
);
while($bbcode = $db->fetch_array($query)) {
$search = str_replace('{bbtag}', $bbcode['tag'], $regexp[$bbcode['params']]);
$bbcode['replacement'] = preg_replace("/([\r\n])/", '', $bbcode['replacement']);
switch($bbcode['params']) {
case 2:
$bbcode['replacement'] = str_replace('{1}', '\\2', $bbcode['replacement']);
$bbcode['replacement'] = str_replace('{2}', '\\4', $bbcode['replacement']);
break;
case 3:
$bbcode['replacement'] = str_replace('{1}', '\\2', $bbcode['replacement']);
$bbcode['replacement'] = str_replace('{2}', '\\5', $bbcode['replacement']);
$bbcode['replacement'] = str_replace('{3}', '\\7', $bbcode['replacement']);
break;
default:
$bbcode['replacement'] = str_replace('{1}', '\\1', $bbcode['replacement']);
break;
}
if(preg_match("/\{(RANDOM|MD5)\}/", $bbcode['replacement'])) {
$search = str_replace('is', 'ies', $search);
$replace = '\''.str_replace('{RANDOM}', '_\'.random(6).\'', str_replace('{MD5}', '_\'.md5(\'\\1\').\'', $bbcode['replacement'])).'\'';
} else {
$replace = $bbcode['replacement'];
}
for($i = 0; $i < $bbcode['nest']; $i++) {
$data['searcharray'][] = $search;
$data['replacearray'][] = $replace;
}
}
break;
case 'bbcodes_display':
while($bbcode = $db->fetch_array($query)) {
$tag = $bbcode['tag'];
$bbcode['explanation'] = dhtmlspecialchars(trim($bbcode['explanation']));
$bbcode['prompt'] = addcslashes($bbcode['prompt'], '\\\'');
unset($bbcode['tag']);
$data[$tag] = $bbcode;
}
break;
case 'smilies':
$data = array('searcharray' => array(), 'replacearray' => array(), 'typearray' => array());
while($smiley = $db->fetch_array($query)) {
$data['searcharray'][$smiley['id']] = '/'.preg_quote(dhtmlspecialchars($smiley['code']), '/').'/';
$data['replacearray'][$smiley['id']] = $smiley['url'];
$data['typearray'][$smiley['id']] = $smiley['typeid'];
}
break;
case 'smilies_display':
while($type = $db->fetch_array($query)) {
$squery = $db->query("SELECT id, code, url FROM {$tablepre}smilies WHERE type='smiley' AND code<>'' AND typeid='$type[typeid]' ORDER BY displayorder");
if($db->num_rows($squery)) {
while($smiley = $db->fetch_array($squery)) {
if($size = @getimagesize('./images/smilies/'.$type['directory'].'/'.$smiley['url'])) {
$smiley['code'] = dhtmlspecialchars($smiley['code']);
$smileyid = $smiley['id'];
$s = smthumb($size, $GLOBALS['smthumb']);
$smiley['w'] = $s['w'];
$smiley['h'] = $s['h'];
$l = smthumb($size);
$smiley['lw'] = $l['w'];
unset($smiley['id'], $smiley['directory']);
$data[$type['typeid']][$smileyid] = $smiley;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -