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学习 运算符与运算符优先级
Jun 15 PHP
php 代码优化的42条建议 推荐
Sep 25 PHP
Linux环境下搭建php开发环境的操作步骤
Jun 17 PHP
PHP四大安全策略
Mar 12 PHP
用 Composer构建自己的 PHP 框架之构建路由
Oct 30 PHP
jQuery+PHP实现的掷色子抽奖游戏实例
Jan 04 PHP
php返回当前日期或者指定日期是周几
May 21 PHP
php命令行(cli)下执行PHP脚本文件的相对路径的问题解决方法
May 25 PHP
PHP实现linux命令tail -f
Feb 22 PHP
Yii2框架制作RESTful风格的API快速入门教程
Nov 08 PHP
在云虚拟主机部署thinkphp5项目的步骤详解
Dec 21 PHP
PHP 99乘法表的几种实现代码
Oct 13 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
ThinkPHP快速入门实例教程之数据分页
2014/07/01 PHP
thinkphp3.2实现上传图片的控制器方法
2016/04/28 PHP
PHP递归删除多维数组中的某个值
2017/04/17 PHP
PHP去除空数组且数组键名重置的讲解
2019/02/28 PHP
PHP设计模式之工厂模式(Factory Pattern)的讲解
2019/03/21 PHP
Javascript图像处理—亮度对比度应用案例
2013/01/03 Javascript
使用jQuery fancybox插件打造一个实用的数据传输模态弹出窗体
2013/01/15 Javascript
Javascript中各种trim的实现详细解析
2013/12/10 Javascript
js判断鼠标左、中、右键哪个被点击的方法
2015/01/27 Javascript
教你如何终止JQUERY的$.AJAX请求
2016/02/23 Javascript
jquery实现ajax提交表单信息的简单方法(推荐)
2016/08/24 Javascript
微信小程序wx.uploadfile 本地文件转base64的实现代码
2018/06/28 Javascript
React手稿之 React-Saga的详解
2018/11/12 Javascript
Mint UI实现A-Z字母排序的城市选择列表
2018/12/28 Javascript
SSM+layUI 根据登录信息显示不同的页面方法
2019/09/20 Javascript
微信小程序tabBar设置实例解析
2019/11/14 Javascript
在react中使用vue的状态管理的方法示例
2020/05/02 Javascript
详解如何在Javascript中使用Object.freeze()
2020/10/18 Javascript
Vue 3.0中jsx语法的使用
2020/11/13 Javascript
[01:02:45]完美世界DOTA2联赛 LBZS vs Forest 第三场 11.07
2020/11/09 DOTA
Python对象体系深入分析
2014/10/28 Python
零基础写python爬虫之抓取百度贴吧代码分享
2014/11/06 Python
详解Python中的正则表达式的用法
2015/04/09 Python
Python实现利用最大公约数求三个正整数的最小公倍数示例
2017/09/30 Python
浅谈Django REST Framework限速
2017/12/12 Python
Python实现破解12306图片验证码的方法分析
2017/12/29 Python
python学习基础之循环import及import过程
2018/04/22 Python
TensorFlow 输出checkpoint 中的变量名与变量值方式
2020/02/11 Python
python和pywin32实现窗口查找、遍历和点击的示例代码
2020/04/01 Python
The Athlete’s Foot新西兰:新西兰最大的运动鞋零售商
2019/12/23 全球购物
法律专业实习鉴定
2013/12/22 职场文书
六一儿童节主持词
2014/03/21 职场文书
社区党风廉政建设调研报告
2015/01/01 职场文书
少先队工作总结2015
2015/05/13 职场文书
生产设备维护保养制度
2015/08/06 职场文书
初三语文教学反思
2016/03/03 职场文书