📄 javascript.php
字号:
$string = sprintf('%02d', $value['highlight']);
$stylestr = sprintf('%03b', $string[0]);
$SubjectStyles .= " style='";
$SubjectStyles .= $stylestr[0] ? 'font-weight: bold;' : NULL;
$SubjectStyles .= $stylestr[1] ? 'font-style: italic;' : NULL;
$SubjectStyles .= $stylestr[2] ? 'text-decoration: underline;' : NULL;
$SubjectStyles .= $string[1] ? 'color: '.$colorarray[$string[1]] : NULL;
$SubjectStyles .= "'";
}
$replace['{link}'] = $boardurl.($blog ? 'blog' : 'viewthread').".php?tid=$tid";
$replace['{subject_nolink}'] = cutstr($value['subject'],($fnamelength ? ($maxlength - $value['fnamelength']) : $maxlength));
$replace['{subject_full}'] = $value['subject'];
$replace['{prefix}'] = $prefix;
$replace['{forum}'] = "<a href='".$boardurl."forumdisplay.php?fid=$value[fid]'$LinkTarget>$value[fname]</a> ";
$replace['{dateline}'] = $value['dateline'];
$replace['{subject}'] = "<a href='".$boardurl.($blog ? 'blog' : 'viewthread').".php?tid=$tid' title='$value[subject]'$SubjectStyles$LinkTarget>".$replace['{subject_nolink}']."</a>";
$replace['{message}'] = $value['message'];
$replace['{author}'] = $value['author'];
$replace['{lastposter}'] = $value['lastposter'];
$replace['{lastpost}'] = $value['lastpost'];
$replace['{views}'] = $value['views'];
$replace['{replies}'] = $value['replies'];
$writedata .= str_replace(array_keys($replace), $replace, $jstemplate);
}
}
} elseif($function == 'forums') {
$fups = isset($_GET['fups']) ? $_GET['fups'] : NULL;
$orderby = isset($_GET['orderby']) ? (in_array($_GET['orderby'],array('displayorder','threads','posts')) ? $_GET['orderby'] : 'displayorder') : 'displayorder';
$datalist = array();
$query = $db->query("SELECT `fid`,`fup`,`name`,`status`,`threads`,`posts`,`todayposts`,`displayorder`,`type`
FROM `{$tablepre}forums`
WHERE `type`!='group'
".($fups ? "AND `fup` IN ('".str_replace('_', '\',\'', $fups)."') " : "")."
AND `status`='1'
ORDER BY ".($orderby == 'displayorder' ? " `displayorder` ASC " : " `$orderby` DESC")."
LIMIT $startrow,".($items > 0 ? $items : 65535).";"
);
while($data = $db->fetch_array($query)) {
$datalist[$data['fid']]['name'] = str_replace('\'', ' ',addslashes($data['name']));
$datalist[$data['fid']]['threads'] = $data['threads'];
$datalist[$data['fid']]['posts'] = $data['posts'];
$datalist[$data['fid']]['todayposts'] = $data['todayposts'];
}
$writedata = '';
if(is_array($datalist)) {
$jstemplate = !$jstemplate ? '{forumname}<br>' : $jstemplate;
foreach($datalist AS $fid=>$value) {
$replace['{link}'] = $boardurl."forumdisplay.php?fid=$fid";
$replace['{forumname_nolink}'] = $value['name'];
$replace['{forumname}'] = "<a href='".$boardurl."forumdisplay.php?fid=$fid'$LinkTarget>$value[name]</a>";
$replace['{threads}'] = $value['threads'];
$replace['{posts}'] = $value['posts'];
$replace['{todayposts}'] = $value['todayposts'];
$writedata .= str_replace(array_keys($replace), $replace, $jstemplate);
}
}
} elseif($function == 'memberrank') {
$orderby = isset($_GET['orderby']) ? $_GET['orderby'] : 'credits';
$datalist = array();
switch($orderby) {
case 'credits':
$sql = "SELECT `username`,`uid`,`credits` FROM `{$tablepre}members` ORDER BY `credits` DESC";
break;
case 'posts':
$sql = "SELECT `username`,`uid`,`posts` FROM `{$tablepre}members` ORDER BY `posts` DESC";
break;
case 'digestposts':
$sql = "SELECT `username`,`uid`,`digestposts` FROM `{$tablepre}members` ORDER BY `digestposts` DESC";
break;
case 'regdate':
$sql = "SELECT `username`,`uid`,`regdate` FROM `{$tablepre}members` ORDER BY `regdate` DESC";
break;
case 'todayposts':
$sql = "SELECT DISTINCT(author) AS username,authorid AS uid,COUNT(pid) AS postnum FROM `{$tablepre}posts` WHERE `dateline`>=".($timestamp - 86400)." AND `authorid`!='0' GROUP BY `author` ORDER BY `postnum` DESC";
break;
}
$query = $db->query($sql." LIMIT $startrow,$items;");
while($data = $db->fetch_array($query,MYSQL_NUM)) {
$data[2] = $orderby == 'regdate' ? gmdate($dateformat,$data[2] + $_DCACHE['settings']['timeoffset'] * 3600) : $data[2];
$datalist[] = $data;
}
$writedata = '';
if(is_array($datalist)) {
$jstemplate = !$jstemplate ? '{regdate} {member} {value}<br>' : $jstemplate;
foreach($datalist AS $value) {
$replace['{regdate}'] = $replace['{value}'] = '';
if($orderby == 'regdate') {
$replace['{regdate}'] = $value[2];
} else {
$replace['{value}'] = $value[2];
}
$replace['{member}'] = "<a href='".$boardurl."space.php?uid=$value[1]'$LinkTarget>$value[0]</a>";
$writedata .= str_replace(array_keys($replace), $replace, $jstemplate);
}
}
} elseif($function == 'stats') {
$info = isset($_GET['info']) ? $_GET['info'] : NULL;
if(is_array($info)) {
$language = $info;
$info_index = '';
$statsinfo = array();
$statsinfo['forums'] = $statsinfo['threads'] = $statsinfo['posts'] = 0;
$query = $db->query("SELECT `status`,`threads`,`posts`
FROM `{$tablepre}forums` WHERE
`status`='1';
");
while($forumlist = $db->fetch_array($query)) {
$statsinfo['forums']++;
$statsinfo['threads'] += $forumlist['threads'];
$statsinfo['posts'] += $forumlist['posts'];
}
unset($info['forums'],$info['threads'],$info['posts']);
foreach($info AS $index=>$value) {
if($index == 'members') {
$sql = "SELECT COUNT(*) FROM `{$tablepre}members`;";
} elseif($index == 'online') {
$sql = "SELECT COUNT(*) FROM `{$tablepre}sessions`;";
} elseif($index == 'onlinemembers') {
$sql = "SELECT COUNT(*) FROM `{$tablepre}sessions` WHERE `uid`>'0';";
}
if($index == 'members' || $index == 'online' || $index == 'onlinemembers') {
$query = $db->query($sql);
$statsinfo[$index] = $db->result($query, 0);
}
}
unset($index, $value);
$writedata = '';
$jstemplate = !$jstemplate ? '{name} {value}<br>' : $jstemplate;
foreach($language AS $index=>$value) {
$replace['{name}'] = $value;
$replace['{value}'] = $statsinfo[$index];
$writedata .= str_replace(array_keys($replace), $replace, $jstemplate);
}
}
} elseif($function == 'images') {
$maxwidth = isset($_GET['maxwidth']) ? $_GET['maxwidth'] : 0;
$maxheight = isset($_GET['maxheight']) ? $_GET['maxheight'] : 0;
require DISCUZ_ROOT.'./forumdata/cache/cache_forums.php';
$datalist = array();
$sql = ($fids ? ' AND `fid` IN (\''.str_replace('_', '\',\'', $fids).'\')' : '')
.(($digest > 0 && $digest < 15) ? threadrange($digest, 'digest') : '');
$query = $db->query("SELECT attach.*,t.tid,t.fid,t.digest,t.author,t.dateline,t.subject,t.displayorder
FROM `{$tablepre}attachments` attach
LEFT JOIN `{$tablepre}threads` t
ON `t`.`tid`=`attach`.`tid`
WHERE `attach`.`readperm`='0'
AND `displayorder`>='0'
AND `isimage` = '1'
$sql
GROUP BY `attach`.`tid`
ORDER BY `attach`.`dateline` DESC,`attach`.`tid` DESC
LIMIT $startrow,$items;"
);
$attachurl = preg_match("/^((http|ftp)s?:\/\/)/i", $_DCACHE['settings']['attachurl']) ? $_DCACHE['settings']['attachurl'] : $boardurl.$_DCACHE['settings']['attachurl'];
while($data = $db->fetch_array($query)) {
$datalist[$data['tid']]['threadlink'] = $boardurl."viewthread.php?tid=$data[tid]";
$datalist[$data['tid']]['imgfile'] = ($data['remote'] ? $_DCACHE['settings']['ftp']['attachurl'] : $attachurl).'/'.$data[attachment].($_DCACHE['settings']['thumbstatus'] && $data['thumb'] ? '.thumb.jpg' : '');
$datalist[$data['tid']]['subject'] = str_replace('\'', ' ',$data['subject']);
$datalist[$data['tid']]['author'] = addslashes($data['author']);
$datalist[$data['tid']]['dateline'] = gmdate("$dateformat $timeformat",$data['dateline'] + $_DCACHE['settings']['timeoffset'] * 3600);
$datalist[$data['tid']]['fname'] = isset($_DCACHE['forums'][$data['fid']]['name']) ? str_replace('\'', ' ',addslashes($_DCACHE['forums'][$data['fid']]['name'])) : NULL;
$datalist[$data['tid']]['description'] = $data['description'] ? str_replace('\'', ' ',addslashes($data['description'])) : NULL;
}
$writedata = '';
if(is_array($datalist)) {
$imgsize = ($maxwidth ? " width='$maxwidth'" : NULL).($maxheight ? " height='$maxheight'" : NULL);
$jstemplate = !$jstemplate ? '{image}' : $jstemplate;
foreach($datalist AS $value) {
$replace['{link}'] = $value['threadlink'];
$replace['{imgfile}'] = $value['imgfile'];
$replace['{image}'] = "<a href='$value[threadlink]'$LinkTarget><img$imgsize src='$value[imgfile]' border='0' alt='"
.($value['description'] ? "$value[description]
" : NULL)
."$value[subject]
$value[author]($value[dateline])
$value[fname]' /></a>";
$writedata .= str_replace(array_keys($replace), $replace, $jstemplate);
}
}
} else {
exit("document.write(\"<font color=red>Undefined action.</font>\");");
}
return parsenode($writedata);
}
function jsrewrite($data) {
global $boardurl, $_DCACHE;
if(in_array($_DCACHE['settings']['rewritestatus'], array(2, 3))) {
$searcharray = array
(
"/\<a href\=\'".preg_quote($boardurl, '/')."forumdisplay\.php\?fid\=(\d+)\'/",
"/\<a href\=\'".preg_quote($boardurl, '/')."viewthread\.php\?tid\=(\d+)\'/",
"/\<a href\=\'".preg_quote($boardurl, '/')."space\.php\?uid\=(\d+)\'/",
"/\<a href\=\'".preg_quote($boardurl, '/')."space\.php\?username\=([^&]+?)\'/"
);
$replacearray = array
(
"<a href='{$boardurl}forum-\\1-1.html'",
"<a href='{$boardurl}thread-\\1-1-1.html'",
"<a href='{$boardurl}space-uid-\\1.html'",
"<a href='{$boardurl}space-username-\\1.html'"
);
$data = preg_replace($searcharray, $replacearray, $data);
}
return $data;
}
function parsenode($data) {
global $jstemplatebody;
if($jstemplatebody) {
$data = preg_replace("/\[node\](.+?)\[\/node\]/is", $data, $jstemplatebody, 1);
$data = preg_replace("/\[node\](.+?)\[\/node\]/is", '', $data);
}
return $data;
}
function UpdateCache($cachfile,$data='') {
global $timestamp, $jscachelife, $_DCACHE;
if(!$fp = @fopen($cachfile, 'wb')) {
exit("document.write(\"Unable to write to cache file!<br>Please chmod ./forumdata/cache to 777 and try again.\");");
}
$fp = @fopen($cachfile, 'wb');
$cachedata = "if(!defined('IN_DISCUZ')) exit('Access Denied');\n\$expiration = '".($timestamp + $jscachelife)."';\n".$data."\n";
@fwrite($fp, "<?php\n//Discuz! cache file, DO NOT modify me!".
"\n//Created: ".date("M j, Y, G:i").
"\n//Identify: ".md5(basename($cachfile).$cachedata.$_DCACHE['settings']['authkey'])."\n\n$cachedata?>");
@fclose($fp);
}
function threadrange($range, $field, $params = 4) {
$range = intval($range);
$range = sprintf("%0".$params."d", decbin($range));
$range = "$range";
$range_filed = '';
for($i = 0; $i < $params - 1; $i ++) {
$range_filed .= $range[$i] == 1 ? ($i + 1) : '';
}
$range_filed .= $range[$params - 1] == 1 ? 0 : '';
return ' AND `'.$field.'` IN (\''.str_replace('_', '\',\'', substr(chunk_split($range_filed,1,"_"),0,-1)).'\')';
}
?>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -