[原创+发布]会员精华集 For LeoBBSx / By 路杨
#############################################################
#
# [原创+发布]会员精华集 V.1.0 for LeoBBSx
# 性质 : LeoBBSx插件
# 本插件用于显示该会员的所有精华帖子
# 程序作者:路杨(EasunLee) http://perl.easunstudio.com
# http://www.leohacks.com
# 版权所有,欢迎转载。但 敬请保留版权+出处。
#
#############################################################
详细介绍:
1。本插件用于显示该会员的所有精华帖子
2。亦采用Leobbsx目前的cache机制,可以最大程度的降低资源占用。
3。单独程序设置,只对原jinghua.cgi做少量修改。(状态显示代码除外)
4。支持随机数据目录,安全性能有较好提升。
5。和系统cache机制精密结合,不会担心操作后的显示问题。
系统文件:
1。jhshow.cgi :会员精华集主程序,放在程序目录下。非Win32要求 755。
2。目录 jinghua (可以改成 jinghuaXXXXX目录,即加随机数。):数据目录,存放jinghua数据,在程序目录下,非Win32要求 777. 其下文件要求666
(该目录如果不存在,程序会自动建立。)
安装说明:
1。上传jhshow.cgi到程序目录下,建立jinghua目录,按照上面 系统文件 说明设置属性。
2。修改 jinghua.cgi。方法如下:
打开jinghua.cgi,在其最后加上sub upjhshow
{ #add by Easunlee(路杨)
my ($nametocheck,$thisjh,$act) = @_; # 用户名、帖子(结构f_t),加减?
$nametocheck =~ s/ /\_/g;
$nametocheck =~ tr/A-Z/a-z/;
$nametocheck =~ s/[\a\f\n\e\0\r\t\`\~\!\@\#\$\%\^\&\*\(\)\+\=\\\{\}\;\'\:\"\,\.\/\<\>\?]//isg;
&getjhshowdir() unless $jhshowdir;
#if (-e )
my $file ="${lbdir}$jhshowdir/$nametocheck.cgi";
my $size= (-s $file);
my $filedata ="";
if ($size) {
sysopen(FILE,"$file",O_RDONLY,0666) or return 0;
sysseek(FILE, 0, 0); #定位
sysread(FILE, $filedata,$size);
close(FILE);
#$filedata=~s/[\r\n]/\n/g;
$filedata=~s/\r//g;
$filedata =~ s/\n{2,}/\n/isg; ##空行删除
$filedata =~ s/\n$//s; ##删除后面的\n
}
$filedata =$thisjh."\n".$filedata if($act eq "+");
$filedata =~ s/(^|\n)$thisjh(\n|$)/$1$3/s if($act eq "-");
&winlock($file) if ($OS_USED eq "Nt");
open(JHSHOW, ">$file");
flock(JHSHOW, 2) if ($OS_USED eq "Unix");
print JHSHOW "$filedata\n";
flock(JHSHOW, 8 ) if ($OS_USED eq "Unix");
close(JHSHOW);
&winunlock("$file") if ($OS_USED eq "Nt");
unlink ("${lbdir}$jhshowdir/$nametocheck.pl");
}
sub getjhshowdir
{
opendir (DIRS, "$lbdir");
my @files = readdir(DIRS);
closedir (DIRS);
my @needdir = grep(/^jinghua/i, @files);
$jhshowdir = $needdirΎ];
}
找到&sendtoposter("$inmembername","$mn","","jinghua","$fid","$tid", "$topictitle","") if (($sendmanageinfo eq "yes")&&(lc($inmembername) ne lc($mn))&&($act eq "+"));
在其后面加上&upjhshow ($mn,"$fid\_$tid",$act);
其他程序连接修改:
可以按照喜好,自己任意在 /帖子界面 /分论坛界面 /控制面版菜单/个人资料/ 中加入连接。连接地址为
jhshow.cgi?member=XXXX (XXXX为要查看的会员名字),如果调用自己的精华集可以直接调用jhshow.cgi
比如在控制面版菜单加入,即可在打开bbs.lib.pl,找到
<div class=menuitems> <a href=delmycache.cgi title=清除我的缓存,确保个人所有资料都是最新的><font color=#000000>更新我的缓存</font></a> </div>
在这句前面加上<div class=menuitems> <a href=jhshow.cgi title=查看我自己的所有精华帖子><font color=#000000>我的所有精华</font></a> </div>
注意,在这句里面不要有任何换行,因为这个是js数组的要求:)
其他添加办法类似,为纯粹的HTML代码。这里不做讨论。 :P
其他:
已经在某个万人级别BBS测试一周,请放心使用,有Bug及时汇报。
注意。目前仅能显示安装插件以后加入的精华,以前的精华需要统计程序统计才可以。统计程序会在明天发布:)
请下载附件:)
http://easun.org/upload/early/jhshow_1101290520.rar
注意。2004/11/24 17:38 fix a bug,请重新下载。
發佈說明檔?..==""
hoho..转移出去就明白了:)
继续:)
[工具+发布]会员精华文集数目统计程式 For jhshow.cgi / By 路杨
#############################################################
# 会员精华文集数目统计程式 for LeoBBSx
#
# Writed by 路杨(EasunLee) http://perl.easunstudio.com
# Version Beta 1.10 ES Build 041113(2004.11.13 by EasunLee)
# (BY Easun Lee)
#
# 会员精华文集数目统计程式(路杨 2004.11.13)
#
# 原始版权: 路杨(EasunLee)
# 网站地址: http://perl.easunstudio.com
# http://www.LeoHacks.com
#############################################################
说明 :
使用办法。
注意 :该程序会自动锁定。
另外: 该程序只能运行在leobbsx条件下。只适合安装了原始Hack的论坛使用。
程序请下载:)
http://easun.org/upload/early/jhshowtool_1101229584.rar
世界尽头失落在海里的城市,狮子流泪的地方让他们出发……
谢谢路杨~~