当前位置: 首页 > 图文教程 > 网络编程 > PHP > discuz 首页四格:最新话题+最新回复+热门话题+精华文章插件

PHP
一贴学会PHP 新手入门教程
用PHP的ob_start() 控制您的浏览器cache
谈谈新手如何学习PHP 默默经典版本
黑夜路人出的几道php笔试题
一些 PHP 管理系统程序中的后门
用php获取本周,上周,本月,上月,本季度日期的代码
PHP 简单数组排序实现代码
PHP 多维数组排序实现代码
php 全局变量范围分析
php_xmlhttp 乱码问题解决方法
PHP 数组学习排序全接触
php Sql Server连接失败问题及解决办法
PHP 翻页 实例代码
php 随机数的产生、页面跳转、件读写、文件重命名、switch语句
PHP 5.3.0 安装分析心得
php 生成WML页面方法详解
php 取得瑞年与平年的天数的代码
php empty函数 使用说明
php natsort内核函数浅析
PHP 源代码分析 Zend HashTable详解

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 292 ::
收藏到网摘: n/a

首页四格:最新话题+最新回复+热门话题+精华文章 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">