Welcome

首页 / 网页编程 / PHP / discuz 首页四格:最新话题+最新回复+热门话题+精华文章插件

首页四格:最新话题+最新回复+热门话题+精华文章 for DZ5.5 正式版
适用版本:  Discuz!5.5 正式版
修改难度:  易
数据库升级:  无
演示网站:http://fhxye.cn/
作者:我只是修改罢了~!!!
更新了一下,感谢[url=profile-uid-141096.html]efrog[/url]:lol
原贴:http://www.discuz.net/thread-397572-1-5.html
第一步:index.php
找到:
复制代码 代码如下:
require_once DISCUZ_ROOT."./include/forum.func.php";

下面加入:
复制代码 代码如下:
require_once DISCUZ_ROOT."./include/misc.func.php";

找到:
复制代码 代码如下:
$newthreads = round(($timestamp - $lastvisit + 600) / 1000) * 1000;

下面添加:
复制代码 代码如下:
//---------------hack Meminfo start
if(strpos($HTTP_SERVER_VARS[HTTP_USER_AGENT], "MSIE 6.0")) {
                $visitor_browser = "Internet Explorer 6.0";
        } elseif(strpos($HTTP_SERVER_VARS[HTTP_USER_AGENT], "MSIE 5.5")) {
                $visitor_browser = "Internet Explorer 5.5";
        } elseif(strpos($HTTP_SERVER_VARS[HTTP_USER_AGENT], "MSIE 5.0")) {
                $visitor_browser = "Internet Explorer 5.0";
        } elseif(strpos($HTTP_SERVER_VARS[HTTP_USER_AGENT], "MSIE 4.01")) {
                $visitor_browser = "Internet Explorer 4.01";
        } elseif(strpos($HTTP_SERVER_VARS[HTTP_USER_AGENT], "NetCaptor")) {
                $visitor_browser = "NetCaptor";
        } elseif(strpos($HTTP_SERVER_VARS[HTTP_USER_AGENT], "Netscape")) {
                $visitor_browser = "Netscape";
        } elseif(strpos($HTTP_SERVER_VARS[HTTP_USER_AGENT], "Lynx")) {
                $visitor_browser = "Lynx";
        } elseif(strpos($HTTP_SERVER_VARS[HTTP_USER_AGENT], "Opera")) {
                $visitor_browser = "Opera";
        } elseif(strpos($HTTP_SERVER_VARS[HTTP_USER_AGENT], "Konqueror")) {
                $visitor_browser = "Konqueror";
        } elseif(strpos($HTTP_SERVER_VARS[HTTP_USER_AGENT], "Mozilla")) {
                $visitor_browser = "Mozilla";
        } else {
                $visitor_browser = "其它";
        }
//上面的是浏览器//
        if(strpos($HTTP_SERVER_VARS[HTTP_USER_AGENT], "NT 5.1")) {
                $visitor_os = "Windows XP";
        }elseif(strpos($HTTP_SERVER_VARS[HTTP_USER_AGENT], "NT 5.2")) {
                $visitor_os = "Windows Server 2003";
        }elseif(strpos($HTTP_SERVER_VARS[HTTP_USER_AGENT], "NT 5")) {
                $visitor_os = "Windows 2000";
        } elseif(strpos($HTTP_SERVER_VARS[HTTP_USER_AGENT], "4.9")) {
                $visitor_os = "Windows ME";
        } elseif(strpos($HTTP_SERVER_VARS[HTTP_USER_AGENT], "NT 4")) {
                $visitor_os = "Windows NT 4.0";
        } elseif(strpos($HTTP_SERVER_VARS[HTTP_USER_AGENT], "98")) {
                $visitor_os = "Windows 98";
        } elseif(strpos($HTTP_SERVER_VARS[HTTP_USER_AGENT], "95")) {
                $visitor_os = "Windows 95";
        } elseif(strpos($HTTP_SERVER_VARS[HTTP_USER_AGENT], "Mac")) {
                $visitor_os = "Mac";
        } elseif(strpos($HTTP_SERVER_VARS[HTTP_USER_AGENT], "Linux")) {
                $visitor_os = "Linux";
        } elseif(strpos($HTTP_SERVER_VARS[HTTP_USER_AGENT], "Unix")) {
                $visitor_os = "Unix";
        } elseif(strpos($HTTP_SERVER_VARS[HTTP_USER_AGENT], "FreeBSD")) {
                $visitor_os = "FreeBSD";
        } elseif(strpos($HTTP_SERVER_VARS[HTTP_USER_AGENT], "SunOS")) {
                $visitor_os = "SunOS";
        } elseif(strpos($HTTP_SERVER_VARS[HTTP_USER_AGENT], "BeOS")) {
                $visitor_os = "BeOS";
        } elseif(strpos($HTTP_SERVER_VARS[HTTP_USER_AGENT], "OS/2")) {
                $visitor_os = "OS/2";
        } elseif(strpos($HTTP_SERVER_VARS[HTTP_USER_AGENT], ";PC")) {
                $visitor_os = "Macintosh";
        }elseif(strpos($HTTP_SERVER_VARS[HTTP_USER_AGENT], "AIX")) {
                $visitor_os = "AIX";
        } else {
                $visitor_os = "其他";
        }

        $mem_home = convertip($onlineip, $datadir = "./");
//info//
$colorarray = array("", "red", "orange", "yellow", "green", "cyan", "blue", "purple", "gray");
//新贴//
$hack_cut_str =24; //修改标题显示字数
$hack_cut_strauthor = 9;
$new_post_threadlist = array();
$nthread = array();
$query = $db->query("SELECT t.*, f.name FROM {$tablepre}threads t, {$tablepre}forums f WHERE t.fid<>"$fid" AND f.fid=t.fid ORDER BY t.dateline DESC LIMIT 0, 8");
while($nthread = $db->fetch_array($query)) {
        $nthread["forumname"] = $nthread["name"];
        $nthread["view_subject"] = cutstr($nthread["subject"],$hack_cut_str);
        $nthread["view_author"] = cutstr($nthread["author"],$hack_cut_strauthor);
        $nthread["date"]= gmdate("$dateformat $timeformat", $nthread["dateline"] + $timeoffset * 3600);
        $nthread["lastreplytime"]= gmdate("$dateformat $timeformat", $nthread[lastpost] + ($timeoffset * 3600));
        if($nthread["highlight"]) {
                $string = sprintf("%02d", $nthread["highlight"]);
                $stylestr = sprintf("%03b", $string[0]);

                $nthread["highlight"] = "style="";
                $nthread["highlight"] .= $stylestr[0] ? "font-weight: bold;" : "";
                $nthread["highlight"] .= $stylestr[1] ? "font-style: italic;" : "";
                $nthread["highlight"] .= $stylestr[2] ? "text-decoration: underline;" : "";
                $nthread["highlight"] .= $string[1] ? "color: ".$colorarray[$string[1]] : "";
                $nthread["highlight"] .= """;
        } else {
                $nthread["highlight"] = "";
        }
        $new_post_threadlist[] = $nthread;
}
//新贴//
//新回覆
$hack_cut_str = 24; //修改标题显示字数
$hack_cut_strauthor = 9;
$new_reply_threadlist = array();
$rthread = array();
$query = $db->query("SELECT t.*, f.name FROM {$tablepre}threads t, {$tablepre}forums f WHERE t.fid<>"$fid" AND f.fid=t.fid  AND t.closed NOT LIKE "moved|%" AND t.replies !=0 ORDER BY t.lastpost DESC LIMIT 0, 8");
while($rthread = $db->fetch_array($query)) {
        $rthread["forumname"] = $rthread["name"];
        $rthread["view_subject"] = cutstr($rthread["subject"],$hack_cut_str);
        $rthread["view_lastposter"] = cutstr($rthread["lastposter"],$hack_cut_strauthor);
$rthread["date"]= gmdate("$dateformat $timeformat", $rthread["dateline"] + $timeoffset * 3600);
        $rthread["lastreplytime"]= gmdate("$dateformat $timeformat", $rthread[lastpost] + ($timeoffset * 3600));
        if($rthread["highlight"]) {
                $string = sprintf("%02d", $rthread["highlight"]);
                $stylestr = sprintf("%03b", $string[0]);

                $rthread["highlight"] = "style="";
                $rthread["highlight"] .= $stylestr[0] ? "font-weight: bold;" : "";
                $rthread["highlight"] .= $stylestr[1] ? "font-style: italic;" : "";
                $rthread["highlight"] .= $stylestr[2] ? "text-decoration: underline;" : "";
                $rthread["highlight"] .= $string[1] ? "color: ".$colorarray[$string[1]] : "";
                $rthread["highlight"] .= """;
        } else {
                $rthread["highlight"] = "";
        }
        $new_reply_threadlist[] = $rthread;
}
//回覆//
//热帖
$hack_cut_str = 24; //修改标题显示字数
$hack_cut_strauthor = 9;
[color=red]//这个可以选择安装或者不安装//[/color]
[color=red]//热贴指定天数//[/color]
[color=red]$this_time= time();[/color]
[color=red]$sort_time = $today - ( 60*60*24*7); //7天内
[/color]$new_hot_threadlist = array();
$mthread = array();
$query = $db->query("SELECT t.*, f.name FROM {$tablepre}threads t, {$tablepre}forums f WHERE t.fid<>"$fid" AND f.fid=t.fid  AND t.closed NOT LIKE "moved|%" AND t.replies !=0 [color=red]and t.dateline > $sort_time[/color][b][color=red] [/color][/b]ORDER BY t.views DESC LIMIT 0, 8");
while($mthread = $db->fetch_array($query)) {
        $mthread["forumname"] = $mthread["name"];
        $mthread["view_subject"] = cutstr($mthread["subject"],$hack_cut_str);
        $mthread["view_lastposter"] = cutstr($mthread["lastposter"],$hack_cut_strauthor);
$mthread["date"]= gmdate("$dateformat $timeformat", $mthread["dateline"] + $timeoffset * 3600);
        $mthread["lastreplytime"]= gmdate("$dateformat $timeformat", $mthread[lastpost] + ($timeoffset * 3600));
        if($mthread["highlight"]) {
                $string = sprintf("%02d", $mthread["highlight"]);
                $stylestr = sprintf("%03b", $string[0]);

                $mthread["highlight"] = "style="";
                $mthread["highlight"] .= $stylestr[0] ? "font-weight: bold;" : "";
                $mthread["highlight"] .= $stylestr[1] ? "font-style: italic;" : "";
                $mthread["highlight"] .= $stylestr[2] ? "text-decoration: underline;" : "";
                $mthread["highlight"] .= $string[1] ? "color: ".$colorarray[$string[1]] : "";
                $mthread["highlight"] .= """;
        } else {
                $mthread["highlight"] = "";
        }
        $new_hot_threadlist[] = $mthread;
}
//热帖//
//精华帖
$hack_cut_str =24; //修改标题显示字数
$hack_cut_strauthor = 9;
$new_digest_threadlist = array();
$dthread = array();
$query = $db->query("SELECT t.*, f.name FROM {$tablepre}threads t, {$tablepre}forums f WHERE digest>"0" AND t.fid<>"$fid" AND f.fid=t.fid ORDER BY t.dateline DESC LIMIT 0, 8"); //修改显示帖子条数
while($dthread = $db->fetch_array($query)) {
        $dthread["forumname"] = $dthread["name"];
        $dthread["view_subject"] = cutstr($dthread["subject"],$hack_cut_str);
        $dthread["view_author"] = cutstr($dthread["author"],$hack_cut_strauthor);
        $dthread["date"]= gmdate("$dateformat $timeformat", $dthread["dateline"] + $timeoffset * 3600);
        $dthread["lastreplytime"]= gmdate("$dateformat $timeformat", $dthread[lastpost] + ($timeoffset * 3600));
        if($dthread["highlight"]) {
                $string = sprintf("%02d", $dthread["highlight"]);
                $stylestr = sprintf("%03b", $string[0]);
                $dthread["highlight"] = "style="";
                $dthread["highlight"] .= $stylestr[0] ? "font-weight: bold;" : "";
                $dthread["highlight"] .= $stylestr[1] ? "font-style: italic;" : "";
                $dthread["highlight"] .= $stylestr[2] ? "text-decoration: underline;" : "";
                $dthread["highlight"] .= $string[1] ? "color: ".$colorarray[$string[1]] : "";
                $dthread["highlight"] .= """;
        } else {
                $dthread["highlight"] = "";
        }
        $new_digest_threadlist[] = $dthread;
}
//精华帖//

如果要修改调用的显示条数,则修改以下代码位置(有4处要修改)
复制代码 代码如下:
$query = $db->query("SELECT t.*, f.name FROM {$tablepre}threads t, {$tablepre}forums f WHERE t.fid<>"$fid" AND f.fid=t.fid ORDER BY t.dateline DESC LIMIT 0, [b][color=red]8[/color][/b]");

把8修改成你要的数目就可以了.

2./templates/default/discuz.htm
找到
复制代码 代码如下:
<!--{if !empty($advlist["text"])}-->
        <div style="clear: both; margin-top: 5px;">
        <div class="spaceborder" style="width: {TABLEWIDTH}">
        <table cellspacing="1" border="0" cellpadding="{TABLESPACE}" width="100%" style="background: {BGBORDER}">$advlist[text]</table>
        </div><br></div>
<!--{/if}-->

下面添加:
复制代码 代码如下:
<!--{if !empty($advlist["text"])}-->
        <div style="clear: both; margin-top: 5px;">
        <div class="spaceborder" style="width: {TABLEWIDTH}">
        <table cellspacing="1" border="0" cellpadding="{TABLESPACE}" width="100%" style="background: {BGBORDER}">$advlist[text]</table>
        </div><br></div>
<!--{/if}-->
<!--{if empty($catlist)}--><div class="maintable"><!--{/if}-->
<table cellspacing="{INNERBORDERWIDTH}" cellpadding="{TABLESPACE}" width="{TABLEWIDTH}" align="center" class="tableborder">
        <tr class="header">
    <td class="header" width=25% align=center><b>≡最新话题≡</b></td>
    <td class="header" width=25% align=center><b>≡最新回复≡</b></td>
    <td class="header" width=25% align=center><b>≡热门话题≡</b></td>
    <td class="header" width=25% align=center><b>≡精华文章≡</b></td>
    </tr>
        <tr>
        <td class="altbg1">
        <!--{loop $new_post_threadlist $nthread}-->

<table border=0 width="100%" cellspacing=2><tr><td height=12 width="76%"><FONT color=#FF60c0 face=Wingdings>z</FONT> <!--{if $nthread[replies]}--><a href="redirect.php?tid=$nthread[tid]&goto=newpost" $nthread["highlight"] title="最新话题 {LF}所在论坛: $nthread[forumname]{LF}主题标题: $nthread[subject] {LF}主题作者: $nthread[author]{LF}发表时间: $nthread[date]{LF}浏览次数: $nthread[views] 次 {LF}回复次数: $nthread[replies] 次{LF}最后回复: $nthread[lastreplytime]{LF}{lang lastpost}: $nthread[lastposter]" target="_blank">$nthread[view_subject]</a>
<!--{else}-->
<a href="redirect.php?tid=$nthread[tid]&goto=newpost" $nthread["highlight"] title="最新话题 {LF}所在论坛: $nthread[forumname]{LF}主题标题: $nthread[subject] {LF}主题作者: $nthread[author]{LF}发表时间{lang time}: $nthread[date]{LF}浏览次数: $nthread[views] 次 {LF}回复次数: $nthread[replies] 次{LF}{lang replies}: 暂时没有回复" target="_blank">$nthread[view_subject]</a><!--{/if}-->
</td><td> <a href="viewpro.php?username=$nthread[author]" target="_blank"class="smalltxt">$nthread[view_author]</a></td></tr></table>
<!--{/loop}-->
</td>      
<td class="altbg1">
<!--{loop $new_reply_threadlist $rthread}-->
<table border=0 width="100%" cellspacing=2><tr><td height=12 width="76%"><FONT color=#FF60c0 face=Wingdings>z</FONT>
<a href="viewthread.php?tid=$rthread[tid]" $rthread["highlight"] title="最新回复 {LF}所在论坛: $rthread[forumname]{LF}主题标题: $rthread[subject]{LF}主题作者: $rthread[author]{LF}发表时间: $rthread[date]{LF}浏览次数: $rthread[views] 次{LF}回复次数: $rthread[replies] 次{LF}最后回复: $rthread[lastreplytime]{LF}{lang lastpost}: $rthread[lastposter]" target="_blank">$rthread[view_subject]</a></td><td> <a href="viewpro.php?username=$rthread[lastposter]"target="_blank" class="smalltxt">$rthread[view_lastposter]</a></td></tr></table>
<!--{/loop}-->
</td>
<td class="altbg1">
<!--{loop $new_hot_threadlist $mthread}-->
<table border=0 width="100%" cellspacing=2><tr><td height=12 width="76%"><FONT color=#FF60c0 face=Wingdings>z</FONT>
<a href="viewthread.php?tid=$mthread[tid]" $mthread["highlight"] title="热门话题 {LF}所在论坛: $mthread[forumname]{LF}主题标题: $mthread[subject]{LF}主题作者: $mthread[author]{LF}发表时间: $mthread[date]{LF}浏览次数: $mthread[views] 次{LF}回复次数: $mthread[replies] 次{LF}最后回复: $mthread[lastreplytime]{LF}{lang lastpost}: $mthread[lastposter]"target="_blank">$mthread[view_subject]</a></td><td> <a href="viewpro.php?username=$rthread[lastposter]" target="_blank"class="smalltxt">$mthread[view_lastposter]</a></td></tr></table>
<!--{/loop}-->
</td>
<td class="altbg1">
<!--{loop $new_digest_threadlist $dthread}-->
<table border=0 width="100%" cellspacing=2><tr><td height=12 width="76%"><FONT color=#FF60c0 face=Wingdings>v</FONT>
<a href="viewthread.php?tid=$dthread[tid]"  $dthread["highlight"] title="精华文章 {LF}所在论坛: $dthread[forumname]{LF}主题标题: $dthread[subject]{LF}主题作者: $dthread[author]{LF}发表时间: $dthread[date]{LF}浏览次数: $dthread[views] 次{LF}回复次数: $dthread[replies] 次{LF}最后回复: $dthread[lastreplytime]{LF}{lang lastpost}: $dthread[lastposter]"target="_blank">$dthread[view_subject]</a></td><td> <a href="viewpro.php?username=$rthread[lastposter]"target="_blank" class="smalltxt">$dthread[view_author]</a></td></tr></table>
<!--{/loop}-->
</td></tr>
</table><br>
</div>

<div class="maintable">