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

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[发布] 首页热门贴+今日发贴排行+最新主题精华+在线时间排行 for D5 (0724更新)

[复制链接]
zhangda7455 发表于 2006-7-25 10:59:52 | 显示全部楼层
装了,很不错。但是感觉等级排行里的升级剩余时间计算有点小问题

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

zhangda7455 发表于 2006-7-25 12:15:36 | 显示全部楼层
顶一下
回复

使用道具 举报

oneslove 发表于 2006-7-25 13:37:33 | 显示全部楼层
如果最新回复里有的版不想调用怎么改
回复

使用道具 举报

 楼主| tianyo 发表于 2006-7-25 14:31:22 | 显示全部楼层
原帖由 oneslove 于 2006-7-25 13:37 发表
如果最新回复里有的版不想调用怎么改


只要把WHERE fid NOT IN(31,32,120,136,66,155) 括号里面的数字改为你相应的板块iD就可以啦!记得在回复部分哦!若是想最新主题也这样也要修改!
回复

使用道具 举报

juse 发表于 2006-8-21 19:05:55 | 显示全部楼层
能不能搞成RC2的?!?!?!?
回复

使用道具 举报

juse 发表于 2006-8-21 19:17:16 | 显示全部楼层

自己搞了一下。For5.0RC2

1、修改discuz.php
找到:
  1. $threads = $posts = $todayposts = $fids = 0;
复制代码
在下面添加:
  1. /////////////////////////////////////////////////////////////首页热门贴
  2. //在线等级排行榜
  3. $listnum=10;//个数
  4. $listlength=32;//长度
  5. $timelv="";
  6. $query = $db->query("SELECT m.uid,m.username,m.oltime,o.* FROM {$tablepre}members m, {$tablepre}onlinetime o WHERE m.uid=o.uid ORDER BY total DESC LIMIT 0, $listnum");

  7. while($members=$db->fetch_array($query)){
  8. $members[totals]=round($members[total]/60,2);
  9. $members[onlinetime]=$members[totals];
  10. $i=0;
  11. while((5*$i*$i+15*$i)<=$members[totals])
  12. {$i++;
  13. //$C=5*$i*$i+10*$i;
  14. $N=$i;
  15. }
  16. $more= $members[totals] ? 20-$members[totals] % 20 : 20;
  17. $lv= $N;
  18.        $timelv.="<a href='viewpro.php?uid=$members[uid]'>$members[username]</a>  <img src="images/lv/{$lv}.gif" alt="在线等级:{$lv} 级\n在线时长:{$members[onlinetime]} 小时\n升级剩余时间: {$more} 小时"><br />";
  19. }
  20. unset($members);
  21. //在线等级排行榜

  22. //今日发贴排行
  23. $tomonth=date(n);
  24. $todate=date(j);
  25. $toyear=date(Y);
  26. $time=mktime(0,0,0,$tomonth,$todate,$toyear);
  27. $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,11");
  28. while($result=$db->fetch_array($query)){
  29. $poststar.="<a href=viewpro.php?uid=".$result[authorid].">".$result[author]."</a> (<font color=red>".$result[num]."</font>)<br>";
  30. }
  31. //今日发贴排行

  32. $hack_subject_len=40; //每个标题最多显示得字数
  33. $hack_subject_num=11; //需要显示记录数

  34. $hack_newthreads_threadlist = array();
  35. $thread = array();
  36. //最新贴
  37. $query = $db->query("SELECT dateline,tid,subject,author,views,replies,lastpost,lastposter FROM {$tablepre}threads WHERE fid NOT IN(31,32,120,136,66,155) ORDER BY dateline DESC LIMIT 0, $hack_subject_num");

  38. while($thread = $db->fetch_array($query)) {
  39.         $thread['forumname'] = $thread['name'];
  40.         $thread['date']= gmdate("$dateformat $timeformat", $thread['dateline'] + $timeoffset * 3600);
  41.         $thread['lastreplytime']= gmdate("$dateformat $timeformat", $thread[lastpost] + ($timeoffset * 3600));
  42.         $thread[subject0]=$thread[subject];
  43.         $thread['subject'] = cutstr($thread['subject'], $hack_subject_len);
  44.         $hack_newthreads_threadlist[] = $thread;
  45. }
  46. //最新贴

  47. $threadview = $threadreply = array();
  48. //最新回复
  49. $query = $db->query("SELECT dateline,tid,subject,author,views,replies,lastpost,lastposter FROM {$tablepre}threads WHERE fid NOT IN(31,32,120,136,66,155) AND replies > 0  ORDER BY lastpost DESC LIMIT 0, $hack_subject_num");
  50.         while($thread = $db->fetch_array($query)) {
  51.                 $thread[subject0]=$thread[subject];
  52.                 $thread['forumname'] = $thread['name'];
  53.                 $thread['date']= gmdate("$dateformat $timeformat", $thread['dateline'] + $timeoffset * 3600);
  54.                 $thread['lastreplytime']= gmdate("$dateformat $timeformat", $thread[lastpost] + ($timeoffset * 3600));
  55.                 $thread[subject] = cutstr($thread[subject], $hack_subject_len);
  56.                 $threadreply[] = $thread;
  57.         }
  58. //最新回复
  59. ///////////////////////////////////////////////////////////////////首页热门贴
复制代码
2、修改模板discuz.htm

  1. <!--{if !empty($newpmexists)}-->
  2.         <div style="clear: both; margin-top: 5px">
  3.         {template pmprompt}
  4.         </div>
  5. <!--{/if}-->
复制代码
下面加
  1. <div class="maintable">
  2. <table cellspacing="{INNERBORDERWIDTH}" cellpadding="{TABLESPACE}" width="{TABLEWIDTH}" align="center"  class="tableborder">
  3. <tr>
  4.   <td class=header align=center><span class=bold>今日发贴排行榜</span></td>
  5.   <td class=header align=center><span class=bold>最新发表主题</span></td>
  6.   <td class=header align=center><span class=bold>最新回复主题</span></td>
  7.   <td class=header align=center><span class=bold>会员在线排行榜</span></td>
  8. </tr>
  9. <tr>
  10.   <td bgcolor="{ALTBG2}" onMouseOver ="this.style.backgroundColor='{ALTBG1}'"  
  11. onMouseOut ="this.style.backgroundColor='{ALTBG2}'" valign="top">
  12. $poststar
  13. </td>


  14. <td bgcolor="{ALTBG2}" onMouseOver ="this.style.backgroundColor='{ALTBG1}'"  
  15. onMouseOut ="this.style.backgroundColor='{ALTBG2}'" valign="top">
  16. <!--{loop $hack_newthreads_threadlist $thread}-->
  17. <table width="100%" cellpadding="0" cellspacing="0" border="0">
  18. <td>
  19. <!--{if $thread[replies] != 0}-->
  20. <a href="viewthread.php?tid=$thread[tid]" title="主题作者 : $thread[author]{LF}主题名称 : $thread[subject0]{LF}发表时间 : $thread[date]{LF}浏览次数 : $thread[views] 次{LF}回复次数 : $thread[replies] 次{LF}回复作者 : $thread[lastposter]{LF}回复时间 : $thread[lastreplytime] $thread[displayorder] $thread[digest] $thread[rate] $thread[attachment] $thread[poll] $thread[blog] $thread[closed] $thread[highlight]">$thread[subject]</a>
  21. <!--{else}-->
  22. <a href="viewthread.php?tid=$thread[tid]" title="主题作者 : $thread[author]{LF}主题名称 : $thread[subject0]{LF}发表时间 : $thread[date]{LF}浏览次数 : $thread[views] 次{LF}回复次数 : $thread[replies] 次 {LF}回复作者 : 暂时没有回复{LF}回复时间 : 暂时没有回复 $thread[displayorder] $thread[digest] $thread[rate] $thread[attachment] $thread[poll] $thread[blog] $thread[closed] $thread[highlight]">$thread[subject]</a>
  23. <!--{/if}-->
  24. </table>
  25. <!--{/loop}-->
  26. </td>

  27. <td bgcolor="{ALTBG2}" onMouseOver ="this.style.backgroundColor='{ALTBG1}'"  
  28. onMouseOut ="this.style.backgroundColor='{ALTBG2}'" valign="top">
  29. <!--{loop $threadreply $rthread}-->
  30. <table width="100%" cellpadding="0" cellspacing="0" border="0">
  31. <td>
  32. <a href="redirect.php?tid=$rthread[tid]&goto=lastpost#lastpost" title="主题作者 : $rthread[author]{LF}主题名称 : $rthread[subject0]{LF}发表时间 : $rthread[date]{LF}浏览次数 : $rthread[views] 次{LF}回覆次数 : $rthread[replies] 次{LF}回复作者 : $rthread[lastposter]{LF}回复时间 : $rthread[lastreplytime] $rthread[displayorder] $rthread[digest] $rthread[rate] $rthread[attachment] $rthread[poll] $rthread[blog] $rthread[closed] $rthread[highlight]">$rthread[subject]</a>
  33. </table>
  34. <!--{/loop}-->
  35. </td>

  36.   <td class="altbg2"  onMouseOver="this.className='altbg1'" onMouseOut="this.className='altbg2'" align="left" valign="top">$timelv</td>
  37. </tr>
  38. </table><br>
  39. </div>
复制代码
后台更新缓存——ok


演示论坛:

[ 本帖最后由 juse 于 2006-8-21 19:18 编辑 ]
回复

使用道具 举报

juse 发表于 2006-8-21 19:25:40 | 显示全部楼层
原作者的话:
有会员提出有些板块不可以出现在最新贴和回复贴中,那是因为我忘记了吧板块的数字修改了。因为论坛里面有些板块是不允许在这里面显示的,若是大家要全部显示的话可以大家这样修改。


index.php找
  1. WHERE fid NOT IN(31,32,120,136,66,155) ORDER
复制代码


改成
  1. WHERE fid  ORDER
复制代码


再找

  1. WHERE fid NOT IN(31,32,120,136,66,155) AND replies > 0  ORDER
复制代码


改成
  1. WHERE fid  ORDER
复制代码


ok

我只是在这里补全一下。。版权等问题归作者
回复

使用道具 举报

juse 发表于 2006-8-22 12:27:02 | 显示全部楼层
米有人看吗!?!?
回复

使用道具 举报

charick 发表于 2006-8-22 16:17:21 | 显示全部楼层
在rc2上安装成功!!!
演示:
http://bbs.s7best.cn
回复

使用道具 举报

asheepman 发表于 2006-8-22 22:31:34 | 显示全部楼层
留个脚印
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-16 12:38 , Processed in 0.027444 second(s), 3 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

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