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实现用户认证及管理完全源码
Mar 11 PHP
小文件php+SQLite存储方案
Sep 04 PHP
学习PHP的数组总结【经验】
May 05 PHP
PHP实现数组array转换成xml的方法
Jul 19 PHP
PHP中字符与字节的区别及字符串与字节转换示例
Oct 15 PHP
PHP 以POST方式提交XML、获取XML,解析XML详解及实例
Oct 26 PHP
PHP编程实现多维数组按照某个键值排序的方法小结【2种方法】
Apr 27 PHP
yii插入数据库防并发的简单代码
May 27 PHP
PHP框架自动加载类文件原理详解
Jun 06 PHP
PHPExcel中文帮助手册|PHPExcel使用方法(分享)
Jun 09 PHP
PHP基于socket实现客户端和服务端通讯功能
Jul 13 PHP
Laravel程序架构设计思路之使用动作类
Jun 07 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 操作调试的方法
2012/07/12 PHP
php生成毫秒时间戳的实例讲解
2017/09/22 PHP
php实现socket推送技术的示例
2017/12/20 PHP
关于event.cancelBubble和event.stopPropagation()的区别介绍
2011/12/11 Javascript
基于jquery实现状态限定编辑的代码
2012/02/11 Javascript
多个checkbox被选中时如何判断是否有自己想要的
2014/09/22 Javascript
JS运动基础框架实例分析
2015/03/03 Javascript
BootStrap的table表头固定tbody滚动的实例代码
2016/08/24 Javascript
vue2.0+webpack环境的构造过程
2016/11/08 Javascript
适用于手机端的jQuery图片滑块动画
2016/12/09 Javascript
Angular2学习教程之组件中的DOM操作详解
2017/05/28 Javascript
JS实现小球的弹性碰撞效果
2017/11/11 Javascript
解决Mac node版本升级失败的问题
2018/05/16 Javascript
vue基于两个计算属性实现选中和全选功能示例
2019/02/08 Javascript
vue使用混入定义全局变量、函数、筛选器的实例代码
2019/07/29 Javascript
vue-cli中实现响应式布局的方法
2021/03/02 Vue.js
常用python数据类型转换函数总结
2014/03/11 Python
Python中文编码那些事
2014/06/25 Python
Python使用lxml模块和Requests模块抓取HTML页面的教程
2016/05/16 Python
Python3 replace()函数使用方法
2018/03/19 Python
关于Python正则表达式 findall函数问题详解
2018/03/22 Python
Python实现自定义顺序、排列写入数据到Excel的方法
2018/04/23 Python
python爬虫之遍历单个域名
2019/11/20 Python
python实现矩阵和array数组之间的转换
2019/11/29 Python
浅析图片上传及canvas压缩的流程
2020/06/10 HTML / CSS
华丽的手绘陶瓷:MacKenzie-Childs
2017/02/04 全球购物
Intimissimi德国网上商店:意大利知名内衣品牌
2018/04/03 全球购物
Lookfantastic日本官网:英国知名护肤、化妆品和头发护理购物网站
2018/04/21 全球购物
英文版银行求职信
2013/10/09 职场文书
电大本科自我鉴定
2014/02/05 职场文书
销售职业生涯规划范文
2014/03/14 职场文书
计算机相关专业自荐信
2014/07/02 职场文书
大学生党员自我剖析材料
2014/10/06 职场文书
思想品德评语大全
2014/12/31 职场文书
通知格式
2015/04/27 职场文书
在校大学生才艺比赛策划书怎么写?
2019/08/26 职场文书