论坛实现单贴屏蔽的完整修改方法


①在数据库的bbs_data表中加字段pb,类型为 逻辑型(是/否)
   或者执行SQL语句 alter table bbs_data add pb bit null

②修改forum_view.asp文件
先定义变量 pb(dim pb)
再找到sql="select bbs_data.id,bbs...这句,在user_data.popedom后面加,bbs_data.pb
找到:   if v_i>1 and forum_power_true(forumpower)=true then temp1=temp1&" <a href='forum_isaction.asp?forum_id="&forumid&"&sel_id="&viewid&"&re_id="&v_id&"&action=del'><img src='"&joekoe_cms.web_dir_skin&"small/del2.gif' alt='删除此回贴' align=absMiddle border=0></a> "
替换为:  if v_i>1 and forum_power_true(forumpower)=true then temp1=temp1&" <a href='forum_isaction.asp?forum_id="&forumid&"&sel_id="&viewid&"&re_id="&v_id&"&action=del'><img src='"&joekoe_cms.web_dir_skin&"small/del2.gif' alt='删除此回贴' align=absMiddle border=0></a> <a href='forum_isaction.asp?forum_id="&forumid&"&sel_id="&viewid&"&re_id="&v_id&"&action=pb' alt='屏蔽(解除屏蔽)此回贴'>屏蔽</a> "

找到
  if joekoe_cms.popedom_p(u_popedom,42)=1 then
    word="<table border=0><tr><td align=center class=htd><font class=gray>=========================<br><font class=red2><b>该用户的论坛发言已暂时被屏蔽!</b></font><br>=========================</font></td></tr></table>"
    remark=""
  end if

在前面加   pb=vdim(25,i)

在此后面加

  if pb then
    word="<table border=0><tr><td align=center class=htd><font class=gray>=========================<br><font class=red2><b>此贴已暂时被屏蔽!</b></font><br>=========================</font></td></tr></table>"
    remark=""
  end if

③修改forum_isacton.asp文件
找到:
  ase "delete"
     aname="删除:"
在前面加:
  case "pb"
    aname="屏蔽<解除屏蔽>一条回贴:"
  
找到:sub is_type(ftid,t_move_fid,t_cause,t_c_topic,t_pm,t_pn,t_ismail,t_m_topic,t_chk_topic,t_chk_f)

在 select case action 里面加上

  case "pb"
    call joekoe_cms.exec("update bbs_data set pb=not pb where forum_id="&forumid&" and reply_id="&ftid&" and id="&re_id,0)

④修改forum_loadtree.asp
找到   if html_temp="" then
在下面的sql语句的from前面加上 bbs_data.pb
在          if joekoe_cms.popedom_p(rs("popedom"),42)=0 then
前面加上
         if rs("pb") then
           html_temp=html_temp&"<font class=red2>该贴已暂时被屏蔽!</font>"
           else

然后在
html_temp=html_temp&" <font class=gray>-</font> "&format_user_name(rs("username"),0,"")&"</td></tr>"
后面加
end if

⑤打开forum_print.asp
找到
sub forum_print()
这一段,将

Code:
sql="select id,username,topic,word,tim from bbs_data where reply_id="&viewid&" order by id"

改为

Code:
sql="select id,username,topic,word,tim,pb from bbs_data where reply_id="&viewid&" order by id"

往下找到

Code:
vbcrlf&"--  <b>"&joekoe_cms.code_html(rs(2),1,0)&"</b><br>" & _
vbcrlf& (code_jk(rs(3))) & _
vbcrlf&"</td></tr></table></td></tr>"

改为

Code:
                    vbcrlf&"--  <b>"&joekoe_cms.code_html(rs(2),1,0)&"</b><br>"
       if rs("pb") then
    response.write vbcrlf&"<font class=red2>该贴已暂时被屏蔽!</font>"
      else
    response.write vbcrlf& (code_jk(rs(3)))
      end if
    response.write vbcrlf&"</td></tr></table></td></tr>"


⑥打开forum_reply.asp
找到
Code:
sql="select top 1 bbs_data.username,bbs_data.word,bbs_data.tim,user_data.popedom from bbs_data,user_data where bbs_data.userid=user_data.id and bbs_data.reply_id="&viewid&" and bbs_data.id="&replyid

改为

Code:
      sql="select top 1 bbs_data.username,bbs_data.word,bbs_data.tim,user_data.popedom,bbs_data.pb from bbs_data,user_data where bbs_data.userid=user_data.id and bbs_data.reply_id="&viewid&" and bbs_data.id="&replyid

往下找到

Code:
   if joekoe_cms.popedom_p(rs("popedom"),42)=0 then


在上面添加

Code:
if rs("pb") then
    rword="<font class=red2>该贴已暂时被屏蔽!</font>"
    else



Code:
if chk_true then

上面添加
end if

同时配合下面的修改方法。我懒得去修改帖子了。继续
就是点打印图标后,特殊贴完全没有意义,内容一览无遗。这真是天大的漏洞!
解决办法:
打开forum_print.asp文件,顶部加上
<!-- #include file="include/jk_ubbtst.asp" -->

往下,在sub forum_print()中找到
vbcrlf& code_jk(rs(3)) & _

改为
vbcrlf& reubbtst(code_jk(rs(3)),0)

再看
这样修改后又发现特殊贴不能引用。苦苦琢磨,终于解决此问题!

打开forum_reply.asp
找到

Code:
rword="
Quote:
以下是引用 "&rs("username")&" 在 "&rs("tim")&" 的发言:"&vbcrlf&reubbtst(rs("word"))&vbcrlf&"
"

改为

Code:
rword="
Quote:
以下是引用 "&rs("username")&" 在 "&rs("tim")&" 的发言:"&vbcrlf&reubbtst(rs("word"),0)&vbcrlf&"
"

文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags:
相关日志:
评论: 0 | 引用: 0 | 查看次数: 519
发表评论
昵 称:
密 码: 游客发言不需要密码.
内 容:
验证码: 验证码
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.
字数限制 20 字 | UBB代码 关闭 | [img]标签 关闭