Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[美化] 用户信息美化 For 5.0 (9月14日更新)

[复制链接]
我不会用DISCUZ 发表于 2006-10-25 21:01:12 | 显示全部楼层
        $RCSfile: viewthread.php,v $
        $Revision: 1.119.2.3 $
        $Date: 2006/09/05 07:15:57 $
*/

define('CURSCRIPT', 'viewthread');

require_once './include/common.inc.php';
require_once DISCUZ_ROOT.'./include/forum.func.php';
require_once DISCUZ_ROOT.'./include/discuzcode.func.php';

$discuz_action = 3;

$query = $db->query("SELECT * FROM {$tablepre}threads t WHERE tid='$tid' AND displayorder>='0'");

$lastmod = array();

if(!$thread = $db->fetch_array($query)) {

        $tid = intval($_GET['tid']);
        if($supe_status && !empty($supe_fromsupesite) && md5("$discuz_auth_key-$tid") == $supe_fromsupesite) {
                $db->query("UPDATE {$supe_tablepre}spaceitems SET tid='0' WHERE tid='$tid'");
        }

        showmessage('thread_nonexistence');

} elseif($thread['moderated']) {
        $query = $db->query("SELECT uid AS moduid, username AS modusername, dateline AS moddateline, action AS modaction
                FROM {$tablepre}threadsmod
                WHERE tid='$tid' ORDER BY dateline DESC LIMIT 1");
        if($lastmod = $db->fetch_array($query)) {
                include language('modactions');
                $lastmod['modusername'] = $lastmod['modusername'] ? $lastmod['modusername'] : 'System';
                $lastmod['moddateline'] = gmdate("$dateformat $timeformat", $lastmod['moddateline'] + $timeoffset * 3600);
                $lastmod['modaction'] = $modactioncode[$lastmod['modaction']];
        } else {
                $db->query("UPDATE {$tablepre}threads SET moderated='0' WHERE tid='$tid'", 'UNBUFFERED');
        }
}

$supe_fromdiscuz = $supe_status && $thread['itemid'] ? md5("$discuz_auth_key-$thread[itemid]") : '';

$codecount = 0;
$thread['subjectenc'] = rawurlencode($thread['subject']);

$oldtopics = isset($_DCOOKIE['oldtopics']) ? $_DCOOKIE['oldtopics'] : 'D';
if(strpos($oldtopics, 'D'.$tid.'D') === FALSE) {
        $oldtopics = 'D'.$tid.$oldtopics;
        if(strlen($oldtopics) > 3072) {
                $oldtopics = preg_replace("((D\d+)+D).*$", "\\1", substr($oldtopics, 0, 3072));
        }
        dsetcookie('oldtopics', $oldtopics, 3600);
}

if($lastvisit < $thread['lastpost'] && (!isset($_DCOOKIE['fid'.$fid]) || $thread['lastpost'] > $_DCOOKIE['fid'.$fid])) {
        dsetcookie('fid'.$fid, $thread['lastpost'], 3600);
}
$navigation = "&raquo; <a href=\"forumdisplay.php?fid=$fid".($extra ? '&'.preg_replace("/^(&)*/", '', $extra) : '')."\">$forum[name]</a> &raquo; $thread[subject]";
$navtitle = $thread['subject'].' - '.strip_tags($forum['name']);
if($forum['type'] == 'sub') {
        $query = $db->query("SELECT fid, name FROM {$tablepre}forums WHERE fid='$forum[fup]'");
        $fup = $db->fetch_array($query);
        $navigation = "&raquo; <a href=\"forumdisplay.php?fid=$fup[fid]\">$fup[name]</a> $navigation";
        $navtitle = $navtitle.' - '.strip_tags($fup['name']);
}
$navtitle .= ' - ';

if($thread['typeid'] && isset($forum['threadtypes']['types'][$thread['typeid']])) {
        $thread['subject'] = ($forum['threadtypes']['listable'] ? '<a href="forumdisplay.php?fid='.$fid.'&filter=type&typeid='.$thread['typeid'].'">['.$forum['threadtypes']['types'][$thread['typeid']].']</a>' : '['.$forum['threadtypes']['types'][$thread['typeid']].']').' '.$thread['subject'];
}
if(empty($forum['allowview'])) {
        if(!$forum['viewperm'] && !$readaccess) {
                showmessage('group_nopermission', NULL, 'NOPERM');
        } elseif($forum['viewperm'] && !forumperm($forum['viewperm'])) {
                $navtitle = '';
                showmessage('forum_nopermission', NULL, 'NOPERM');
        }
}

if($thread['readperm'] && $thread['readperm'] > $readaccess && !$forum['ismoderator'] && $thread['authorid'] != $discuz_uid) {
        showmessage('thread_nopermission', NULL, 'NOPERM');
}

if($forum['password'] && $forum['password'] != $_DCOOKIE['fidpw'.$fid]) {
        header("Location: {$boardurl}forumdisplay.php?fid=$fid&sid=$sid");
        exit();
}

if($thread['price'] > 0 && $thread['special'] == 0) {
        if($maxchargespan && $timestamp - $thread['dateline'] >= $maxchargespan * 3600) {
                $db->query("UPDATE {$tablepre}threads SET price='0' WHERE tid='$tid'");
                $thread['price'] = 0;
        } else {
                if(!$discuz_uid) {
                        showmessage('group_nopermission', NULL, 'NOPERM');
                } elseif(!$forum['ismoderator'] && $thread['authorid'] != $discuz_uid) {
                        $query = $db->query("SELECT tid FROM {$tablepre}paymentlog WHERE tid='$tid' AND uid='$discuz_uid'");
                        if(!$db->num_rows($query)) {
                                require_once DISCUZ_ROOT.'./include/threadpay.inc.php';
                                exit();
                        }
                }
        }
}

$raterange = $modratelimit && $adminid == 3 && !$forum['ismoderator'] ? array() : $raterange;

$extra = rawurlencode($extra);
$allowgetattach = !empty($forum['allowgetattach']) || ($allowgetattach && !$forum['getattachperm']) || forumperm($forum['getattachperm']);

if(empty($action) && $tid) {
        if($discuz_uid && $newpm) {
                require_once DISCUZ_ROOT.'./include/pmprompt.inc.php';
        }

        $showsettings = str_pad(decbin($showsettings), 3, '0', STR_PAD_LEFT);

        $customshow = $discuz_uid ? str_pad(base_convert($customshow, 10, 3), 3, '0', STR_PAD_LEFT) : '222';

        $showsignatures = $customshow{0} == 2 ? $showsettings{0} : $customshow{0};
        $showavatars = $customshow{1} == 2 ? $showsettings{1} : $customshow{1};
        $showimages = $customshow{2} == 2 ? $showsettings{2} : $customshow{2};
        $allowpaytoauthor = $forum['allowpaytoauthor'];

        //get qihoo status (pos. -3)
        $searchboxstatus = substr(sprintf('%03b', $qihoo_searchbox), -3, 1);

        $highlightstatus = isset($highlight) && str_replace('+', '', $highlight) ? 1 : 0;
        $maxsigrows = $maxsigrows ? 'style="overflow: hidden; max-height: '.$maxsigrows.'em; maxHeight: '.($maxsigrows * intval(FONTSIZE) + 5).'px;"' : '';
        $ppp = $forum['threadcaches'] ? $_DCACHE['settings']['postperpage'] : $ppp;
        $page = empty($page) || !ispage($page) ? 1 : $page;
        $start_limit = $numpost = ($page - 1) * $ppp;
        if($start_limit > $thread['replies']) {
                $start_limit = $numpost = 0;
                $page = 1;
        }
        $multipage = multi($thread['replies'] + 1, $ppp, $page, "viewthread.php?tid=$tid&extra=$extra".(isset($highlight) ? "&highlight=".rawurlencode($highlight) : ''));

        if($thread['special'] > 0) {
                include_once DISCUZ_ROOT.'./include/special.inc.php';
        }

        $extcredits_thread = array();

        if(!empty($extcredits)) {
                foreach($extcredits as $key => $value) {
                        if($value['showinthread']) {
                                $extcredits_thread['extcredits'.$key] = array('title' => $value['title'], 'unit' => $value['unit']);
                        }
                }
        }

        $fieldsadd = '';
        if(is_array($_DCACHE['fields_thread'])) {
                foreach($_DCACHE['fields_thread'] as $field) {
                        $fieldsadd .= ', mf.field_'.$field['fieldid'];
                }
        }

        $postlist = $attachtags = array();
        $newpostanchor = $postcount = $attachpids = $ratelogpids = $threadcachestatus = 0;

        if($forum['threadcaches'] && $page == 1 && !$thread['special']) {
                $thread['livedays'] = ceil(($timestamp - $thread['dateline']) / 86400);
                $thread['lastpostdays'] = ceil(($timestamp - $thread['lastpost']) / 86400);

                $threadcachemark = 100 - ($thread['displayorder'] * 15 + $thread['digest'] * 10 + min($thread['views'] / max($thread['livedays'], 10) * 2, 50) + max(-10, (15 - $thread['lastpostdays'])) + min($thread['replies'] / $_DCACHE['settings']['postperpage'] * 1.5, 15));
                $threadcachestatus = $threadcachemark < $forum['threadcaches'] ? 1 : 0;
                if($threadcachestatus && @include(DISCUZ_ROOT.'./forumdata/threadcaches/'.substr($tid, -2)."/{$tid}_{$page}.php")) {
                        if($_DCACHE['threadcachetime'] < $thread['lastpost'] && $thread['replies'] < $ppp) {
                                $threadcachestatus = $allowgetattach = 1;
                                $postlist = array();
                        } else {
                                $threadcachestatus = 2;
                                $postlist = &$_DCACHE['postlist'];
                        }
                }
        }

        $pasetype = $forum['threadcaches'] ? 2 : 0;

        if(empty($forum['threadcaches']) || $threadcachestatus != 2) {

                $onlineauthors = array();
                $query = $db->query("SELECT p.*, m.uid, m.username, m.groupid, m.regdate, m.lastactivity, m.posts, m.digestposts, m.oltime,
                        m.pageviews, m.credits, m.extcredits1, m.extcredits2, m.extcredits3, m.extcredits4, m.extcredits5, m.extcredits6,
                        m.extcredits7, m.extcredits8, m.email, m.gender, m.showemail, m.invisible, m.avatarshowid, m.xspacestatus, mf.nickname, mf.site,
                        mf.icq, mf.qq, mf.yahoo, mf.msn, mf.taobao, mf.alipay, mf.location, mf.medals, mf.avatar, mf.avatarwidth,
                        mf.avatarheight, mf.sightml AS signature, mf.customstatus $fieldsadd
                        FROM {$tablepre}posts p
                        LEFT JOIN {$tablepre}members m ON m.uid=p.authorid
                        LEFT JOIN {$tablepre}memberfields mf ON mf.uid=m.uid
                        WHERE p.tid='$tid' AND p.invisible='0' ORDER BY dateline LIMIT $start_limit, $ppp");

                while($post = $db->fetch_array($query)) {

                        if(!$newpostanchor && $post['dateline'] > $lastvisit) {
                                $post['newpostanchor'] = '<a name="newpost"></a>';
                                $newpostanchor = 1;
                        } else {
                                $post['newpostanchor'] = '';
                        }
                        $post['lastpostanchor'] = $numpost == $thread['replies'] ? '<a name="lastpost"></a>' : '';
                        $post['number'] = ++$numpost;
                        $post['count'] = $postcount++;
                        $post['thisbg'] = $thisbg = isset($thisbg) && $thisbg == 'altbg1' ? 'altbg2' : 'altbg1';
                        $post['dbdateline'] = $post['dateline'];
                        $post['dateline'] = gmdate("$dateformat $timeformat", $post['dateline'] + $timeoffset * 3600);
                        $post['groupid'] = $_DCACHE['usergroups'][$post['groupid']] ? $post['groupid'] : 7;

                        if($post['username']) {
                                $onlineauthors[] = $post['authorid'];
                                $post['groupid'] = getgroupid($post['authorid'], $_DCACHE['usergroups'][$post['groupid']], $post);
                                $post['readaccess'] = $_DCACHE['usergroups'][$post['groupid']]['readaccess'];
                                if($userstatusby == 1 || $_DCACHE['usergroups'][$post['groupid']]['byrank'] === '0') {
                                        $post['authortitle'] = $_DCACHE['usergroups'][$post['groupid']]['grouptitle'];
                                        $post['stars'] = $_DCACHE['usergroups'][$post['groupid']]['stars'];
                                } elseif($userstatusby == 2) {
                                        foreach($_DCACHE['ranks'] as $rank) {
                                                if($post['posts'] > $rank['postshigher']) {
                                                        $post['authortitle'] = $rank['ranktitle'];
                                                        $post['stars'] = $rank['stars'];
                                                        break;
                                                }
                                        }
                                }

                                if(!$allowpaytoauthor) {
                                        $post['alipay'] = '';
                                }

                                $post['taobao'] = addslashes($post['taobao']);
                                $post['authoras'] = !$post['anonymous'] ? ' '.addslashes($post['author']) : '';
                                $post['regdate'] = gmdate($dateformat, $post['regdate'] + $timeoffset * 3600);
                                $post['allowuseblog'] = $_DCACHE['usergroups'][$post['groupid']]['allowuseblog'];

                                if($post['medals']) {
                                        require_once DISCUZ_ROOT.'./forumdata/cache/cache_medals.php';
                                        foreach($post['medals'] = explode("\t", $post['medals']) as $key => $medalid) {
                                                if(isset($_DCACHE['medals'][$medalid])) {
                                                        $post['medals'][$key] = $_DCACHE['medals'][$medalid];
                                                } else {
                                                        unset($post['medals'][$key]);
                                                }
                                        }

                                }

                                if($showavatars) {
                                        $post['avatarshow'] = $avatarshowstatus && !$post['anonymous'] && ($post['avatarshowid'] || $avatarshowdefault) ? avatarshow($post['avatarshowid'], $post['gender']) : '';
                                        if($_DCACHE['usergroups'][$post['groupid']]['groupavatar']) {
                                                $post['avatar'] = '<img src="'.$_DCACHE['usergroups'][$post['groupid']]['groupavatar'].'" border="0" alt="" />';
                                        } elseif($avatarshowstatus != 2 && $_DCACHE['usergroups'][$post['groupid']]['allowavatar'] && $post['avatar']) {
                                                $post['avatar'] = '<div class="avatar" style="width: '.$post['avatarwidth'].'"><img src="'.$post['avatar'].'" width="'.$post['avatarwidth'].'" height="'.$post['avatarheight'].'" border="0" alt="" /></div>';
                                        } else {
                                                $post['avatar'] = '';
                                        }
                                }

                        } else {

                                if(!$post['authorid']) {
                                        $post['useip'] = substr($post['useip'], 0, strrpos($post['useip'], '.')).'.x';
                                }

                        }

                        $post['attachments'] = array();
                        if($post['attachment'] && $allowgetattach) {
                                $attachpids .= ",$post[pid]";
                                $post['attachment'] = 0;
                                if(preg_match("/\[attach\](\d+)\[\/attach\]/i", $post['message'])) {
                                        $attachtags[] = $post['pid'];
                                }
                        }

                        if($ratelogrecord && $post['ratetimes']) $ratelogpids .= ','.$post['pid'];

                        $forum['allowbbcode'] = $forum['allowbbcode'] ? ($_DCACHE['usergroups'][$post['groupid']]['allowcusbbcode'] ? 2 : 1) : 0;

                        $post['ratings'] = karmaimg($post['rate'], $post['ratetimes']);
                        $post['message'] = discuzcode($post['message'], $post['smileyoff'], $post['bbcodeoff'], $post['htmlon'], $forum['allowsmilies'], $forum['allowbbcode'], ($forum['allowimgcode'] && $showimages ? 1 : 0), $forum['allowhtml'], ($forum['jammer'] && $post['authorid'] != $discuz_uid ? 1 : 0), $pasetype, $post['authorid']);
                        $post['signature'] = $post['usesig'] ? $post['signature'] : '';

                        $postlist[$post['pid']] = $post;

                }

                if($vtonlinestatus == 2 && $onlineauthors) {
                        $query = $db->query("SELECT uid FROM {$tablepre}sessions WHERE uid IN(".(implode(',', $onlineauthors)).") AND invisible=0");
                        $onlineauthors = array();
                        while($author = $db->fetch_array($query)) {
                                $onlineauthors[$author['uid']] = 1;
                        }
                } else {
                        $onlineauthors = array();
                }
                if($ratelogpids) {
                        $query = $db->query("SELECT * FROM {$tablepre}ratelog WHERE pid IN ($ratelogpids) ORDER BY dateline DESC");
                        while($ratelog = $db->fetch_array($query)) {
                                if(count($postlist[$ratelog['pid']]['ratelog']) < $ratelogrecord) {
                                        $ratelog['dateline'] = gmdate("$dateformat $timeformat", $ratelog['dateline'] + $timeoffset * 3600);
                                        $ratelog['score'] = $ratelog['score'] > 0 ? '+'.$ratelog['score'] : $ratelog['score'];
                                        $postlist[$ratelog['pid']]['ratelog'][] = $ratelog;
                                }
                        }
                }

                if($attachpids) {

                        $query = $db->query("SELECT aid, pid, dateline, readperm, filename, description, filetype, attachment, filesize, downloads
                                                FROM {$tablepre}attachments WHERE pid IN ($attachpids) ORDER BY aid");

                        if($db->num_rows($query)) {
                                require_once DISCUZ_ROOT.'./include/attachment.func.php';

                                while($attach = $db->fetch_array($query)) {
                                        $extension = strtolower(fileext($attach['filename']));
                                        $attach['dateline'] = gmdate("$dateformat $timeformat", $attach['dateline'] + $timeoffset * 3600);
                                        $attach['attachicon'] = attachtype($extension."\t".$attach['filetype']);
                                        $attach['attachsize'] = sizecount($attach['filesize']);
                                        $attach['attachimg'] = $showimages && $attachimgpost && in_array($extension, array('jpg', 'jpeg', 'jpe', 'gif', 'png', 'bmp')) && (!$attach['readperm'] || $readaccess >= $attach['readperm']) ? 1 : 0;
                                        $postlist[$attach['pid']]['attachments'][$attach['aid']] = $attach;
                                }

                                foreach($attachtags as $pid) {
                                        $postlist[$pid]['message'] = preg_replace("/\[attach\](\d+)\[\/attach\]/ie", "attachtag($pid, \\1, \$postlist)", $postlist[$pid]['message']);
                                }
                        } else {
                                $db->query("UPDATE {$tablepre}posts SET attachment='0' WHERE pid IN ($attachpids)", 'UNBUFFERED');
                        }

                }
        }

        if(empty($postlist)) {
                showmessage('undefined_action', NULL, 'HALTED');
        } elseif($threadcachestatus == 1) {
                require_once './include/cache.func.php';
                if(!is_dir($cachedir = DISCUZ_ROOT.'./forumdata/threadcaches/'.substr($tid, -2))) {
                        @mkdir($cachedir, 0777);
                        @touch($cachedir.'/index.htm');
                }

                if($fp = @fopen(DISCUZ_ROOT.'./forumdata/threadcaches/'.substr($tid, -2)."/{$tid}_{$page}.php", 'w+')) {
                        flock($fp, LOCK_EX);
                        fwrite($fp, '<?PHP $_DCACHE[\'threadcachetime\'] = '.$timestamp.";\n".'$_DCACHE[\'postlist\'] = '. arrayeval($postlist).'; ?>');
                        fclose($fp);
                }
        }

        $relatedthreadlist = array();
        $relatedthreadupdate = FALSE;
        if($qihoo_status && $qihoo_relatedthreads && $qihoo_searchbox) {
                $site = site();
                $relatedkeywords = $metakeywords = '';
                $query = $db->query("SELECT expiration, keywords, relatedthreads FROM {$tablepre}relatedthreads WHERE tid='$tid'");
                $related = $db->fetch_array($query);
                if($related['expiration'] > $timestamp) {
                        $relatedthreadlist = unserialize($related['relatedthreads']);
                        if($related['keywords']) {
                                $searchkeywords = rawurlencode(str_replace("\t", ' ', $related['keywords']));
                                foreach(explode("\t", $related['keywords']) as $keyword) {
                                        $relatedkeywords .= $keyword ? '<a href="search.php?srchtype=qihoo&srchtxt='.rawurlencode($keyword).'&searchsubmit=yes" target="_blank"><span class="bold"><font color=red>'.$keyword.'</font></span></a> ' : '';
                                        $metakeywords .= $keyword ? $keyword.',' : '';
                                }
                        }
                } else {
                        $relatedthreadupdate = TRUE;
                        $verifykey = md5($authkey.$tid.$thread['subjectenc'].$charset.$site);
                }
        }
        $relatedthreads = array();
        if(!empty($relatedthreadlist)) {
                if(!isset($_COOKIE['discuz_collapse']) || strpos($_COOKIE['discuz_collapse'], 'relatedthreads') === FALSE) {
                        $relatedthreads['img'] = 'collapsed_no.gif';
                        $relatedthreads['style'] = '';
                } else {
                        $relatedthreads['img'] = 'collapsed_yes.gif';
                        $relatedthreads['style'] = 'display: none';
                }
        }

        $visitedforums = $visitedforums ? visitedforums() : '';
        $forumselect = $forummenu = '';
        if($forumjump && empty($jsmenu[1])) {
                $forumselect = forumselect();
        }

        $usesigcheck = $discuz_uid && $sigstatus ? 'checked' : '';
        $allowpostreply = ((!$thread['closed'] && !checkautoclose()) || $forum['ismoderator']) && ((!$forum['replyperm'] && $allowreply) || ($forum['replyperm'] && forumperm($forum['replyperm'])) || $forum['allowreply']);
        $allowpost = (!$forum['postperm'] && $allowpost) || ($forum['postperm'] && forumperm($forum['postperm'])) || $forum['allowpost'];

        $allowpostpoll = $allowpost && $allowpostpoll && substr(sprintf('%04b', $forum['allowpostspecial']), -1, 1);
        $allowposttrade = $allowpost && $allowposttrade && substr(sprintf('%04b', $forum['allowpostspecial']), -2, 1);
        $allowpostreward = $allowpost && $allowpostreward && substr(sprintf('%04b', $forum['allowpostspecial']), -3, 1) && isset($extcredits[$creditstrans]);
        $allowpostactivity = $allowpost && $allowpostactivity && substr(sprintf('%04b', $forum['allowpostspecial']), -4, 1);

        $supe_pushstatusadd = '';
        if($supe_status && $supe_allowpushthread && $forum['supe_pushsetting']['status'] == 3) {
                if(($thread['views'] && $forum['supe_pushsetting']['filter']['views'] && $thread['views'] >= intval($forum['supe_pushsetting']['filter']['views'])) ||
                        ($thread['replies'] && $forum['supe_pushsetting']['filter']['replies'] && $thread['replies'] >= intval($forum['supe_pushsetting']['filter']['replies'])) ||
                        ($thread['digest'] && $forum['supe_pushsetting']['filter']['digest'] && $thread['digest'] >= intval($forum['supe_pushsetting']['filter']['digest'])) ||
                        ($thread['displayorder'] && $forum['supe_pushsetting']['filter']['displayorder'] && $thread['displayorder'] >= intval($forum['supe_pushsetting']['filter']['displayorder']))) {
                        if($thread['supe_pushstatus'] == 0) {
                                $supe_pushstatusadd = ", supe_pushstatus='3'";
                        }
                } elseif($thread['supe_pushstatus'] == 3) {
                        $supe_pushstatusadd = ", supe_pushstatus='0'";
                }
        }

        if(($delayviewcount == 1 || $delayviewcount == 3) && !$supe_pushstatusadd) {
                $logfile = './forumdata/cache/cache_threadviews.log';
                if(substr($timestamp, -2) == '00') {
                        require_once DISCUZ_ROOT.'./include/misc.func.php';
                        updateviews('threads', 'tid', 'views', $logfile);
                }
                if(@$fp = fopen(DISCUZ_ROOT.$logfile, 'a')) {
                        fwrite($fp, "$tid\n");
                        fclose($fp);
                } elseif($adminid == 1) {
                        showmessage('view_log_invalid');
                }
        } else {
                $db->query("UPDATE {$tablepre}threads SET views=views+1 $supe_pushstatusadd WHERE tid='$tid'", 'UNBUFFERED');
        }
        unset($supe_pushstatusadd);

        if($fastpost && $allowpostreply) {
                $editorid = 'fastpost';
                $smcols = $smcols ? $smcols : 4;
                $smileyinsert = $smileyinsert && is_array($_DCACHE['smilies_display']) ? 1 : 0;
                $smilies = $smileyinsert ? smiliestable($_DCACHE['smilies_display'], $smcols, 4, $editorid) : '';
                $moresmilies = $smileyinsert && count($_DCACHE['smilies_display']) > $smcols * 4 ? 1 : 0;
        }

        $forumselect = $forummenu = '';
        if($forumjump) {
                if($jsmenu[1]) {
                        $forummenu = forumselect(FALSE, 1);
                } else {
                        $forumselect = forumselect();
                }
        }

        include template('viewthread');

} elseif($action == 'printable' && $tid) {

        require_once DISCUZ_ROOT.'./include/printable.inc.php';

}

?>

在那里?
回复

使用道具 举报

我不会用DISCUZ 发表于 2006-10-25 22:23:59 | 显示全部楼层
真得没人吗?
回复

使用道具 举报

fujunsong 发表于 2006-10-30 12:31:26 | 显示全部楼层
什么意思...........
回复

使用道具 举报

我不会用DISCUZ 发表于 2006-10-30 18:14:18 | 显示全部楼层
  1.         $RCSfile: viewthread.php,v $
  2.         $Revision: 1.119.2.3 $
  3.         $Date: 2006/09/05 07:15:57 $
  4. */

  5. define('CURSCRIPT', 'viewthread');

  6. require_once './include/common.inc.php';
  7. require_once DISCUZ_ROOT.'./include/forum.func.php';
  8. require_once DISCUZ_ROOT.'./include/discuzcode.func.php';

  9. $discuz_action = 3;

  10. $query = $db->query("SELECT * FROM {$tablepre}threads t WHERE tid='$tid' AND displayorder>='0'");

  11. $lastmod = array();

  12. if(!$thread = $db->fetch_array($query)) {

  13.         $tid = intval($_GET['tid']);
  14.         if($supe_status && !empty($supe_fromsupesite) && md5("$discuz_auth_key-$tid") == $supe_fromsupesite) {
  15.                 $db->query("UPDATE {$supe_tablepre}spaceitems SET tid='0' WHERE tid='$tid'");
  16.         }

  17.         showmessage('thread_nonexistence');

  18. } elseif($thread['moderated']) {
  19.         $query = $db->query("SELECT uid AS moduid, username AS modusername, dateline AS moddateline, action AS modaction
  20.                 FROM {$tablepre}threadsmod
  21.                 WHERE tid='$tid' ORDER BY dateline DESC LIMIT 1");
  22.         if($lastmod = $db->fetch_array($query)) {
  23.                 include language('modactions');
  24.                 $lastmod['modusername'] = $lastmod['modusername'] ? $lastmod['modusername'] : 'System';
  25.                 $lastmod['moddateline'] = gmdate("$dateformat $timeformat", $lastmod['moddateline'] + $timeoffset * 3600);
  26.                 $lastmod['modaction'] = $modactioncode[$lastmod['modaction']];
  27.         } else {
  28.                 $db->query("UPDATE {$tablepre}threads SET moderated='0' WHERE tid='$tid'", 'UNBUFFERED');
  29.         }
  30. }

  31. $supe_fromdiscuz = $supe_status && $thread['itemid'] ? md5("$discuz_auth_key-$thread[itemid]") : '';

  32. $codecount = 0;
  33. $thread['subjectenc'] = rawurlencode($thread['subject']);

  34. $oldtopics = isset($_DCOOKIE['oldtopics']) ? $_DCOOKIE['oldtopics'] : 'D';
  35. if(strpos($oldtopics, 'D'.$tid.'D') === FALSE) {
  36.         $oldtopics = 'D'.$tid.$oldtopics;
  37.         if(strlen($oldtopics) > 3072) {
  38.                 $oldtopics = preg_replace("((D\d+)+D).*$", "\\1", substr($oldtopics, 0, 3072));
  39.         }
  40.         dsetcookie('oldtopics', $oldtopics, 3600);
  41. }

  42. if($lastvisit < $thread['lastpost'] && (!isset($_DCOOKIE['fid'.$fid]) || $thread['lastpost'] > $_DCOOKIE['fid'.$fid])) {
  43.         dsetcookie('fid'.$fid, $thread['lastpost'], 3600);
  44. }
  45. $navigation = "&raquo; <a href="forumdisplay.php?fid=$fid".($extra ? '&'.preg_replace("/^(&)*/", '', $extra) : '')."">$forum[name]</a> &raquo; $thread[subject]";
  46. $navtitle = $thread['subject'].' - '.strip_tags($forum['name']);
  47. if($forum['type'] == 'sub') {
  48.         $query = $db->query("SELECT fid, name FROM {$tablepre}forums WHERE fid='$forum[fup]'");
  49.         $fup = $db->fetch_array($query);
  50.         $navigation = "&raquo; <a href="forumdisplay.php?fid=$fup[fid]">$fup[name]</a> $navigation";
  51.         $navtitle = $navtitle.' - '.strip_tags($fup['name']);
  52. }
  53. $navtitle .= ' - ';

  54. if($thread['typeid'] && isset($forum['threadtypes']['types'][$thread['typeid']])) {
  55.         $thread['subject'] = ($forum['threadtypes']['listable'] ? '<a href="forumdisplay.php?fid='.$fid.'&filter=type&typeid='.$thread['typeid'].'">['.$forum['threadtypes']['types'][$thread['typeid']].']</a>' : '['.$forum['threadtypes']['types'][$thread['typeid']].']').' '.$thread['subject'];
  56. }
  57. if(empty($forum['allowview'])) {
  58.         if(!$forum['viewperm'] && !$readaccess) {
  59.                 showmessage('group_nopermission', NULL, 'NOPERM');
  60.         } elseif($forum['viewperm'] && !forumperm($forum['viewperm'])) {
  61.                 $navtitle = '';
  62.                 showmessage('forum_nopermission', NULL, 'NOPERM');
  63.         }
  64. }

  65. if($thread['readperm'] && $thread['readperm'] > $readaccess && !$forum['ismoderator'] && $thread['authorid'] != $discuz_uid) {
  66.         showmessage('thread_nopermission', NULL, 'NOPERM');
  67. }

  68. if($forum['password'] && $forum['password'] != $_DCOOKIE['fidpw'.$fid]) {
  69.         header("Location: {$boardurl}forumdisplay.php?fid=$fid&sid=$sid");
  70.         exit();
  71. }

  72. if($thread['price'] > 0 && $thread['special'] == 0) {
  73.         if($maxchargespan && $timestamp - $thread['dateline'] >= $maxchargespan * 3600) {
  74.                 $db->query("UPDATE {$tablepre}threads SET price='0' WHERE tid='$tid'");
  75.                 $thread['price'] = 0;
  76.         } else {
  77.                 if(!$discuz_uid) {
  78.                         showmessage('group_nopermission', NULL, 'NOPERM');
  79.                 } elseif(!$forum['ismoderator'] && $thread['authorid'] != $discuz_uid) {
  80.                         $query = $db->query("SELECT tid FROM {$tablepre}paymentlog WHERE tid='$tid' AND uid='$discuz_uid'");
  81.                         if(!$db->num_rows($query)) {
  82.                                 require_once DISCUZ_ROOT.'./include/threadpay.inc.php';
  83.                                 exit();
  84.                         }
  85.                 }
  86.         }
  87. }

  88. $raterange = $modratelimit && $adminid == 3 && !$forum['ismoderator'] ? array() : $raterange;

  89. $extra = rawurlencode($extra);
  90. $allowgetattach = !empty($forum['allowgetattach']) || ($allowgetattach && !$forum['getattachperm']) || forumperm($forum['getattachperm']);

  91. if(empty($action) && $tid) {
  92.         if($discuz_uid && $newpm) {
  93.                 require_once DISCUZ_ROOT.'./include/pmprompt.inc.php';
  94.         }

  95.         $showsettings = str_pad(decbin($showsettings), 3, '0', STR_PAD_LEFT);

  96.         $customshow = $discuz_uid ? str_pad(base_convert($customshow, 10, 3), 3, '0', STR_PAD_LEFT) : '222';

  97.         $showsignatures = $customshow{0} == 2 ? $showsettings{0} : $customshow{0};
  98.         $showavatars = $customshow{1} == 2 ? $showsettings{1} : $customshow{1};
  99.         $showimages = $customshow{2} == 2 ? $showsettings{2} : $customshow{2};
  100.         $allowpaytoauthor = $forum['allowpaytoauthor'];

  101.         //get qihoo status (pos. -3)
  102.         $searchboxstatus = substr(sprintf('%03b', $qihoo_searchbox), -3, 1);

  103.         $highlightstatus = isset($highlight) && str_replace('+', '', $highlight) ? 1 : 0;
  104.         $maxsigrows = $maxsigrows ? 'style="overflow: hidden; max-height: '.$maxsigrows.'em; maxHeight: '.($maxsigrows * intval(FONTSIZE) + 5).'px;"' : '';
  105.         $ppp = $forum['threadcaches'] ? $_DCACHE['settings']['postperpage'] : $ppp;
  106.         $page = empty($page) || !ispage($page) ? 1 : $page;
  107.         $start_limit = $numpost = ($page - 1) * $ppp;
  108.         if($start_limit > $thread['replies']) {
  109.                 $start_limit = $numpost = 0;
  110.                 $page = 1;
  111.         }
  112.         $multipage = multi($thread['replies'] + 1, $ppp, $page, "viewthread.php?tid=$tid&extra=$extra".(isset($highlight) ? "&highlight=".rawurlencode($highlight) : ''));

  113.         if($thread['special'] > 0) {
  114.                 include_once DISCUZ_ROOT.'./include/special.inc.php';
  115.         }

  116.         $extcredits_thread = array();

  117.         if(!empty($extcredits)) {
  118.                 foreach($extcredits as $key => $value) {
  119.                         if($value['showinthread']) {
  120.                                 $extcredits_thread['extcredits'.$key] = array('title' => $value['title'], 'unit' => $value['unit']);
  121.                         }
  122.                 }
  123.         }

  124.         $fieldsadd = '';
  125.         if(is_array($_DCACHE['fields_thread'])) {
  126.                 foreach($_DCACHE['fields_thread'] as $field) {
  127.                         $fieldsadd .= ', mf.field_'.$field['fieldid'];
  128.                 }
  129.         }

  130.         $postlist = $attachtags = array();
  131.         $newpostanchor = $postcount = $attachpids = $ratelogpids = $threadcachestatus = 0;

  132.         if($forum['threadcaches'] && $page == 1 && !$thread['special']) {
  133.                 $thread['livedays'] = ceil(($timestamp - $thread['dateline']) / 86400);
  134.                 $thread['lastpostdays'] = ceil(($timestamp - $thread['lastpost']) / 86400);

  135.                 $threadcachemark = 100 - ($thread['displayorder'] * 15 + $thread['digest'] * 10 + min($thread['views'] / max($thread['livedays'], 10) * 2, 50) + max(-10, (15 - $thread['lastpostdays'])) + min($thread['replies'] / $_DCACHE['settings']['postperpage'] * 1.5, 15));
  136.                 $threadcachestatus = $threadcachemark < $forum['threadcaches'] ? 1 : 0;
  137.                 if($threadcachestatus && @include(DISCUZ_ROOT.'./forumdata/threadcaches/'.substr($tid, -2)."/{$tid}_{$page}.php")) {
  138.                         if($_DCACHE['threadcachetime'] < $thread['lastpost'] && $thread['replies'] < $ppp) {
  139.                                 $threadcachestatus = $allowgetattach = 1;
  140.                                 $postlist = array();
  141.                         } else {
  142.                                 $threadcachestatus = 2;
  143.                                 $postlist = &$_DCACHE['postlist'];
  144.                         }
  145.                 }
  146.         }

  147.         $pasetype = $forum['threadcaches'] ? 2 : 0;

  148.         if(empty($forum['threadcaches']) || $threadcachestatus != 2) {

  149.                 $onlineauthors = array();
  150.                 $query = $db->query("SELECT p.*, m.uid, m.username, m.groupid, m.regdate, m.lastactivity, m.posts, m.digestposts, m.oltime,
  151.                         m.pageviews, m.credits, m.extcredits1, m.extcredits2, m.extcredits3, m.extcredits4, m.extcredits5, m.extcredits6,
  152.                         m.extcredits7, m.extcredits8, m.email, m.gender, m.showemail, m.invisible, m.avatarshowid, m.xspacestatus, mf.nickname, mf.site,
  153.                         mf.icq, mf.qq, mf.yahoo, mf.msn, mf.taobao, mf.alipay, mf.location, mf.medals, mf.avatar, mf.avatarwidth,
  154.                         mf.avatarheight, mf.sightml AS signature, mf.customstatus $fieldsadd
  155.                         FROM {$tablepre}posts p
  156.                         LEFT JOIN {$tablepre}members m ON m.uid=p.authorid
  157.                         LEFT JOIN {$tablepre}memberfields mf ON mf.uid=m.uid
  158.                         WHERE p.tid='$tid' AND p.invisible='0' ORDER BY dateline LIMIT $start_limit, $ppp");

  159.                 while($post = $db->fetch_array($query)) {

  160.                         if(!$newpostanchor && $post['dateline'] > $lastvisit) {
  161.                                 $post['newpostanchor'] = '<a name="newpost"></a>';
  162.                                 $newpostanchor = 1;
  163.                         } else {
  164.                                 $post['newpostanchor'] = '';
  165.                         }
  166.                         $post['lastpostanchor'] = $numpost == $thread['replies'] ? '<a name="lastpost"></a>' : '';
  167.                         $post['number'] = ++$numpost;
  168.                         $post['count'] = $postcount++;
  169.                         $post['thisbg'] = $thisbg = isset($thisbg) && $thisbg == 'altbg1' ? 'altbg2' : 'altbg1';
  170.                         $post['dbdateline'] = $post['dateline'];
  171.                         $post['dateline'] = gmdate("$dateformat $timeformat", $post['dateline'] + $timeoffset * 3600);
  172.                         $post['groupid'] = $_DCACHE['usergroups'][$post['groupid']] ? $post['groupid'] : 7;

  173.                         if($post['username']) {
  174.                                 $onlineauthors[] = $post['authorid'];
  175.                                 $post['groupid'] = getgroupid($post['authorid'], $_DCACHE['usergroups'][$post['groupid']], $post);
  176.                                 $post['readaccess'] = $_DCACHE['usergroups'][$post['groupid']]['readaccess'];
  177.                                 if($userstatusby == 1 || $_DCACHE['usergroups'][$post['groupid']]['byrank'] === '0') {
  178.                                         $post['authortitle'] = $_DCACHE['usergroups'][$post['groupid']]['grouptitle'];
  179.                                         $post['stars'] = $_DCACHE['usergroups'][$post['groupid']]['stars'];
  180.                                 } elseif($userstatusby == 2) {
  181.                                         foreach($_DCACHE['ranks'] as $rank) {
  182.                                                 if($post['posts'] > $rank['postshigher']) {
  183.                                                         $post['authortitle'] = $rank['ranktitle'];
  184.                                                         $post['stars'] = $rank['stars'];
  185.                                                         break;
  186.                                                 }
  187.                                         }
  188.                                 }

  189.                                 if(!$allowpaytoauthor) {
  190.                                         $post['alipay'] = '';
  191.                                 }

  192.                                 $post['taobao'] = addslashes($post['taobao']);
  193.                                 $post['authoras'] = !$post['anonymous'] ? ' '.addslashes($post['author']) : '';
  194.                                 $post['regdate'] = gmdate($dateformat, $post['regdate'] + $timeoffset * 3600);
  195.                                 $post['allowuseblog'] = $_DCACHE['usergroups'][$post['groupid']]['allowuseblog'];

  196.                                 if($post['medals']) {
  197.                                         require_once DISCUZ_ROOT.'./forumdata/cache/cache_medals.php';
  198.                                         foreach($post['medals'] = explode("\t", $post['medals']) as $key => $medalid) {
  199.                                                 if(isset($_DCACHE['medals'][$medalid])) {
  200.                                                         $post['medals'][$key] = $_DCACHE['medals'][$medalid];
  201.                                                 } else {
  202.                                                         unset($post['medals'][$key]);
  203.                                                 }
  204.                                         }

  205.                                 }

  206.                                 if($showavatars) {
  207.                                         $post['avatarshow'] = $avatarshowstatus && !$post['anonymous'] && ($post['avatarshowid'] || $avatarshowdefault) ? avatarshow($post['avatarshowid'], $post['gender']) : '';
  208.                                         if($_DCACHE['usergroups'][$post['groupid']]['groupavatar']) {
  209.                                                 $post['avatar'] = '<img src="'.$_DCACHE['usergroups'][$post['groupid']]['groupavatar'].'" border="0" alt="" />';
  210.                                         } elseif($avatarshowstatus != 2 && $_DCACHE['usergroups'][$post['groupid']]['allowavatar'] && $post['avatar']) {
  211.                                                 $post['avatar'] = '<div class="avatar" style="width: '.$post['avatarwidth'].'"><img src="'.$post['avatar'].'" width="'.$post['avatarwidth'].'" height="'.$post['avatarheight'].'" border="0" alt="" /></div>';
  212.                                         } else {
  213.                                                 $post['avatar'] = '';
  214.                                         }
  215.                                 }

  216.                         } else {

  217.                                 if(!$post['authorid']) {
  218.                                         $post['useip'] = substr($post['useip'], 0, strrpos($post['useip'], '.')).'.x';
  219.                                 }

  220.                         }

  221.                         $post['attachments'] = array();
  222.                         if($post['attachment'] && $allowgetattach) {
  223.                                 $attachpids .= ",$post[pid]";
  224.                                 $post['attachment'] = 0;
  225.                                 if(preg_match("/\[attach\](\d+)\[\/attach\]/i", $post['message'])) {
  226.                                         $attachtags[] = $post['pid'];
  227.                                 }
  228.                         }

  229.                         if($ratelogrecord && $post['ratetimes']) $ratelogpids .= ','.$post['pid'];

  230.                         $forum['allowbbcode'] = $forum['allowbbcode'] ? ($_DCACHE['usergroups'][$post['groupid']]['allowcusbbcode'] ? 2 : 1) : 0;

  231.                         $post['ratings'] = karmaimg($post['rate'], $post['ratetimes']);
  232.                         $post['message'] = discuzcode($post['message'], $post['smileyoff'], $post['bbcodeoff'], $post['htmlon'], $forum['allowsmilies'], $forum['allowbbcode'], ($forum['allowimgcode'] && $showimages ? 1 : 0), $forum['allowhtml'], ($forum['jammer'] && $post['authorid'] != $discuz_uid ? 1 : 0), $pasetype, $post['authorid']);
  233.                         $post['signature'] = $post['usesig'] ? $post['signature'] : '';

  234.                         $postlist[$post['pid']] = $post;

  235.                 }

  236.                 if($vtonlinestatus == 2 && $onlineauthors) {
  237.                         $query = $db->query("SELECT uid FROM {$tablepre}sessions WHERE uid IN(".(implode(',', $onlineauthors)).") AND invisible=0");
  238.                         $onlineauthors = array();
  239.                         while($author = $db->fetch_array($query)) {
  240.                                 $onlineauthors[$author['uid']] = 1;
  241.                         }
  242.                 } else {
  243.                         $onlineauthors = array();
  244.                 }
  245.                 if($ratelogpids) {
  246.                         $query = $db->query("SELECT * FROM {$tablepre}ratelog WHERE pid IN ($ratelogpids) ORDER BY dateline DESC");
  247.                         while($ratelog = $db->fetch_array($query)) {
  248.                                 if(count($postlist[$ratelog['pid']]['ratelog']) < $ratelogrecord) {
  249.                                         $ratelog['dateline'] = gmdate("$dateformat $timeformat", $ratelog['dateline'] + $timeoffset * 3600);
  250.                                         $ratelog['score'] = $ratelog['score'] > 0 ? '+'.$ratelog['score'] : $ratelog['score'];
  251.                                         $postlist[$ratelog['pid']]['ratelog'][] = $ratelog;
  252.                                 }
  253.                         }
  254.                 }

  255.                 if($attachpids) {

  256.                         $query = $db->query("SELECT aid, pid, dateline, readperm, filename, description, filetype, attachment, filesize, downloads
  257.                                                 FROM {$tablepre}attachments WHERE pid IN ($attachpids) ORDER BY aid");

  258.                         if($db->num_rows($query)) {
  259.                                 require_once DISCUZ_ROOT.'./include/attachment.func.php';

  260.                                 while($attach = $db->fetch_array($query)) {
  261.                                         $extension = strtolower(fileext($attach['filename']));
  262.                                         $attach['dateline'] = gmdate("$dateformat $timeformat", $attach['dateline'] + $timeoffset * 3600);
  263.                                         $attach['attachicon'] = attachtype($extension."\t".$attach['filetype']);
  264.                                         $attach['attachsize'] = sizecount($attach['filesize']);
  265.                                         $attach['attachimg'] = $showimages && $attachimgpost && in_array($extension, array('jpg', 'jpeg', 'jpe', 'gif', 'png', 'bmp')) && (!$attach['readperm'] || $readaccess >= $attach['readperm']) ? 1 : 0;
  266.                                         $postlist[$attach['pid']]['attachments'][$attach['aid']] = $attach;
  267.                                 }

  268.                                 foreach($attachtags as $pid) {
  269.                                         $postlist[$pid]['message'] = preg_replace("/\[attach\](\d+)\[\/attach\]/ie", "attachtag($pid, \\1, \$postlist)", $postlist[$pid]['message']);
  270.                                 }
  271.                         } else {
  272.                                 $db->query("UPDATE {$tablepre}posts SET attachment='0' WHERE pid IN ($attachpids)", 'UNBUFFERED');
  273.                         }

  274.                 }
  275.         }

  276.         if(empty($postlist)) {
  277.                 showmessage('undefined_action', NULL, 'HALTED');
  278.         } elseif($threadcachestatus == 1) {
  279.                 require_once './include/cache.func.php';
  280.                 if(!is_dir($cachedir = DISCUZ_ROOT.'./forumdata/threadcaches/'.substr($tid, -2))) {
  281.                         @mkdir($cachedir, 0777);
  282.                         @touch($cachedir.'/index.htm');
  283.                 }

  284.                 if($fp = @fopen(DISCUZ_ROOT.'./forumdata/threadcaches/'.substr($tid, -2)."/{$tid}_{$page}.php", 'w+')) {
  285.                         flock($fp, LOCK_EX);
  286.                         fwrite($fp, '<?PHP $_DCACHE[\'threadcachetime\'] = '.$timestamp.";\n".'$_DCACHE[\'postlist\'] = '. arrayeval($postlist).'; ?>');
  287.                         fclose($fp);
  288.                 }
  289.         }

  290.         $relatedthreadlist = array();
  291.         $relatedthreadupdate = FALSE;
  292.         if($qihoo_status && $qihoo_relatedthreads && $qihoo_searchbox) {
  293.                 $site = site();
  294.                 $relatedkeywords = $metakeywords = '';
  295.                 $query = $db->query("SELECT expiration, keywords, relatedthreads FROM {$tablepre}relatedthreads WHERE tid='$tid'");
  296.                 $related = $db->fetch_array($query);
  297.                 if($related['expiration'] > $timestamp) {
  298.                         $relatedthreadlist = unserialize($related['relatedthreads']);
  299.                         if($related['keywords']) {
  300.                                 $searchkeywords = rawurlencode(str_replace("\t", ' ', $related['keywords']));
  301.                                 foreach(explode("\t", $related['keywords']) as $keyword) {
  302.                                         $relatedkeywords .= $keyword ? '<a href="search.php?srchtype=qihoo&srchtxt='.rawurlencode($keyword).'&searchsubmit=yes" target="_blank"><span class="bold"><font color=red>'.$keyword.'</font></span></a> ' : '';
  303.                                         $metakeywords .= $keyword ? $keyword.',' : '';
  304.                                 }
  305.                         }
  306.                 } else {
  307.                         $relatedthreadupdate = TRUE;
  308.                         $verifykey = md5($authkey.$tid.$thread['subjectenc'].$charset.$site);
  309.                 }
  310.         }
  311.         $relatedthreads = array();
  312.         if(!empty($relatedthreadlist)) {
  313.                 if(!isset($_COOKIE['discuz_collapse']) || strpos($_COOKIE['discuz_collapse'], 'relatedthreads') === FALSE) {
  314.                         $relatedthreads['img'] = 'collapsed_no.gif';
  315.                         $relatedthreads['style'] = '';
  316.                 } else {
  317.                         $relatedthreads['img'] = 'collapsed_yes.gif';
  318.                         $relatedthreads['style'] = 'display: none';
  319.                 }
  320.         }

  321.         $visitedforums = $visitedforums ? visitedforums() : '';
  322.         $forumselect = $forummenu = '';
  323.         if($forumjump && empty($jsmenu[1])) {
  324.                 $forumselect = forumselect();
  325.         }

  326.         $usesigcheck = $discuz_uid && $sigstatus ? 'checked' : '';
  327.         $allowpostreply = ((!$thread['closed'] && !checkautoclose()) || $forum['ismoderator']) && ((!$forum['replyperm'] && $allowreply) || ($forum['replyperm'] && forumperm($forum['replyperm'])) || $forum['allowreply']);
  328.         $allowpost = (!$forum['postperm'] && $allowpost) || ($forum['postperm'] && forumperm($forum['postperm'])) || $forum['allowpost'];

  329.         $allowpostpoll = $allowpost && $allowpostpoll && substr(sprintf('%04b', $forum['allowpostspecial']), -1, 1);
  330.         $allowposttrade = $allowpost && $allowposttrade && substr(sprintf('%04b', $forum['allowpostspecial']), -2, 1);
  331.         $allowpostreward = $allowpost && $allowpostreward && substr(sprintf('%04b', $forum['allowpostspecial']), -3, 1) && isset($extcredits[$creditstrans]);
  332.         $allowpostactivity = $allowpost && $allowpostactivity && substr(sprintf('%04b', $forum['allowpostspecial']), -4, 1);

  333.         $supe_pushstatusadd = '';
  334.         if($supe_status && $supe_allowpushthread && $forum['supe_pushsetting']['status'] == 3) {
  335.                 if(($thread['views'] && $forum['supe_pushsetting']['filter']['views'] && $thread['views'] >= intval($forum['supe_pushsetting']['filter']['views'])) ||
  336.                         ($thread['replies'] && $forum['supe_pushsetting']['filter']['replies'] && $thread['replies'] >= intval($forum['supe_pushsetting']['filter']['replies'])) ||
  337.                         ($thread['digest'] && $forum['supe_pushsetting']['filter']['digest'] && $thread['digest'] >= intval($forum['supe_pushsetting']['filter']['digest'])) ||
  338.                         ($thread['displayorder'] && $forum['supe_pushsetting']['filter']['displayorder'] && $thread['displayorder'] >= intval($forum['supe_pushsetting']['filter']['displayorder']))) {
  339.                         if($thread['supe_pushstatus'] == 0) {
  340.                                 $supe_pushstatusadd = ", supe_pushstatus='3'";
  341.                         }
  342.                 } elseif($thread['supe_pushstatus'] == 3) {
  343.                         $supe_pushstatusadd = ", supe_pushstatus='0'";
  344.                 }
  345.         }

  346.         if(($delayviewcount == 1 || $delayviewcount == 3) && !$supe_pushstatusadd) {
  347.                 $logfile = './forumdata/cache/cache_threadviews.log';
  348.                 if(substr($timestamp, -2) == '00') {
  349.                         require_once DISCUZ_ROOT.'./include/misc.func.php';
  350.                         updateviews('threads', 'tid', 'views', $logfile);
  351.                 }
  352.                 if(@$fp = fopen(DISCUZ_ROOT.$logfile, 'a')) {
  353.                         fwrite($fp, "$tid\n");
  354.                         fclose($fp);
  355.                 } elseif($adminid == 1) {
  356.                         showmessage('view_log_invalid');
  357.                 }
  358.         } else {
  359.                 $db->query("UPDATE {$tablepre}threads SET views=views+1 $supe_pushstatusadd WHERE tid='$tid'", 'UNBUFFERED');
  360.         }
  361.         unset($supe_pushstatusadd);

  362.         if($fastpost && $allowpostreply) {
  363.                 $editorid = 'fastpost';
  364.                 $smcols = $smcols ? $smcols : 4;
  365.                 $smileyinsert = $smileyinsert && is_array($_DCACHE['smilies_display']) ? 1 : 0;
  366.                 $smilies = $smileyinsert ? smiliestable($_DCACHE['smilies_display'], $smcols, 4, $editorid) : '';
  367.                 $moresmilies = $smileyinsert && count($_DCACHE['smilies_display']) > $smcols * 4 ? 1 : 0;
  368.         }

  369.         $forumselect = $forummenu = '';
  370.         if($forumjump) {
  371.                 if($jsmenu[1]) {
  372.                         $forummenu = forumselect(FALSE, 1);
  373.                 } else {
  374.                         $forumselect = forumselect();
  375.                 }
  376.         }

  377.         include template('viewthread');

  378. } elseif($action == 'printable' && $tid) {

  379.         require_once DISCUZ_ROOT.'./include/printable.inc.php';

  380. }

  381. ?>
复制代码

要改的在哪里呢?
回复

使用道具 举报

di2cn 发表于 2006-11-4 21:26:32 | 显示全部楼层
闹心。.
演示打不开
回复

使用道具 举报

水边的树 发表于 2006-11-9 17:40:27 | 显示全部楼层
呵呵,楼主玩飚车
那应该认识我吧
回复

使用道具 举报

xiaokebi7 发表于 2006-11-10 10:52:51 | 显示全部楼层
上传附件pic文件夹到images/模板图片下!

在哪?
回复

使用道具 举报

星夜心情520 发表于 2006-11-18 03:44:53 | 显示全部楼层
谢谢楼主,我已修改了,不错,支持下!
论坛:http://lt989.vip.jx828.net/index.php
回复

使用道具 举报

SolitaryKiss 发表于 2006-11-20 02:00:23 | 显示全部楼层
在线显示确实不准确了,呵呵。
AD~`
http://www.mncg.com.cn/bbs/
回复

使用道具 举报

SolitaryKiss 发表于 2006-11-20 02:17:10 | 显示全部楼层
还有匿名发贴无效....
这个都不重要啦,主要是在线状态的问题,希望能解决.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-11-22 22:15 , Processed in 0.040900 second(s), 4 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表