以前发过For5.0C版本的,最近又有网友要,所以整理了一下,重新发出来。
- 作品名称:首页三格帖子调用+美化+作者
- 适用版本:Discuz! 5.5
- 数据库升级:无
- 修改难度:易
图片演示:
1.打开根目录下的 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 =29; //修改标题显示字数
- $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, 13");
- 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 = 29; //修改标题显示字数
- $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, 13");
- 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 = 29; //修改标题显示字数
- $hack_cut_strauthor = 9;
- $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 ORDER BY t.views DESC LIMIT 0, 13");
- 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;
- }
- //热帖//
复制代码
2.打开/templates/default/discuz.htm
查找
- <!--{if !empty($advlist['text'])}-->
- <div class="maintable">
- <table cellspacing="{INNERBORDERWIDTH}" cellpadding="{TABLESPACE}" width="{TABLEWIDTH}" align="center" class="tableborder">$advlist[text]</table>
- <br></div>
- <!--{/if}-->
复制代码
在上面添加
- <table cellspacing="{INNERBORDERWIDTH}" cellpadding="{TABLESPACE}" width="{TABLEWIDTH}" align="center" class="tableborder">
- <tr class="header">
- <td class="header" width=34% align=center><b>≡最新话题≡</b></td>
- <td class="header" width=33% align=center><b>≡最新回复≡</b></td>
- <td class="header" width=33% 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='78%'><FONT color=#FFA6D2 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='78%'><FONT color=#FFA6D2 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='78%'><FONT color=#FFA6D2 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></tr>
- </table><br>
复制代码
如果要修改调用的显示条数,则修改以下代码位置(有3处要修改)
$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, 13");
把13改为你想显示的条数就可以。
------------------------------------------------------------------------------------
调用论坛精华的修改方法
下段代码替换论坛根目录下index.php中论坛热门相关位置代码
- //最新回复// //论坛精华// $hack_cut_str =28; //修改标题显示字数
- $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, 10"); //修改显示帖子条数
- 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;
- }
- //论坛精华//
复制代码
下段代码替换/templates/风格/discuz.htm中论坛热门相关位置代码
- <td>
- <!--{loop $new_digest_threadlist $dthread}-->
- <table border="0" width='100%' cellspacing="2">
- <tr>
- <td height=12 width='76%'><FONT face=Wingdings>z</FONT> </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]">$dthread[view_subject]</a></td>
- </tr>
- </table>
- <!--{/loop}--></td>
复制代码
[ 本帖最后由 wgding 于 2007-5-24 23:51 编辑 ] |