巴巴塔 发表于 2024-12-13 14:45:15

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

首页四格:最新话题+最新回复+热门话题+精华文章 for DZ5.5 正式版
适用版本:Discuz!5.5 正式版
修改难度:易
数据库升级:无
演示网站:http://fhxye.cn/
作者:我只是修改罢了~!!!
更新了一下,感谢efrog: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, "MSIE 6.0")) {
                $visitor_browser = "Internet Explorer 6.0";
      } elseif(strpos($HTTP_SERVER_VARS, "MSIE 5.5")) {
                $visitor_browser = "Internet Explorer 5.5";
      } elseif(strpos($HTTP_SERVER_VARS, "MSIE 5.0")) {
                $visitor_browser = "Internet Explorer 5.0";
      } elseif(strpos($HTTP_SERVER_VARS, "MSIE 4.01")) {
                $visitor_browser = "Internet Explorer 4.01";
      } elseif(strpos($HTTP_SERVER_VARS, "NetCaptor")) {
                $visitor_browser = "NetCaptor";
      } elseif(strpos($HTTP_SERVER_VARS, "Netscape")) {
                $visitor_browser = "Netscape";
      } elseif(strpos($HTTP_SERVER_VARS, "Lynx")) {
                $visitor_browser = "Lynx";
      } elseif(strpos($HTTP_SERVER_VARS, "Opera")) {
                $visitor_browser = "Opera";
      } elseif(strpos($HTTP_SERVER_VARS, "Konqueror")) {
                $visitor_browser = "Konqueror";
      } elseif(strpos($HTTP_SERVER_VARS, "Mozilla")) {
                $visitor_browser = "Mozilla";
      } else {
                $visitor_browser = "其它";
      }
//上面的是浏览器//
      if(strpos($HTTP_SERVER_VARS, "NT 5.1")) {
                $visitor_os = "Windows XP";
      }elseif(strpos($HTTP_SERVER_VARS, "NT 5.2")) {
                $visitor_os = "Windows Server 2003";
      }elseif(strpos($HTTP_SERVER_VARS, "NT 5")) {
                $visitor_os = "Windows 2000";
      } elseif(strpos($HTTP_SERVER_VARS, "4.9")) {
                $visitor_os = "Windows ME";
      } elseif(strpos($HTTP_SERVER_VARS, "NT 4")) {
                $visitor_os = "Windows NT 4.0";
      } elseif(strpos($HTTP_SERVER_VARS, "98")) {
                $visitor_os = "Windows 98";
      } elseif(strpos($HTTP_SERVER_VARS, "95")) {
                $visitor_os = "Windows 95";
      } elseif(strpos($HTTP_SERVER_VARS, "Mac")) {
                $visitor_os = "Mac";
      } elseif(strpos($HTTP_SERVER_VARS, "Linux")) {
                $visitor_os = "Linux";
      } elseif(strpos($HTTP_SERVER_VARS, "Unix")) {
                $visitor_os = "Unix";
      } elseif(strpos($HTTP_SERVER_VARS, "FreeBSD")) {
                $visitor_os = "FreeBSD";
      } elseif(strpos($HTTP_SERVER_VARS, "SunOS")) {
                $visitor_os = "SunOS";
      } elseif(strpos($HTTP_SERVER_VARS, "BeOS")) {
                $visitor_os = "BeOS";
      } elseif(strpos($HTTP_SERVER_VARS, "OS/2")) {
                $visitor_os = "OS/2";
      } elseif(strpos($HTTP_SERVER_VARS, ";PC")) {
                $visitor_os = "Macintosh";
      }elseif(strpos($HTTP_SERVER_VARS, "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 + ($timeoffset * 3600));
      if($nthread['highlight']) {
                $string = sprintf('%02d', $nthread['highlight']);
                $stylestr = sprintf('%03b', $string);

                $nthread['highlight'] = 'style="';
                $nthread['highlight'] .= $stylestr ? 'font-weight: bold;' : '';
                $nthread['highlight'] .= $stylestr ? 'font-style: italic;' : '';
                $nthread['highlight'] .= $stylestr ? 'text-decoration: underline;' : '';
                $nthread['highlight'] .= $string ? 'color: '.$colorarray[$string] : '';
                $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.fidAND 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 + ($timeoffset * 3600));
      if($rthread['highlight']) {
                $string = sprintf('%02d', $rthread['highlight']);
                $stylestr = sprintf('%03b', $string);

                $rthread['highlight'] = 'style="';
                $rthread['highlight'] .= $stylestr ? 'font-weight: bold;' : '';
                $rthread['highlight'] .= $stylestr ? 'font-style: italic;' : '';
                $rthread['highlight'] .= $stylestr ? 'text-decoration: underline;' : '';
                $rthread['highlight'] .= $string ? 'color: '.$colorarray[$string] : '';
                $rthread['highlight'] .= '"';
      } else {
                $rthread['highlight'] = '';
      }
      $new_reply_threadlist[] = $rthread;
}
//回覆//
//热帖
$hack_cut_str = 24; //修改标题显示字数
$hack_cut_strauthor = 9;
//这个可以选择安装或者不安装//
//热贴指定天数//
$this_time= time();
$sort_time = $today - ( 60*60*24*7); //7天内
$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.fidAND t.closed NOT LIKE 'moved|%' AND t.replies !=0 and t.dateline > $sort_time 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 + ($timeoffset * 3600));
      if($mthread['highlight']) {
                $string = sprintf('%02d', $mthread['highlight']);
                $stylestr = sprintf('%03b', $string);

                $mthread['highlight'] = 'style="';
                $mthread['highlight'] .= $stylestr ? 'font-weight: bold;' : '';
                $mthread['highlight'] .= $stylestr ? 'font-style: italic;' : '';
                $mthread['highlight'] .= $stylestr ? 'text-decoration: underline;' : '';
                $mthread['highlight'] .= $string ? 'color: '.$colorarray[$string] : '';
                $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 + ($timeoffset * 3600));
      if($dthread['highlight']) {
                $string = sprintf('%02d', $dthread['highlight']);
                $stylestr = sprintf('%03b', $string);
                $dthread['highlight'] = 'style="';
                $dthread['highlight'] .= $stylestr ? 'font-weight: bold;' : '';
                $dthread['highlight'] .= $stylestr ? 'font-style: italic;' : '';
                $dthread['highlight'] .= $stylestr ? 'text-decoration: underline;' : '';
                $dthread['highlight'] .= $string ? 'color: '.$colorarray[$string] : '';
                $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, 8");

把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</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</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}--><a href="redirect.php?tid=$nthread&goto=newpost" $nthread['highlight'] title="最新话题 {LF}所在论坛: $nthread{LF}主题标题: $nthread {LF}主题作者: $nthread{LF}发表时间: $nthread{LF}浏览次数: $nthread 次 {LF}回复次数: $nthread 次{LF}最后回复: $nthread{LF}{lang lastpost}: $nthread" target='_blank'>$nthread</a>
<!--{else}-->
<a href="redirect.php?tid=$nthread&goto=newpost" $nthread['highlight'] title="最新话题 {LF}所在论坛: $nthread{LF}主题标题: $nthread {LF}主题作者: $nthread{LF}发表时间{lang time}: $nthread{LF}浏览次数: $nthread 次 {LF}回复次数: $nthread 次{LF}{lang replies}: 暂时没有回复" target='_blank'>$nthread</a><!--{/if}-->
</td><td> <a href="viewpro.php?username=$nthread" target='_blank'class="smalltxt">$nthread</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" $rthread['highlight'] title="最新回复 {LF}所在论坛: $rthread{LF}主题标题: $rthread{LF}主题作者: $rthread{LF}发表时间: $rthread{LF}浏览次数: $rthread 次{LF}回复次数: $rthread 次{LF}最后回复: $rthread{LF}{lang lastpost}: $rthread" target='_blank'>$rthread</a></td><td> <a href="viewpro.php?username=$rthread"target='_blank' class="smalltxt">$rthread</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" $mthread['highlight'] title="热门话题 {LF}所在论坛: $mthread{LF}主题标题: $mthread{LF}主题作者: $mthread{LF}发表时间: $mthread{LF}浏览次数: $mthread 次{LF}回复次数: $mthread 次{LF}最后回复: $mthread{LF}{lang lastpost}: $mthread"target='_blank'>$mthread</a></td><td> <a href="viewpro.php?username=$rthread" target='_blank'class="smalltxt">$mthread</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"$dthread['highlight'] title="精华文章 {LF}所在论坛: $dthread{LF}主题标题: $dthread{LF}主题作者: $dthread{LF}发表时间: $dthread{LF}浏览次数: $dthread 次{LF}回复次数: $dthread 次{LF}最后回复: $dthread{LF}{lang lastpost}: $dthread"target='_blank'>$dthread</a></td><td> <a href="viewpro.php?username=$rthread"target='_blank' class="smalltxt">$dthread</a></td></tr></table>
<!--{/loop}-->
</td></tr>
</table><br>
</div>

<div class="maintable">


来源:互联网
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: discuz 首页四格:最新话题+最新回复+热门话题+精华文章插件