本文共 10338 字,大约阅读时间需要 34 分钟。
- <?php
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- define('CURSCRIPT', 'index');
- require_once './include/common.inc.php';
- require_once DISCUZ_ROOT.'./include/forum.func.php';
- $discuz_action = 1;
-
-
-
-
-
-
-
-
-
-
-
-
- if($cacheindexlife && !$discuz_uid && $showoldetails != 'yes' && (!$_DCACHE['settings']['frameon'] || $_DCACHE['settings']['frameon'] && $_GET['frameon'] != 'yes') && emptyempty($gid)) {
-
- $indexcache = getcacheinfo(0);
-
- if($timestamp - $indexcache['filemtime'] > $cacheindexlife) {
- @unlink($indexcache['filename']);
- define('CACHE_FILE', $indexcache['filename']);
- $styleid = $_DCACHE['settings']['styleid'];
- } elseif($indexcache['filename']) {
- @readfile($indexcache['filename']);
- $debug && debuginfo();
- $debug ? die('<script type="text/javascript">document.getElementById("debuginfo").innerHTML = " '.($debug ? 'Updated at '.gmdate("H:i:s", $indexcache['filemtime'] + 3600 * 8).', Processed in '.$debuginfo['time'].' second(s), '.$debuginfo['queries'].' Queries'.($gzipcompress ? ', Gzip enabled' : '') : '').'";</script>') : die();
- }
- }
-
-
-
-
-
- $validdays = $discuz_uid && !emptyempty($groupexpiry) && $groupexpiry >= $timestamp ? ceil(($groupexpiry - $timestamp) / 86400) : 0;
- if(isset($showoldetails)) {
- switch($showoldetails) {
- case 'no': dsetcookie('onlineindex', 0, 86400 * 365); break;
- case 'yes': dsetcookie('onlineindex', 1, 86400 * 365); break;
- }
- } else {
- $showoldetails = false;
- }
-
- $currenttime = gmdate($timeformat, $timestamp + $timeoffset * 3600);
- $lastvisittime = gmdate("$dateformat $timeformat", $lastvisit + $timeoffset * 3600);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- $memberenc = rawurlencode($lastmember);
- $newthreads = round(($timestamp - $lastvisit + 600) / 1000) * 1000;
-
- $rsshead = $rssstatus ? ('<link rel="alternate" type="application/rss+xml" title="'.$bbname.'" href="'.$boardurl.'rss.php?auth='.$rssauth."\" />\n") : '';
- $customtopics = '';
- if($qihoo['maxtopics']) {
- foreach(explode("\t", isset($_DCOOKIE['customkw']) ? $_DCOOKIE['customkw'] : '') as $topic) {
- $topic = dhtmlspecialchars(trim(stripslashes($topic)));
- $customtopics .= '<a href="topic.php?keyword='.rawurlencode($topic).'" target="_blank">'.$topic.'</a> ';
- }
- }
-
-
- $hottagstatus = $tagstatus && $hottags && $_DCACHE['tags'];
-
- $catlist = $forumlist = $sublist = $forumname = $collapseimg = $collapse = array();
- $threads = $posts = $todayposts = $fids = $announcepm = 0;
- $postdata = $historyposts ? explode("\t", $historyposts) : array();
-
- foreach(array('forumlinks', 'birthdays') as $key){
- if(!isset($_COOKIE['discuz_collapse']) || strpos($_COOKIE['discuz_collapse'], $key) === FALSE) {
- $collapseimg[$key] = 'collapsed_no.gif';
- $collapse[$key] = '';
- } else {
- $collapseimg[$key] = 'collapsed_yes.gif';
- $collapse[$key] = 'display: none';
- }
- }
-
- $gid = !emptyempty($gid) ? intval($gid) : 0;
-
-
-
-
- if(!$gid) {
-
- $announcements = '';
- if($_DCACHE['announcements']) {
- $readapmids = !emptyempty($_DCOOKIE['readapmid']) ? explode('D', $_DCOOKIE['readapmid']) : array();
- foreach($_DCACHE['announcements'] as $announcement) {
- if(emptyempty($announcement['groups']) || in_array($groupid, $announcement['groups'])) {
- if(emptyempty($announcement['type'])) {
- $announcements .= '<li><a href="announcement.php?id='.$announcement['id'].'">'.$announcement['subject'].
- '<em>('.gmdate($dateformat, $announcement['starttime'] + $timeoffset * 3600).')</em></a></li>';
- } elseif($announcement['type'] == 1) {
- $announcements .= '<li><a href="'.$announcement['message'].'" target="_blank">'.$announcement['subject'].
- '<em>('.gmdate($dateformat, $announcement['starttime'] + $timeoffset * 3600).')</em></a></li>';
- }
- }
- }
- }
- unset($_DCACHE['announcements']);
-
-
- $sql = !emptyempty($accessmasks) ?
- "SELECT f.fid, f.fup, f.type, f.name, f.threads, f.posts, f.todayposts, f.lastpost, f.inheritedmod, f.forumcolumns, f.simple, ff.description, ff.moderators, ff.icon, ff.viewperm, ff.redirect, a.allowview FROM { $tablepre}forums f
- LEFT JOIN { $tablepre}forumfields ff ON ff.fid=f.fid
- LEFT JOIN { $tablepre}access a ON a.uid='$discuz_uid' AND a.fid=f.fid
- WHERE f.status>0 ORDER BY f.type, f.displayorder"
- : "SELECT f.fid, f.fup, f.type, f.name, f.threads, f.posts, f.todayposts, f.lastpost, f.inheritedmod, f.forumcolumns, f.simple, ff.description, ff.moderators, ff.icon, ff.viewperm, ff.redirect FROM { $tablepre}forums f
- LEFT JOIN { $tablepre}forumfields ff USING(fid)
- WHERE f.status>0 ORDER BY f.type, f.displayorder";
-
- $query = $db->query($sql);
-
-
-
-
- while($forum = $db->fetch_array($query)) {
- $forumname[$forum['fid']] = strip_tags($forum['name']);
-
- if($forum['type'] != 'group') {
- $threads += $forum['threads'];
- $posts += $forum['posts'];
- $todayposts += $forum['todayposts'];
-
- if($forum['type'] == 'forum') {
-
- if(forum($forum)) {
- $catlist[$forum['fup']]['forums'][] = $forum['fid'];
- $forum['orderid'] = $catlist[$forum['fup']]['forumscount']++;
- $forum['subforums'] = '';
- $forumlist[$forum['fid']] = $forum;
- }
-
- } elseif(isset($forumlist[$forum['fup']])) {
- $forumlist[$forum['fup']]['threads'] += $forum['threads'];
- $forumlist[$forum['fup']]['posts'] += $forum['posts'];
- $forumlist[$forum['fup']]['todayposts'] += $forum['todayposts'];
- if($subforumsindex && $forumlist[$forum['fup']]['permission'] == 2 && !($forumlist[$forum['fup']]['simple'] & 16) || ($forumlist[$forum['fup']]['simple'] & 8)) {
- $forumlist[$forum['fup']]['subforums'] .= '<a href="forumdisplay.php?fid='.$forum['fid'].'">'.$forum['name'].'</a> ';
- }
- }
-
- }
- else {
-
- if(!isset($_COOKIE['discuz_collapse']) || strpos($_COOKIE['discuz_collapse'], 'category_'.$forum['fid']) === FALSE) {
- $forum['collapseimg'] = 'collapsed_no.gif';
- $collapse['category_'.$forum['fid']] = '';
- }
- else {
- $forum['collapseimg'] = 'collapsed_yes.gif';
- $collapse['category_'.$forum['fid']] = 'display: none';
- }
-
- if($forum['moderators']) {
- $forum['moderators'] = moddisplay($forum['moderators'], 'flat');
- }
- $forum['forumscount'] = 0;
- $catlist[$forum['fid']] = $forum;
- }
- }
-
- foreach($catlist as $catid => $category) {
- if($catlist[$catid]['forumscount'] && $category['forumcolumns']) {
- $catlist[$catid]['forumcolwidth'] = floor(100 / $category['forumcolumns']).'%';
- $catlist[$catid]['endrows'] = '';
- if($colspan = $category['forumscount'] % $category['forumcolumns']) {
- while(($category['forumcolumns'] - $colspan) > 0) {
- $catlist[$catid]['endrows'] .= '<td> </td>';
- $colspan ++;
- }
- $catlist[$catid]['endrows'] .= '</tr>';
- }
-
- } elseif(emptyempty($category['forumscount'])) {
- unset($catlist[$catid]);
- }
- }
- unset($catid, $category);
-
- if(isset($catlist[0]) && $catlist[0]['forumscount']) {
- $catlist[0]['fid'] = 0;
- $catlist[0]['type'] = 'group';
- $catlist[0]['name'] = $bbname;
- $catlist[0]['collapseimg'] = 'collapsed_no.gif';
- } else {
- unset($catlist[0]);
- }
-
- ?>
本文转自许琴 51CTO博客,原文链接:http://blog.51cto.com/xuqin/882318,如需转载请自行联系原作者