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

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[原创]增强whatsnew.php的功能(自定义长度、精华,加最后回复)

[复制链接]
PerfectWorks 发表于 2005-5-12 17:16:54 | 显示全部楼层 |阅读模式
看到有人需要就做了个,很小的修改

#插件名称:增强whatsnew.php的功能
#插件效果:安装之后可以通过length=设置主题长度和digest=设置是否只显示精华(1是显示0是不显示)
#原作:Crossday,Cnteacher
#修改:文文の封印
#难度:简单
#修改文件:whatsnew.php
#使用方法:<script src="whatsnew.php?digest=是否搜索精华&length=标题长度"></script>
#演示:http://www.dyxs.cn

效果:主题长度大于指定的length的时候,主题名会显示为“XXX...“的形式,同时鼠标指向主题的时候会弹出提示,提示中为主题全名和最后回复者。同时可以参数digest=指定是否只搜索精华帖子

~开始~
在whatsnew.php中

  1. $filter_viewperm = 1;        //是否过滤掉含有权限设置的板块的主题
复制代码

下面加入
  1. $digest = 0; //设置是否只搜索精华帖
复制代码


  1. $num_get = $_GET['num'] ? intval($_GET['num']) : 0;
  2. $num = $num_get ? ($num_get > $num_max ? $num_max : $num_get) : $num;
复制代码

下面加入
  1. $length_get = $_GET['length'] ? intval($_GET['length']) : 0;
  2. $length = $length_get ? $length_get: $length;
  3. $digest_get = $_GET['digest'] ? intval($_GET['digest']) : 0;
  4. $digest = $digest_get ? $digest_get: $digest;
复制代码


  1. $cachefile = './forumdata/whatsnew_'.md5("$fidin\t$fidout\t$num").'.php';
复制代码

替换为
  1. $cachefile = './forumdata/whatsnew_'.md5("$fidin\t$fidout\t$num\t$digest\t$length").'.php';
复制代码


  1. $sql_3 = $filter_viewperm ? "AND f.viewperm=''" : '';
复制代码

下面加入
  1. $sql_4 = $digest ? "AND t.digest>'0'" : '';
复制代码


  1. $query = $db->query("SELECT t.subject, t.tid, t.closed, t.lastpost FROM {$tablepre}threads t, {$tablepre}forums f WHERE t.fid=f.fid $sql_1 $sql_2 $sql_3 $forumfilter ORDER BY t.lastpost DESC LIMIT $num");
复制代码

替换成
  1. $query = $db->query("SELECT t.subject, t.tid, t.closed,t.lastposter, t.lastpost, t.digest FROM {$tablepre}threads t, {$tablepre}forums f WHERE t.fid=f.fid $sql_1 $sql_2 $sql_3 $sql_4 $forumfilter ORDER BY t.lastpost DESC LIMIT $num");
复制代码


  1. $threads['subject'] = cutstr($threads['subject'], $length);
  2. $row = "document.write("<a href=$boardurl/viewthread.php?tid=$threads[tid] target=_blank>$pre$threads[subject]</a><br>");\n";
复制代码

替换成
  1. $threadsalt=$threads['subject'];
  2. $threads['subject'] = cutstr($threads['subject'], $length);
  3. $row = "document.write("<a alt='$threadsalt&nbsp;&nbsp;&nbsp;最后回复:$threads[lastposter]' href=$boardurl/redirect.php?tid=$threads[tid]&goto=lastpost#lastpost target=_blank>$pre$threads[subject]</a><br>");\n";
复制代码

~完~

或者用我的whatsnew.php覆盖,效果一样的
不过要注意把变量改成自己的

[ Last edited by 文文の封印 on 2005-5-12 at 21:01 ]

本帖子中包含更多资源

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

x
瘋狂cc 发表于 2005-5-12 17:18:53 | 显示全部楼层
沙發!這鼕鼕不錯……頂喔
回复

使用道具 举报

freddy 发表于 2005-5-12 17:27:16 | 显示全部楼层
沙发没了...
支持楼主!
回复

使用道具 举报

 楼主| PerfectWorks 发表于 2005-5-12 17:28:41 | 显示全部楼层
偶就这么屈指可数的几个插件啊……
回复

使用道具 举报

kary2005 发表于 2005-5-12 17:30:10 | 显示全部楼层
楼主厉害啊
回复

使用道具 举报

第5季 发表于 2005-5-12 17:32:16 | 显示全部楼层
楼主历害
回复

使用道具 举报

 楼主| PerfectWorks 发表于 2005-5-12 17:34:03 | 显示全部楼层
恩,大家需要的话,我试试能不能把回复数、最后回复时间、最后回复内容也加入到提示里
回复

使用道具 举报

freddy 发表于 2005-5-12 17:58:49 | 显示全部楼层
支持楼主!
回复

使用道具 举报

 楼主| PerfectWorks 发表于 2005-5-12 18:24:53 | 显示全部楼层
但是有个问题啊,偶不会加换行如果加入<br>或者\n的话会造成whatsnew.php失效……
回复

使用道具 举报

freddy 发表于 2005-5-12 18:31:31 | 显示全部楼层
汗..不如PM一下其他斑斑吧~希望能得到帮助!
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-21 18:36 , Processed in 0.036457 second(s), 4 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

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