- 主题:[smthbbs]web下删除置顶文章的bug修正
我比较了一下telnet下和web下删除置顶文章的代码,发现telnet下是调用
delete_record函数(~bbssrc/libBBS/record.c里定义的)实现的;而web下
则是嵌套调用里~bbssrc/bbs2www/src/bbsman.c、~bbssrc/bbs2www/lib/bbslib.c
和~bbssrc/libBBS/article.c中的do_del_zd、del_post和do_del_post三
个函数来实现的。一时看不清web下是哪里出错了,就干脆用delete_record
函数试试,即在bbsman.c里的do_del_zd函数里找到下面这句:
switch (del_post(ent, &f, dir, board)) {
改为:
switch (delete_record(dir, sizeof(struct fileheader), ent, NULL, NULL )) {
然后用bbs用户在~bbssrc/bbs2www/src/下make install了一下,再到web方式下
试了试删除置顶,恢复正常了。
--
FROM 202.120.111.*
这个是web管理模式下的问题,确实有问题。还有一个地方是,打开置顶贴,下面有个
删除的link,不能用。错误是在phpbbslib里面的bbs_delfile(),似乎可以传一个ftype
的参数进去这样bbs_delfile()就知道操作哪个dir文件了。考虑ftype参数可选这样就不用
改太多代码了...hoho
还有这个问题,删文用的参数是文件名而不是id似乎效率上有那么一点点低... hehe
【 在 nfeng (聂风) 的大作中提到: 】
: 我比较了一下telnet下和web下删除置顶文章的代码,发现telnet下是调用
: delete_record函数(~bbssrc/libBBS/record.c里定义的)实现的;而web下
: 则是嵌套调用里~bbssrc/bbs2www/src/bbsman.c、~bbssrc/bbs2www/lib/bbslib.c
: ...................
--
FROM 128.12.155.*
还有一个问题,web下版面的刷新好像很奇怪,有时候我在web下删除了一篇置顶文章,
回到版面后看确实没有了。过一会儿再回到这个版面看这篇置顶又冒出来了(不过只
是个假相,在telnet下看确实已经被删了),按web下版面里的那个刷新也没用。打开
置顶前的那篇原文浏览一下再返回版面,又正常了,那篇置顶的没了。到别处兜一圈
回到这个版面,%#&@%$^,那篇置顶又阴魂不散地冒出来了……
怎么这么诡异呀?会是什么地方出了问题?web下管理模式里删除置顶我已经按照我
前面说的方法改过了,可以正常使用,就是web下刷新的结果总是不大对头。
【 在 atppp (Big Mouse) 的大作中提到: 】
: 这个是web管理模式下的问题,确实有问题。还有一个地方是,打开置顶贴,下面有个
: 删除的link,不能用。错误是在phpbbslib里面的bbs_delfile(),似乎可以传一个ftype
: 的参数进去这样bbs_delfile()就知道操作哪个dir文件了。考虑ftype参数可选这样就不用
: ...................
--
FROM 202.120.111.*
在那个版面随便区段删除了几篇帖子,然后就一切正常了。
【 在 nfeng (聂风) 的大作中提到: 】
: 标 题: Re: [smthbbs]web下删除置顶文章的bug修正
: 发信站: BBS 水木清华站 (Mon Apr 26 18:07:47 2004), 转信
:
: 还有一个问题,web下版面的刷新好像很奇怪,有时候我在web下删除了一篇置顶文章,
: 回到版面后看确实没有了。过一会儿再回到这个版面看这篇置顶又冒出来了(不过只
: 是个假相,在telnet下看确实已经被删了),按web下版面里的那个刷新也没用。打开
: 置顶前的那篇原文浏览一下再返回版面,又正常了,那篇置顶的没了。到别处兜一圈
: 回到这个版面,%#&@%$^,那篇置顶又阴魂不散地冒出来了……
:
: 怎么这么诡异呀?会是什么地方出了问题?web下管理模式里删除置顶我已经按照我
: 前面说的方法改过了,可以正常使用,就是web下刷新的结果总是不大对头。
:
: 【 在 atppp (Big Mouse) 的大作中提到: 】
: : 这个是web管理模式下的问题,确实有问题。还有一个地方是,打开置顶贴,下面有个
: : 删除的link,不能用。错误是在phpbbslib里面的bbs_delfile(),似乎可以传一个ftype
: : 的参数进去这样bbs_delfile()就知道操作哪个dir文件了。考虑ftype参数可选这样就不用
: : ...................
:
: --
:
: ※ 来源:·BBS 水木清华站 smth.org·[FROM: 202.120.111.*]
--
FROM 202.120.111.*
删好了没运行board_update_toptitle()?
什么时候的代码?1.2还是新的CVS?
也可能是cache...
【 在 nfeng@smth.org-SPAM.no (聂风) 的大作中提到: 】
: 还有一个问题,web下版面的刷新好像很奇怪,有时候我在web下删除了一篇置顶文章,
: 回到版面后看确实没有了。过一会儿再回到这个版面看这篇置顶又冒出来了(不过只
: 是个假相,在telnet下看确实已经被删了),按web下版面里的那个刷新也没用。打开
: 置顶前的那篇原文浏览一下再返回版面,又正常了,那篇置顶的没了。到别处兜一圈
: 回到这个版面,%#&@%$^,那篇置顶又阴魂不散地冒出来了……
: 怎么这么诡异呀?会是什么地方出了问题?web下管理模式里删除置顶我已经按照我
: 前面说的方法改过了,可以正常使用,就是web下刷新的结果总是不大对头。
: 【 在 atppp (Big Mouse) 的大作中提到: 】
: : 这个是web管理模式下的问题,确实有问题。还有一个地方是,打开置顶贴,下面有个
: : 删除的link,不能用。错误是在phpbbslib里面的bbs_delfile(),似乎可以传一个
: ftype
: ...................
--
【 在 atppp@bbs.stanford.edu-SPAM.no (Big Mouse) 的大作中提到: 】
: 标 题: Re: [smthbbs]web下删除置顶文章的bug修正
: 发信站: 牧场物语 (Mon Apr 26 23:11:30 2004)
: 转信站: SMTH!maily.cic.tsinghua.edu.cn!news.bylinux.net!Stanford
:
: 删好了没运行board_update_toptitle()?
这个函数要自己加到代码里么?
: 什么时候的代码?1.2还是新的CVS?
4月20日cvs的smth_bbs-v1_2
: 也可能是cache...
怎么判断是不是cache的影响?
: 【 在 nfeng@smth.org-SPAM.no (聂风) 的大作中提到: 】
: : 还有一个问题,web下版面的刷新好像很奇怪,有时候我在web下删除了一篇置顶文章,
: : 回到版面后看确实没有了。过一会儿再回到这个版面看这篇置顶又冒出来了(不过只
: : 是个假相,在telnet下看确实已经被删了),按web下版面里的那个刷新也没用。打开
: : 置顶前的那篇原文浏览一下再返回版面,又正常了,那篇置顶的没了。到别处兜一圈
: : 回到这个版面,%#&@%$^,那篇置顶又阴魂不散地冒出来了……
: : 怎么这么诡异呀?会是什么地方出了问题?web下管理模式里删除置顶我已经按照我
: : 前面说的方法改过了,可以正常使用,就是web下刷新的结果总是不大对头。
: : 【 在 atppp (Big Mouse) 的大作中提到: 】
: : : 这个是web管理模式下的问题,确实有问题。还有一个地方是,打开置顶贴,下面有个
: : : 删除的link,不能用。错误是在phpbbslib里面的bbs_delfile(),似乎可以传一个
: : ftype
: : ...................
:
: --
:
: ※ 来源:·牧场物语 bbs.stanford.edu·[FROM: FARM]
--
FROM 202.120.111.*
1.2里面可能没这个函数,那就估计是cache的原因吧。删文之后清空浏览器的cache看看。
【 在 nfeng (聂风) 的大作中提到: 】
: 这个函数要自己加到代码里么?
: 4月20日cvs的smth_bbs-v1_2
: 怎么判断是不是cache的影响?
: ...................
--
FROM 128.12.155.*
删除intenet临时文件后就正常了,或者在那个版面发一篇新帖子也能起到同样的
效果。页面里的那个“刷新”好像没起到作用么
【 在 atppp (Big Mouse) 的大作中提到: 】
: 1.2里面可能没这个函数,那就估计是cache的原因吧。删文之后清空浏览器的cache看看。
--
FROM 202.120.111.*
嗯,这个地方确实有一点点问题,刷新判断的是.DIR的文件修改日期,所以置顶
修改了以后可能会认为文章列表没有修改。嗯,smthbbs的老大可能知道这个,不知道
有没有必要改,反正置顶一般都是不变化的,如果有变化,那就应该假设这个版面人气
还比较可以,发文删文还比较多,所以可能就没必要去判断置顶的变化了。如果每次都
判断,反而增加load。不过现在CVS里面这个结构,如果真的要做倒是可以boardstatus
里面再增加一项...似乎没必要了。
【 在 nfeng@smth.org-SPAM.no (聂风) 的大作中提到: 】
: 删除intenet临时文件后就正常了,或者在那个版面发一篇新帖子也能起到同样的
: 效果。页面里的那个“刷新”好像没起到作用么
: 【 在 atppp (Big Mouse) 的大作中提到: 】
: : 1.2里面可能没这个函数,那就估计是cache的原因吧。删文之后清空浏览器的cache看
: 看。
--
【 在 atppp@bbs.stanford.edu-SPAM.no (Big Mouse) 的大作中提到: 】
: 嗯,这个地方确实有一点点问题,刷新判断的是.DIR的文件修改日期,所以置顶
~~~~哦,原来是因为置顶动的不是它
还有web下的未读标记好像也不大对头么,一篇文章我读了好几次还是有未读标记。
: 修改了以后可能会认为文章列表没有修改。嗯,smthbbs的老大可能知道这个,不知道
: 有没有必要改,反正置顶一般都是不变化的,如果有变化,那就应该假设这个版面人气
: ...................
--
FROM 202.120.111.*