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扩展函数
Oct 09 PHP
PHP静态调用非静态方法的应用分析
May 02 PHP
destoon实现VIP排名一直在前面排序的方法
Aug 21 PHP
PHP+jQuery 注册模块开发详解
Oct 14 PHP
使用GDB调试PHP代码,解决PHP代码死循环问题
Mar 02 PHP
PHP中对数组的一些常用的增、删、插操作函数总结
Nov 27 PHP
PHP 绘制网站登录首页图片验证码
Apr 12 PHP
PHP简单实现合并2个数字键数组值的方法
May 30 PHP
Laravel使用PHPQRCODE实现生成带有LOGO的二维码图片功能示例
Jul 07 PHP
动态表单验证的操作方法和TP框架里面的ajax表单验证
Jul 19 PHP
php实现的支付宝网页支付功能示例【基于TP5框架】
Sep 16 PHP
laravel框架中视图的基本使用方法分析
Nov 23 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
php print EOF实现方法
2009/05/21 PHP
功能强大的PHP图片处理类(水印、透明度、旋转)
2015/10/21 PHP
详解PHP中instanceof关键字及instanceof关键字有什么作用
2015/11/05 PHP
Laravel使用Caching缓存数据减轻数据库查询压力的方法
2016/03/15 PHP
php+MySQL实现登录时验证登录名和密码是否正确
2016/05/10 PHP
php lcg_value与mt_rand生成0~1随机小数的效果对比分析
2017/04/05 PHP
JQuery中each()的使用方法说明
2010/08/19 Javascript
什么是json和jsonp,jQuery json实例详详细说明
2012/12/11 Javascript
js 调用父窗口的具体实现代码
2013/07/15 Javascript
node.js中的fs.existsSync方法使用说明
2014/12/17 Javascript
JavaScript判断表单提交时哪个radio按钮被选中的方法
2015/03/21 Javascript
JavaScript中Cookies的相关使用教程
2015/06/04 Javascript
原生js实现图片层叠轮播切换效果
2016/02/02 Javascript
JavaScript实现字符串与日期的互相转换及日期的格式化
2016/03/07 Javascript
使用JS模拟锚点跳转的实例
2018/02/01 Javascript
解决layer.confirm选择完之后消息框不消失的问题
2019/09/16 Javascript
element form 校验数组每一项实例代码
2019/10/10 Javascript
vue实现输入框自动跳转功能
2020/05/20 Javascript
[44:51]2018DOTA2亚洲邀请赛 4.4 淘汰赛 VP vs Liquid 第二场
2018/04/05 DOTA
在Mac下使用python实现简单的目录树展示方法
2018/11/01 Python
Django命名URL和反向解析URL实现解析
2019/08/09 Python
python实现tail -f 功能
2020/01/17 Python
Tkinter中复选菜单是否被选中的判断与设置方式
2020/03/04 Python
浅谈pytorch中torch.max和F.softmax函数的维度解释
2020/06/28 Python
基于opencv实现简单画板功能
2020/08/02 Python
python 对xml解析的示例
2021/02/27 Python
如何使用canvas绘制可移动网格的示例代码
2020/12/14 HTML / CSS
美国在线精品家居网站:Burke Decor
2017/04/12 全球购物
美国女孩洋娃娃店:American Girl
2017/10/24 全球购物
Banana Republic英国官网:香蕉共和国,GAP集团旗下偏贵族风
2018/04/24 全球购物
维多利亚的秘密官方网站:Victoria’s Secret
2018/10/24 全球购物
介绍一下Linux内核的排队自旋锁
2014/08/27 面试题
医大实习自我鉴定
2013/12/07 职场文书
毕业生个人投资创业计划书
2014/01/04 职场文书
土地租赁意向书
2014/07/30 职场文书
2015年秋季学校开学标语
2015/07/16 职场文书