无忧启动论坛

标题: [原创]修正了江湖门派的BUG。   [打印本页]

作者: wuyou    时间: 2001-10-25 02:12
标题: [原创]修正了江湖门派的BUG。  
首先了解一下 论坛用户库数据结构.txt 这个文档的内容:
#######################################################################
# 如果需要其他支持文件,请注意查看 readme.txt 文档,谢谢!
#######################################################################
#
################ LB5000 II 论坛用户库结构和修改方法 ###################
如果你是一个 Hack 制作爱好者,请千万不要遗漏本说明,这里详细描述了 LB5000II
的用户库数据结构,以及和用户库有关的功能调用。
1. 用户库存放位置
   LB5000II 的用户文件是存放在 cgi-bin 目录下的 members 目录中的。
2. 用户库文件名规则
   用户输入的用户名必须经过简单处理,主要是为了防止非法字符等问题。比如你
输入的用户名保存在变量 $username 中的话,那么需要用下面程序来处理:
$username = &unHTML("$username")
$username =~ s/ /\_/g;
$username =~ tr/A-Z/a-z/;
这样处理后的 $username 就是最终的用户文件名。
3. 用户库文件名
   文件名为  经过处理的用户名.cgi,存放用户库目录中。
4. 用户库文件的内部结构
   你打开一个用户库文件的时候,里面的内容如下:
$membername\t$password\t$membertitle\t$membercode\t$numberofposts\t$emailaddress\t$showemail\t$ipaddress\t$homepage\t$aolname\t$icqnumber ,$location ,$interests\t$joineddate\t$lastpostdate\t$signature\t$timedifference\t$privateforums\t$useravatar\t$misc1\t$misc2\t$misc3\t$personalavatar\t$personalwidth\t$personalheight\t$rating\t$lastgone\t$visitno\t$addjy\t$meili\t$mymoney\t$postdel\t$sex\t$education\t$marry\t$work\t$born\t$useradd1\t$useradd2\t$jhmp\t
用户库文件内的每个字段是由 \t 分割的,下面是每个字段的具体解释:
$membername用户名(未处理过的)
$password密码(明文)
$membertitle自定义头衔(如果内容是 member 或者空的话表示无头衔)
$membercode用户类型(坛主:ad,总斑竹:smo,斑竹:mo,认证用户:rz,普通用户:me,禁言用户:banned,屏蔽贴子用户:masked)
$numberofposts发贴数(格式:主题数|回复数,中间是用"|"符号隔开的)
$emailaddress电子邮件地址
$showemail是否允许在贴子中显示邮件地址(显示:yes,不显示:no)
$ipaddress注册时使用的 IP 地址
$homepage主页地址
$aolnameOICQ 号码
$icqnumberICQ 号码
$location来自
$interests自我简介
$joineddate注册日期
$lastpostdate最后发贴(格式:最后发贴时间%%%最后发布的贴子地址%%%最后发布贴子的标题)
$signature签名
$timedifference时区
$privateforums私密区访问权限
$useravatar头像(如果没有,则内容为noavatar)
$misc1保留,未使用
$misc2保留,未使用
$misc3保留,未使用
$personalavatar自定义头像
$personalwidth头像宽度
$personalheight头像高度
$rating威望(最大 5,最小 -5,如果是 -6,则无法发言)
$lastgone最后访问时间
$visitno访问次数
$addjy附加经验数
$meili魅力数
$mymoney金钱数
$postdel贴子被删除数
$sex性别
$education教育状况
$marry婚否
$work职业
$born生日(格式:年/月/日,其中年份为4位数字,月份和日为2位数字)
$useradd1保留,未使用
$useradd2保留,未使用
$jhmp江湖门派
如果你需要制作某些特别的扩展功能,可以使用用户库中的保留字段!

5. 和用户库有关的系统调用
你只需在你程序的开始包含 lb.lib.pl 文件,你可以直接使用下面的系统功能(不断增加中)
&whosonline("$username\t插件名\tnone\t功能名\t");可以更新 $username 的最后登陆时间,登陆次数,并且在在线名单中显示此用户在使用某插件的某功能(插件名和功能名可填写一样)
&getmember("$username");可以得到 $username 的所有资料,放置在 4 所示的变量中

-=-=-=-=-=-=-=-=-=-=-=
CGIer.com CEO 山鹰(糊)
CGIer.com CTO 花无缺
=-=-=-=-=-=-=-=-=-=-=-
作者: wuyou    时间: 2001-10-25 02:31
标题: [原创]修正了江湖门派的BUG。  
根据上述的文档,关键在于用户库文件不要出错,这样江湖门派就能正确显示。
你打开一个用户库文件的时候,里面的内容如下:
$membername\t$password\t$membertitle\t$membercode\t$numberofposts\t$emailaddress\t$showemail\t$ipaddress\t$homepage\t$aolname\t$icqnumber ,$location ,$interests\t$joineddate\t$lastpostdate\t$signature\t$timedifference\t$privateforums\t$useravatar\t$misc1\t$misc2\t$misc3\t$personalavatar\t$personalwidth\t$personalheight\t$rating\t$lastgone\t$visitno\t$addjy\t$meili\t$mymoney\t$postdel\t$sex\t$education\t$marry\t$work\t$born\t$useradd1\t$useradd2\t$jhmp\t
其中,江湖门派的变量为 $jhmp
在现有的Yanni Edition V1018a 中,增加了一个国旗功能,这个变量名为 $flag ,放在$born\t 后。
根据 "论坛用户库数据结构.txt" 这个文档的内容,只要把$useradd1这个保留变量用 $flag 来代替,就可以保证用户库在更新时,不会出错,包括江湖门派。
这样,只要把Yanni Edition V1018a版cgi-bin目录下所有文件中CGI文件中 $useradd1 这个变量由 $flag 来代替!
并确认所有的用户库写入时,一定是代替后的格式:
$membername\t$password\t$membertitle\t$membercode\t$numberofposts\t$emailaddress\t$showemail\t$ipaddress\t$homepage\t$aolname\t$icqnumber ,$location ,$interests\t$joineddate\t$lastpostdate\t$signature\t$timedifference\t$privateforums\t$useravatar\t$misc1\t$misc2\t$misc3\t$personalavatar\t$personalwidth\t$personalheight\t$rating\t$lastgone\t$visitno\t$addjy\t$meili\t$mymoney\t$postdel\t$sex\t$education\t$marry\t$work\t$born\t$flag\t$useradd2\t$jhmp\t
就可以保证用户库正常使用。
剩下的事情,大家就可以去做了。
以上是我的分析,可能存在某些错误,请大家指正。
关于国旗和江湖门派,我的论坛已经做了修正,欢迎大家来无忧社区的灌水区测试。http://www.wwwfox.net/cgi-bin/forums.cgi?forum=1




欢迎光临 无忧启动论坛 (http://bbs.c3.wuyou.net/) Powered by Discuz! X3.3