话话 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:
達賴克斯 2008-7-12 01:22
太经典的修改!谢谢分享
不过怕到时候留言一排下来都是"审核"
DinGood 2008-7-12 11:50
大量修改源码 就是PJ一个明显的弊病~~
希望PJ3 增加审核功能!!
haker 2008-7-15 11:23
你这样的话..管理员发单独的留言也要自己回复下才显示..
再改改哦...