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实现域名whois查询的代码(数据源万网、新网)
Feb 22 PHP
DedeCMS 核心类TypeLink.class.php摘要笔记
Apr 07 PHP
php expects parameter 1 to be resource, array given 错误
Mar 23 PHP
php中$_REQUEST、$_POST、$_GET的区别和联系小结
Nov 23 PHP
php setcookie(name, value, expires, path, domain, secure) 参数详解
Jun 28 PHP
php开启与关闭错误提示适用于没有修改php.ini的权限
Oct 16 PHP
php常用数学函数汇总
Nov 21 PHP
WordPress中用于获取文章作者与分类信息的方法整理
Dec 17 PHP
thinkPHP中验证码的简单使用方法
Dec 26 PHP
PHP如何实现跨域
May 30 PHP
php利用gd库为图片添加水印
Nov 09 PHP
Laravel5.5以下版本中如何自定义日志行为详解
Aug 01 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来检测proxy
2006/10/09 PHP
ASP和PHP都是可以删除自身的
2007/04/09 PHP
php动态生成JavaScript代码
2009/03/09 PHP
php 无限级数据JSON格式及JS解析
2010/07/17 PHP
destoon首页调用求购供应信息的地区名称的方法
2014/08/21 PHP
使用Appcan客户端自动更新PHP版本号(全)
2015/07/31 PHP
Yii2 批量插入、更新数据实例
2017/03/15 PHP
CL vs ForZe BO5 第一场 2.13
2021/03/10 DOTA
语义化 H1 标签
2008/01/14 Javascript
js获取事件源及触发该事件的对象
2013/10/24 Javascript
js实现精美的银灰色竖排折叠菜单
2015/05/16 Javascript
javascript常用的方法整理
2015/08/20 Javascript
JS实现CheckBox复选框全选、不选或全不选功能
2020/07/28 Javascript
jQuery中判断对象是否存在的方法汇总
2016/02/24 Javascript
javascript三种代码注释方法
2016/06/02 Javascript
Bootstrap布局组件教程之Bootstrap下拉菜单
2016/06/12 Javascript
Angular搜索 过滤 批量删除 添加 表单验证功能集锦(实例代码)
2017/10/25 Javascript
JS中判断某个字符串是否包含另一个字符串的五种方法
2018/05/03 Javascript
Vue 让元素抖动/摆动起来的实现代码
2018/05/31 Javascript
JavaScript 中的 this 工作原理
2018/06/20 Javascript
React Component存在的几种形式详解
2018/11/06 Javascript
vue+ESLint 配置保存 自动格式化代码
2020/03/17 Javascript
Python实现的彩票机选器实例
2015/06/17 Python
Python网络编程 Python套接字编程
2017/09/13 Python
基于Django contrib Comments 评论模块(详解)
2017/12/08 Python
Python爬虫爬取一个网页上的图片地址实例代码
2018/01/16 Python
python批量设置多个Excel文件页眉页脚的脚本
2018/03/14 Python
Python 读取某个目录下所有的文件实例
2018/06/23 Python
Python 3.3实现计算两个日期间隔秒数/天数的方法示例
2019/01/07 Python
树莓派极简安装OpenCv的方法步骤
2019/10/10 Python
Python 切分数组实例解析
2019/11/07 Python
外贸业务员的岗位职责
2013/11/23 职场文书
财政专业求职信范文
2014/02/19 职场文书
企业新年寄语
2014/04/04 职场文书
2015年宣传部部长竞选演讲稿
2014/11/28 职场文书
SQL Server连接查询的实用教程
2021/04/07 SQL Server