Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[发布] 首页四格修改版 FOR 6.0 (新贴+回复+热门or精华+今日、本月、当年发贴排行)

[复制链接]
『葬月』 发表于 2007-9-20 11:17:57 | 显示全部楼层 |阅读模式

首先声明:此插件原作者为xuon,原版下载地址:https://discuz.dismall.com/viewthread.php?tid=696558,本人只是由于自己需要对该插件做了些许修改,看到有人想要,所以发上来和大家分享,版权归原作者所有,如原作者有意见,可以PM我,一定及时删除!


修改说明:
1、在原插件首页五格的基础上,修改排列方式
2、增加本月、当年发贴TOP10
3、可选择使用热门还是精华(压缩包内安装说明精华安装方法)


效果演示:


演示网站:http://www.stupc.org/bbs/
                 http://bbs.xuzhou365.com/
(为避免有做广告的嫌疑,将演示站更换成已经安装成功的两个站!)

关于该插件的其他说明,请参照原版下载介绍贴,点我进入原版介绍贴
这里,我们只说安装方法:

详细安装步骤:

第一步:上传相关文件:

包含文件:

pic.php         请上传至论坛根目录
images文件夹    请将目录下的三个文件(两个图片一个FLASH)上传至论坛images目录下


第二步:修改index.php(修改前请先做好备份,以防万一)

查找
  1. $rsshead = $rssstatus
复制代码


其上加入如下代码:
  1. //----首页多格代码开始
  2. $colorarray = array('', 'red', 'orange', 'yellow', 'green', 'cyan', 'blue', 'purple', 'gray');
  3. //新贴
  4. $hack_cut_str = 26; //标题字数
  5. $hack_cut_strauthor = 9;
  6. $new_post_threadlist = array();
  7. $nthread = array();
  8. $query = $db->query("SELECT t.*, f.name FROM {$tablepre}threads t, {$tablepre}forums f WHERE t.fid<>'$fid' AND f.fid=t.fid AND f.fid not in (0) AND t.displayorder not in (-1,-2) ORDER BY t.dateline DESC LIMIT 0, 10");
  9. while($nthread = $db->fetch_array($query)) {
  10.         $nthread['forumname'] = ereg_replace('<[^>]*>','',$nthread['name']);
  11.         $nthread['view_subject'] = cutstr($nthread['subject'],$hack_cut_str);
  12.         $nthread['view_author'] = cutstr($nthread['author'],$hack_cut_strauthor);
  13.         $nthread['date']= gmdate("$dateformat $timeformat", $nthread['dateline'] + $timeoffset * 3600);
  14.         $nthread['lastreplytime']= gmdate("$dateformat $timeformat", $nthread[lastpost] + ($timeoffset * 3600));
  15.         if($nthread['highlight']) {
  16.                 $string = sprintf('%02d', $nthread['highlight']);
  17.                 $stylestr = sprintf('%03b', $string[0]);
  18.                 $nthread['highlight'] = 'style="';
  19.                 $nthread['highlight'] .= $stylestr[0] ? 'font-weight: bold;' : '';
  20.                 $nthread['highlight'] .= $stylestr[1] ? 'font-style: italic;' : '';
  21.                 $nthread['highlight'] .= $stylestr[2] ? 'text-decoration: underline;' : '';
  22.                 $nthread['highlight'] .= $string[1] ? 'color: '.$colorarray[$string[1]] : '';
  23.                 $nthread['highlight'] .= '"';
  24.         } else {
  25.                 $nthread['highlight'] = '';
  26.         }
  27.         $new_post_threadlist[] = $nthread;
  28. }
  29. //新回复
  30. $hack_cut_str = 26; //标题字数
  31. $hack_cut_strauthor = 9;
  32. $new_reply_threadlist = array();
  33. $rthread = array();
  34. $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 AND f.fid not in (0) AND t.displayorder not in (-1,-2)  ORDER BY t.lastpost DESC LIMIT 0, 10");
  35. while($rthread = $db->fetch_array($query)) {
  36.         $rthread['forumname'] = ereg_replace('<[^>]*>','',$rthread['name']);
  37.         $rthread['view_subject'] = cutstr($rthread['subject'],$hack_cut_str);
  38.         $rthread['view_lastposter'] = cutstr($rthread['lastposter'],$hack_cut_strauthor);
  39.   $rthread['date']= gmdate("$dateformat $timeformat", $rthread['dateline'] + $timeoffset * 3600);
  40.         $rthread['lastreplytime']= gmdate("$dateformat $timeformat", $rthread[lastpost] + ($timeoffset * 3600));
  41.         if($rthread['highlight']) {
  42.                 $string = sprintf('%02d', $rthread['highlight']);
  43.                 $stylestr = sprintf('%03b', $string[0]);
  44.                 $rthread['highlight'] = 'style="';
  45.                 $rthread['highlight'] .= $stylestr[0] ? 'font-weight: bold;' : '';
  46.                 $rthread['highlight'] .= $stylestr[1] ? 'font-style: italic;' : '';
  47.                 $rthread['highlight'] .= $stylestr[2] ? 'text-decoration: underline;' : '';
  48.                 $rthread['highlight'] .= $string[1] ? 'color: '.$colorarray[$string[1]] : '';
  49.                 $rthread['highlight'] .= '"';
  50.         } else {
  51.                 $rthread['highlight'] = '';
  52.         }
  53.         $new_reply_threadlist[] = $rthread;
  54. }
  55. //热帖
  56. $hack_cut_str = 26; //标题字数
  57. $hack_cut_strauthor = 9;
  58. $new_hot_threadlist = array();
  59. $mthread = array();
  60. $ctime=$timestamp-3600*24*7;//最后7是天数为本周  
  61. $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 AND t.dateline>$ctime AND f.fid not in (0) AND t.displayorder not in (-1,-2)   ORDER BY t.replies DESC LIMIT 0, 10");
  62. while($mthread = $db->fetch_array($query)) {
  63.         $mthread['forumname'] = ereg_replace('<[^>]*>','',$mthread['name']);
  64.         $mthread['view_subject'] = cutstr($mthread['subject'],$hack_cut_str);
  65.         $mthread['view_lastposter'] = cutstr($mthread['lastposter'],$hack_cut_strauthor);
  66.   $mthread['date']= gmdate("$dateformat $timeformat", $mthread['dateline'] + $timeoffset * 3600);
  67.         $mthread['lastreplytime']= gmdate("$dateformat $timeformat", $mthread[lastpost] + ($timeoffset * 3600));
  68.         if($mthread['highlight']) {
  69.                 $string = sprintf('%02d', $mthread['highlight']);
  70.                 $stylestr = sprintf('%03b', $string[0]);
  71.                 $mthread['highlight'] = 'style="';
  72.                 $mthread['highlight'] .= $stylestr[0] ? 'font-weight: bold;' : '';
  73.                 $mthread['highlight'] .= $stylestr[1] ? 'font-style: italic;' : '';
  74.                 $mthread['highlight'] .= $stylestr[2] ? 'text-decoration: underline;' : '';
  75.                 $mthread['highlight'] .= $string[1] ? 'color: '.$colorarray[$string[1]] : '';
  76.                 $mthread['highlight'] .= '"';
  77.         } else {
  78.                 $mthread['highlight'] = '';
  79.         }
  80.         $new_hot_threadlist[] = $mthread;
  81. }
  82. //今日发贴排行
  83. $tomonth=date(n);
  84. $todate=date(j);
  85. $toyear=date(Y);
  86. $time=mktime(0,0,0,$tomonth,$todate,$toyear);
  87. $query=$db->query("select count(pid) as num,authorid,author from $tablepre"."posts where dateline>=$time group by authorid order by num desc limit 0,10");
  88. while($result=$db->fetch_array($query)){
  89.         $poststar.="<a href=space.php?uid=".$result[authorid].">".cutstr($result[author],10)."</a> <font color=red>[".$result[num]."]</font>  ";
  90. }
  91. //本月发贴排行
  92. $tomonth=date(n);
  93. $toyear=date(Y);
  94. $time=mktime(0,0,0,$tomonth,0,$toyear);
  95. $query=$db->query("select count(pid) as num,authorid,author from $tablepre"."posts where dateline>=$time group by authorid order by num desc limit 0,10");
  96. while($result=$db->fetch_array($query)){
  97.         $monthpoststar.="<a href=space.php?uid=".$result[authorid].">".cutstr($result[author],10)."</a> <font color=red>[".$result[num]."]</font>  ";
  98. }
  99. //当年发贴排行
  100. $toyear=date(Y);
  101. $time=mktime(0,0,0,0,0,$toyear);
  102. $query=$db->query("select count(pid) as num,authorid,author from $tablepre"."posts where dateline>=$time group by authorid order by num desc limit 0,10");
  103. while($result=$db->fetch_array($query)){
  104.         $yearpoststar.="<a href=space.php?uid=".$result[authorid].">".cutstr($result[author],6)."</a> <font color=red>[".$result[num]."]</font>  ";
  105. }
  106. //----首页多格代码结束
复制代码
第三步:修改templates/你使用模板目录下/discuz.htm文件:

找到:
  1. <div id="ad_text"></div>
复制代码
其下加入如下代码:
  1. <!-- 首页多格代码开始 -->
  2. <div class="mainbox forumlist" style="padding:0;">
  3. <table cellspacing="0" cellpadding="0">
  4.   <thead class="category">
  5.   <tr>
  6.    <td align="center" style="padding:0 1px 0 0"><h3>≡ 论坛图片 ≡</h3></td>
  7.    <td align="center" style="padding:0"><h3>≡ 最新帖子 ≡</h3></td>
  8.    <td align="center" style="padding:0 1px 0 1px"><h3>≡ 最新回复 ≡</h3></td>
  9.    <td align="center" style="padding:0"><h3>≡ 本周热门 ≡</h3></td>
  10.   </tr>
  11.   </thead>
  12.   <tr>
  13.    <td width="25%">
  14.     <script type="text/javascript" src="pic.php"></script>
  15.    </td>
  16.    <td width="25%">
  17.     <table border="0" cellpadding="0" cellspacing="0" width="100%">
  18.      <tr valign="top">
  19.       <td width="24" style="padding:0;border-top:0px;"><img src="images/list.gif" border="0" /></td>
  20.       <td background="images/listbg.gif" style="line-height:20px;padding:0;border-top:0px;background-repeat: repeat-y" width="100%">
  21.       <!--{loop $new_post_threadlist $nthread}-->
  22.        <!--{if $nthread[replies]}-->
  23.         <div style="overflow: hidden;height: 20px;width: 100%;"><a href="viewthread.php?tid=$nthread[tid]" $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]'>$nthread[view_subject]</a></div>
  24.                    <!--{else}-->
  25.         <div style="overflow: hidden;height: 20px;width: 100%;"><a href="viewthread.php?tid=$nthread[tid]" $nthread['highlight'] title='最新帖子 {LF}所在论坛: $nthread[forumname]{LF}主题标题: $nthread[subject] {LF}主题作者: $nthread[author]{LF}发表时间: $nthread[date]{LF}浏览次数: $nthread[views] 次 {LF}回复次数: $nthread[replies] 次{LF}最后回复: 暂时没有回复'>$nthread[view_subject]</a></div>
  26.        <!--{/if}-->
  27.       <!--{/loop}-->
  28.       </td>
  29.      </tr>
  30.     </table>
  31.    </td>
  32.    <td width="25%">
  33.     <table border="0" cellpadding="0" cellspacing="0" width="100%">
  34.      <tr valign="top">
  35.       <td width="24" style="padding:0;border-top:0px;"><img src="images/list.gif" border="0" /></td>
  36.       <td background="images/listbg.gif" style="line-height:20px;padding:0;border-top:0px;background-repeat: repeat-y" width="100%">
  37.       <!--{loop $new_reply_threadlist $rthread}-->
  38.        <div style="overflow: hidden;height: 20px;width: 100%;"><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]'>$rthread[view_subject]</a></div>
  39.       <!--{/loop}-->
  40.       </td>
  41.      </tr>
  42.     </table>
  43.    </td>
  44.    <td width="25%">
  45.     <table border="0" cellpadding="0" cellspacing="0" width="100%">
  46.      <tr valign="top">
  47.       <td width="24" style="padding:0;border-top:0px;"><img src="images/list.gif" border="0" /></td>
  48.       <td background="images/listbg.gif" style="line-height:20px;padding:0;border-top:0px;background-repeat: repeat-y" width="100%">
  49.       <!--{loop $new_hot_threadlist $mthread}-->
  50.        <div style="overflow: hidden;height: 20px;width: 100%;"><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]'>$mthread[view_subject]</a></div>
  51.       <!--{/loop}-->
  52.       </td>
  53.      </tr>
  54.     </table>
  55.    </td>
  56.   </tr>
  57. <tr>
  58. <td colspan=4>今日发贴TOP10:$poststar</td>
  59. </tr>
  60. <tr>
  61. <td colspan=4>本月发贴TOP10:$monthpoststar</td>
  62. </tr>
  63. <tr>
  64. <td colspan=4>当年发贴TOP10:$yearpoststar</td>
  65. </tr>
  66. </table>
  67. </div>
  68. <!-- 首页多格代码结束 -->
复制代码
更新缓存~恭喜!安装完成!


其他说明:
1、如计划屏蔽某个版块,不让该版块帖子出现在四格中,可在index.php加入的代码中的新贴、回复、热贴的“$query=”中的“ order by ”前加入:“AND f.fid !=n”(n=版块ID)

2、如想在新窗口打开新贴、回复、热贴,可在discuz.htm加入的代码中的新贴、回复、热贴的类似连接“<a href="viewthread.php?tid=$nthread[tid]"  $nthread['highlight'] title='最新帖子 {LF}所……”改为:“<a href="viewthread.php?tid=$nthread[tid]" target='_blank' $nthread['highlight'] title='最新帖子 {LF}所……”


(以上安装是以新贴+回复+热门+今日、本月、当年排行为准,新贴+回复+精华+今日、本月、当年排行的安装方法请见压缩包内的安装说明)

[ 本帖最后由 『葬月』 于 2007-9-21 23:10 编辑 ]

评分

1

查看全部评分

 楼主| 『葬月』 发表于 2007-9-20 11:21:47 | 显示全部楼层
占层楼,不好意思!!、
回复

使用道具 举报

梅花与剑 发表于 2007-9-20 12:00:09 | 显示全部楼层
有PHP病毒
回复

使用道具 举报

闪闪红星 发表于 2007-9-20 12:03:31 | 显示全部楼层
感谢『葬月』
回复

使用道具 举报

jiayiyangzhu 发表于 2007-9-20 12:55:19 | 显示全部楼层
好插件
谢谢LZ分享
回复

使用道具 举报

闪闪红星 发表于 2007-9-20 13:32:55 | 显示全部楼层
有上月发帖排行吗?
回复

使用道具 举报

 楼主| 『葬月』 发表于 2007-9-20 14:45:51 | 显示全部楼层
原帖由 梅花与剑 于 2007-9-20 12:00 发表
有PHP病毒


3楼,你凭什么说有PHP病毒?你用了?一共就一个文件,2个图片,1个FLASH,你说哪个是病毒?
回复

使用道具 举报

 楼主| 『葬月』 发表于 2007-9-20 14:46:48 | 显示全部楼层
上月排行没做,我看了一下,时间计算比较麻烦,我是PHP菜鸟!所以就没写,而且觉得没什么用!
回复

使用道具 举报

昆山365 发表于 2007-9-20 15:11:08 | 显示全部楼层
给个懒人包吧,我比较懒
回复

使用道具 举报

闪闪红星 发表于 2007-9-20 15:15:25 | 显示全部楼层
原帖由 『葬月』 于 2007-9-20 14:46 发表
上月排行没做,我看了一下,时间计算比较麻烦,我是PHP菜鸟!所以就没写,而且觉得没什么用!


可以帮助搞一个吗?因为我每个月要给上个月第一名发点礼品,但等到31日我如果没有上论坛就不知道谁是第一,而且我还要等到23.59分.麻烦你想个办法!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2025-1-9 19:19 , Processed in 0.040375 second(s), 7 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表