PJBlog3 发布版本 v2.8.3.127 里程碑

查看完整版本: 回复才可见的留言本(修复侧栏隐藏)

话话 2008-7-3 15:47

回复才可见的留言本(修复侧栏隐藏)

接近奥运了,查的也查严了,现在查到留言或评论有敏感字眼的话,BLOG也会被关,甚至服务器也会被关掉,可是不开留言又体现不出互动效果来,所以我自己想了个办法,让留言回复可见,稍动一下手,就可以实现了....(高手可以忽略,新手可以看下...)[color=Red]谢谢果果发现侧栏的问题,已经修正了....[/color]

自己手动修改的话:

1.打开插件目录(Plugins)中 guestbook 里的 guestbook.asp ,然后找到下面的代码:
[quote]<%=UBBCode(HtmlEncode(GuestDB("book_Content")),0,GBSet.getKeyValue("ubbCode"),GBSet.getKeyValue("ImgCode"),GBSet.getKeyValue("autoURL"),1)%>[/quote]
替换成
[quote]<%if not stat_admin then%><%if trim(GuestDB("book_reply"))<>"" then %><%=UBBCode(HtmlEncode(GuestDB("book_Content")),0,GBSet.getKeyValue("ubbCode"),GBSet.getKeyValue("ImgCode"),GBSet.getKeyValue("autoURL"),1)%><%else%><font color= "#FF99cc">该留言正在审核中,请等待管理员验证后再来查看...</font><%end if%><%else%><%=UBBCode(HtmlEncode(GuestDB("book_Content")),0,GBSet.getKeyValue("ubbCode"),GBSet.getKeyValue("ImgCode"),GBSet.getKeyValue("autoURL"),1)%><%end if%>[/quote]
2.打开插件目录(Plugins)中 guestbook 里的 bookaction.asp ,然后找到下面的代码:
[quote]Conn.ExeCute("update blog_book set book_reply='"&MsgReplyContent&"',book_replyAuthor='"&memName&"',book_replyTime=#"&DateToStr(now(),"Y-m-d H:I:S")&"# where book_ID=" & MsgID)
showmsg "回复信息","回复留言成功!<br/><a href=""LoadMod.asp?plugins=GuestBookForPJ2"">单击返回留言本</a>","MessageIcon","plugins"
[/quote]
改成
[quote]Conn.ExeCute("update blog_book set book_reply='"&MsgReplyContent&"',book_replyAuthor='"&memName&"',book_replyTime=#"&DateToStr(now(),"Y-m-d H:I:S")&"# where book_ID=" & MsgID)
   reloadMsg
   showmsg "回复信息","回复留言成功!<br/><a href=""LoadMod.asp?plugins=GuestBookForPJ2"">单击返回留言本</a>","MessageIcon","plugins"
[/quote]
再找到(文件最后面)
[quote]function reloadMsg
                   Dim book_Messages,book_Message,blog_Message
                     Set book_Messages=Conn.Execute("SELECT top 10 book_ID,book_Messager,book_PostTime,book_Content,book_HiddenReply FROM blog_book order by book_PostTime Desc")
                     TempVar=""
                     Do While Not book_Messages.EOF
                         if book_Messages("book_HiddenReply") then
                        book_Message=book_Message&TempVar&book_Messages("book_ID")&"|,|"&book_Messages("book_Messager")&"|,|"&book_Messages("book_PostTime")&"|,|"&"[隐藏留言]"
                          else
                        book_Message=book_Message&TempVar&book_Messages("book_ID")&"|,|"&book_Messages("book_Messager")&"|,|"&book_Messages("book_PostTime")&"|,|"&book_Messages("book_Content")
                         end if
                             TempVar="|$|"
                             book_Messages.MoveNext
                     Loop
                     Set book_Messages=Nothing
                     blog_Message=Split(book_Message,"|$|")
                     Application.Lock
                     Application(CookieName&"_blog_Message")=blog_Message
                     Application.UnLock
end function[/quote]
换成
[quote]function reloadMsg
                   Dim book_Messages,book_Message,blog_Message
                     Set book_Messages=Conn.Execute("SELECT top 10 book_ID,book_Messager,book_PostTime,book_Content,book_HiddenReply,book_reply FROM blog_book order by book_PostTime Desc")
                     TempVar=""
                     Do While Not book_Messages.EOF
                   if book_Messages("book_reply")<>"" then
                          if book_Messages("book_HiddenReply") then
                        book_Message=book_Message&TempVar&book_Messages("book_ID")&"|,|"&book_Messages("book_Messager")&"|,|"&book_Messages("book_PostTime")&"|,|"&"[隐藏留言]"
                          else
                        book_Message=book_Message&TempVar&book_Messages("book_ID")&"|,|"&book_Messages("book_Messager")&"|,|"&book_Messages("book_PostTime")&"|,|"&book_Messages("book_Content")
                          end if
                   else
                       book_Message=book_Message&TempVar&book_Messages("book_ID")&"|,|"&book_Messages("book_Messager")&"|,|"&book_Messages("book_PostTime")&"|,|"&"[待审核留言]"   
                        end if   
                        TempVar="|$|"
                             book_Messages.MoveNext
                     Loop
                     Set book_Messages=Nothing
                     blog_Message=Split(book_Message,"|$|")
                     Application.Lock
                     Application(CookieName&"_blog_Message")=blog_Message
                     Application.UnLock
end function[/quote]
保存上传至服务器,替换原来的代码即可

效果截图:
登陆前
[attach]12675[/attach]
登陆后
[attach]12676[/attach]
侧栏
[attach]12695[/attach]

另外,要是怕有人用别有用心的名字来发言的话,还可以将名字也设成回复可见的,办法如下(在上一步的基础上):

1.打开插件目录(Plugins)中 guestbook 里的 guestbook.asp ,然后找到下面的代码:
[quote]<b><%if GuestDB("book_reply")<>"" then %><%=GuestDB("book_Messager")%></b>[/quote]
改成
[quote]<b><%if not stat_admin then%><%if GuestDB("book_reply")<>"" then %><%=GuestDB("book_Messager")%><%else%>审核中<%end if%><%else%><%=GuestDB("book_Messager")%><%end if%></b>[/quote]
2.依然打开插件目录(Plugins)中 guestbook 里的 bookaction.asp ,然后找到下面的代码:
[quote]book_Message=book_Message&TempVar&book_Messages("book_ID")&"|,|"&book_Messages("book_Messager")&"|,|"&book_Messages("book_PostTime")&"|,|"&"[待审核留言]"   [/quote]
改成
[quote]book_Message=book_Message&TempVar&book_Messages("book_ID")&"|,|"&"游客"&"|,|"&book_Messages("book_PostTime")&"|,|"&"[待审核留言]"   [/quote]

游客状态下演示:
[attach]12696[/attach]
管理状态下演示:
[attach]12697[/attach]
侧栏演示:
[attach]12698[/attach]

演示地址:[url]http://u0609505.k4.13939.org[/url] (刚开的空间,域名还没绑好....)

[[i] 本帖最后由 话话 于 2008-7-3 21:23 编辑 [/i]]

四川-果果 2008-7-3 17:18

不错的想法,只不过每一条都要回复了才可以。
还有问题侧栏显示的可是完整内容哦,需要对install.xml 做相应的修改!:loveliness:

Rison 2008-7-3 17:24

一个简单的解决办法,还不错!

话话 2008-7-3 21:24

:) 谢谢果果的提醒,这次应该没问题啦~~~~

星铃丹 2008-7-4 08:09

为了螃蟹,都撒费苦心啊

jiahangl 2008-7-12 00:45

真是不错,帮顶:victory:

達賴克斯 2008-7-12 01:22

太经典的修改!谢谢分享

不过怕到时候留言一排下来都是"审核"

DinGood 2008-7-12 11:50

大量修改源码 就是PJ一个明显的弊病~~
希望PJ3 增加审核功能!!

haker 2008-7-15 11:23

你这样的话..管理员发单独的留言也要自己回复下才显示..

再改改哦...
页: [1]
查看完整版本: 回复才可见的留言本(修复侧栏隐藏)