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


Posted in PHP onAugust 19, 2007

首页四格:最新话题+最新回复+热门话题+精华文章 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">
PHP 相关文章推荐
PHP 开发环境配置(Zend Studio)
Apr 28 PHP
PHP统计目录下的文件总数及代码行数(去除注释及空行)
Jan 17 PHP
PHP 获取MySQL数据库里所有表的实现代码
Jul 13 PHP
PHP通过正则表达式下载图片到本地的实现代码
Sep 19 PHP
PHP得到mssql的存储过程的输出参数功能实现
Nov 23 PHP
php获取$_POST同名参数数组的实现介绍
Jun 30 PHP
php登陆页的密码处理方式分享
Oct 14 PHP
ThinkPHP3.1新特性之对页面压缩输出的支持
Jun 19 PHP
php清空(删除)指定目录下的文件,不删除目录文件夹的实现代码
Sep 04 PHP
php使用Cookie控制访问授权的方法
Jan 21 PHP
在PHP站点的页面上添加Facebook评论插件的实例教程
Jan 08 PHP
PHP中关键字interface和implements详解
Jun 14 PHP
PHP下几种删除目录的方法总结
Aug 19 #PHP
wordpress之wp-settings.php
Aug 17 #PHP
PHP4和PHP5性能测试和对比 测试代码与环境
Aug 17 #PHP
在PHP里得到前天和昨天的日期的代码
Aug 16 #PHP
PHP与MySQL开发中页面出现乱码的一种解决方法
Jul 29 #PHP
真正的ZIP文件操作类(php)
Jul 21 #PHP
php 用sock技术发送邮件的函数
Jul 21 #PHP
You might like
Views rows style模板重写代码
2011/05/16 PHP
php 解压rar文件及zip文件的方法
2014/05/05 PHP
codeigniter集成ucenter1.6双向通信的解决办法
2014/06/12 PHP
PHP多线程之内部多线程实例分析
2015/03/09 PHP
php中执行系统命令的方法
2015/03/21 PHP
CodeIgniter表单验证方法实例详解
2016/03/03 PHP
php表单习惯用的正则表达式
2017/10/11 PHP
基于laravel belongsTo使用详解
2019/10/18 PHP
PHP7 弃用功能
2021/03/09 PHP
使用正则替换变量
2007/05/05 Javascript
input链接页面、打开新网页等等的具体实现
2013/12/30 Javascript
jquery重复提交请求的原因浅析
2014/05/23 Javascript
用C/C++来实现 Node.js 的模块(二)
2014/09/24 Javascript
JS实现仿QQ效果的三级竖向菜单
2015/09/25 Javascript
jQuery Select下拉框操作小结(推荐)
2016/07/22 Javascript
vue.js初学入门教程(1)
2016/11/03 Javascript
jQuery实现页面倒计时并刷新效果
2017/03/13 Javascript
vue axios用法教程详解
2017/07/23 Javascript
js模块加载方式浅析
2017/08/12 Javascript
什么是Vue.js框架 为什么选择它?
2017/10/17 Javascript
使用async-validator编写Form组件的方法
2018/01/10 Javascript
React Navigation 使用中遇到的问题小结
2018/05/08 Javascript
three.js实现圆柱体
2018/12/30 Javascript
2020淘宝618理想生活列车自动领喵币js脚本的代码
2020/06/02 Javascript
Openlayers实现地图全屏显示
2020/09/28 Javascript
解决vue项目运行npm run serve报错的问题
2020/10/26 Javascript
Python语言异常处理测试过程解析
2020/01/08 Python
自定义Django_rest_framework_jwt登陆错误返回的解决
2020/10/18 Python
曼城官方网上商店:Manchester City
2019/09/10 全球购物
新大陆软件面试题
2016/11/24 面试题
机械设计制造专业个人求职信
2013/09/25 职场文书
应届生求职推荐信
2013/10/28 职场文书
介绍信怎么写
2015/01/30 职场文书
护士个人年终总结
2015/02/13 职场文书
律政俏佳人观后感
2015/06/09 职场文书
生日祝酒词大全
2015/08/10 职场文书