- 精华
- 22
- 最后登录
- 2012-5-15
- UID
- 26983
- PJ币
- 4793 元
- 积分
- 5912
- 帖子
- 1484
- 注册时间
- 2006-12-26
- 在线时间
- 2184 小时
  
- PJ币
- 4793 元
- 积分
- 5912
- 帖子
- 1484
- 注册时间
- 2006-12-26
- 在线时间
- 2184 小时
|
发表于 2007-12-12 19:02:28
|显示全部楼层
作者:戒聊。
发布网址:www.muzili.com
12/13增加后台管理评论回复功能。详情请见第三点。
发布出来才发现好像已经有这个了?
12/22增加回复显示日期功能,以及修改回复功能(已经有回复时再次点击回复为修改),请按照1.1,1.3,1.4,1.5,2,3步重新修改,其中1.4,1.5为新加步骤,另外重新下载附件并执行.
1/19更改后台错误,按照第4点修改.(最近店准备开张,比较忙,所以这么多朋友反应的后台出错,收到MOUSE的邮件,才仔细看了看,原来是我写漏了一步修改.SORRY.),关于后台回复时间会全部变成一样这个问题,等我空了再弄哈.
2/8更新回复时间显示错误.请注意第2步中的*** ***中间的代码.完全第一次更新请直接去掉这行两端的***,已经修改过的请直接重新更新这一行,注意去掉***就OK了.
2/9更新后台回复留言后所有之前的回复时间全部被更改,这个好像我没做过修改,是不是PJ之前本身就有的BUG?哈哈。
更新后台回复评论后时间无显示的BUG。经测试时间正常。
修改方法请注意:请认真执行第五步,小心,别搞错了。。
4/5凌晨修改越权提交的危险BUG,谢谢RISON提醒。修改方法请增加1.6步及第2步中红色文字部分。
自从此功能发布已来,收到很多人的留言,修改不成功。主要是修改步骤太多,加上可能是我表达不清楚,呵呵,仔细看清每一步。出现什么未结束,或者超出范围之类的提示,这些都是由于修改错误,请大家多注意点我的说明,小心修改一点能成功。呵呵。实在不行请直接发送错误文件到我的QQ邮箱:645962@QQ.COM,我会在二天之内帮忙修改完成。
1。1打开class\cls_article.asp,找到- Sub ShowComm(LogID,comDesc,DisComment)
复制代码 ,在下面插入- dim action,commID,CommReplyContent
- action = trim(Request.QueryString("action"))
复制代码 找到Pcount=0这行下面的SQL语句,即SQL="****",小心修改。
如果已经做了我发布的《评论留言加上邮箱和网址(可防垃圾广告)》的朋友请直接将这句SQL语句替换为:- if action="Reply" then
- commID=request("commID")
- SQL="Select comm_ID,comm_Content,comm_Author,comm_PostTime,comm_DisSM,comm_DisUBB,comm_DisIMG,comm_AutoURL,comm_PostIP,comm_AutoKEY,email,siteurl,comm_Reply,comm_Replytime FROM blog_Comment Where comm_ID="&commID&" UNION ALL Select 0,tb_Intro,tb_Title,tb_PostTime,tb_URL,tb_Site,tb_ID,0,'127.0.0.1',0,0,0,0,0 FROM blog_Trackback Where blog_ID="&LogID&" orDER BY comm_PostTime "&comDesc
- else
- SQL="Select comm_ID,comm_Content,comm_Author,comm_PostTime,comm_DisSM,comm_DisUBB,comm_DisIMG,comm_AutoURL,comm_PostIP,comm_AutoKEY,email,siteurl,comm_Reply,comm_Replytime FROM blog_Comment Where blog_ID="&LogID&" UNION ALL Select 0,tb_Intro,tb_Title,tb_PostTime,tb_URL,tb_Site,tb_ID,0,'127.0.0.1',0,0,0,0,0 FROM blog_Trackback Where blog_ID="&LogID&" orDER BY comm_PostTime "&comDesc
- end if
复制代码 否则替换为:- if action="Reply" then
- commID=request("commID")
- SQL="Select comm_ID,comm_Content,comm_Author,comm_PostTime,comm_DisSM,comm_DisUBB,comm_DisIMG,comm_AutoURL,comm_PostIP,comm_AutoKEY,comm_Reply,comm_Replytime FROM blog_Comment Where comm_ID="&commID&" UNION ALL Select 0,tb_Intro,tb_Title,tb_PostTime,tb_URL,tb_Site,tb_ID,0,'127.0.0.1',0,0,0 FROM blog_Trackback Where blog_ID="&LogID&" orDER BY comm_PostTime "&comDesc
- else
- SQL="Select comm_ID,comm_Content,comm_Author,comm_PostTime,comm_DisSM,comm_DisUBB,comm_DisIMG,comm_AutoURL,comm_PostIP,comm_AutoKEY,comm_Reply,comm_Replytime FROM blog_Comment Where blog_ID="&LogID&" UNION ALL Select 0,tb_Intro,tb_Title,tb_PostTime,tb_URL,tb_Site,tb_ID,0,'127.0.0.1',0,0,0 FROM blog_Trackback Where blog_ID="&LogID&" orDER BY comm_PostTime "&comDesc
- end if
复制代码 1.2找到- <a href=""blogcomm.asp?action=del&commID="&blog_CommID&""" onclick=""if (!window.confirm('是否删除该评论?')) {return false}"">
复制代码 在之前插入- <a href=""article.asp?action=Reply&commID="&blog_CommID&"&ID="&LogID&"#comm_"&blog_CommID&"""><img src=""Plugins/guestbook/reply.gif"" alt=""回复"" border=""0"" style=""margin-bottom:-3px""/></a>
复制代码 找到将修改为:- <%
- if action="Reply" then
- response.write "回复评论"
- else
- response.write "发表评论"
- end if
- %>
复制代码 找到- <input name="action" type="hidden" value="post"/>
复制代码 替换为:- <%
- if action="Reply" then
- %>
- <input name="action" type="hidden" value="Reply"/>
- <input name="commID" type="hidden" value="<%=blog_CommID%>"/>
- <%
- else
- %>
- <input name="action" type="hidden" value="post"/>
- <%
- end if
- %>
复制代码 1.3找到:- <div class="commentcontent" id="commcontent_<%=blog_CommID%>"><%=UBBCode(HtmlEncode(CheckStr(blog_CommContent)),commArr(4,Pcount),blog_commUBB,blog_commIMG,commArr(7,Pcount),commArr(9,Pcount))%></div>
复制代码 在下面插入(注意:如果没有做过我发布的《评论留言加上邮箱和网址(可防垃圾广告)》,请将下面这段代码中的“12,pcount”改成“10,pcount”,13改成11:- <%if len(commArr(12,Pcount))>0 then %>
- <div class="commenttop"><img src="images/reply.gif" alt="" border="0" style="margin:0px 3px -3px 0px"/><b><%=blog_master%>回复</b> <span class="commentinfo">[<%=DateToStr(commArr(13,Pcount),"Y-m-d H:I A")%>]</span></div>
- <div class="commentcontent"><%=UBBCode(HtmlEncode(commArr(12,Pcount)),0,0,0,1,1)%></div>
- <%end if%>
复制代码 1.4找到- blog_CommID=commArr(0,Pcount)
- blog_CommAuthor=commArr(2,Pcount)
- blog_CommContent=commArr(1,Pcount)
复制代码 在下面插入(注意里面的12,按实际情况修改,可能为10)- CommReplyContent=commArr(12,Pcount)
复制代码 1.5找到- UBB_TextArea_Height="150px;"
- UBB_Tools_Items="bold,italic,underline"
- UBB_Tools_Items=UBB_Tools_Items&"||image,link,mail,quote,smiley"
复制代码 在下面插入- if action="Reply" then
- UBB_Msg_Value=UBBFilter(UnCheckStr(CommReplyContent))
- end if
复制代码 1.6找到- if not stat_CommentAdd then
- response.write ("你没有权限发表留言!")
- response.write ("</div></div>")
- exit sub
- end if
复制代码 在其上或其下插入如下代码:- if action="Reply" and not stat_Admin then
- response.write ("你没有权限回复留言!")
- response.write ("</div></div>")
- exit sub
- end if
复制代码 2。打开blogcomm.asp,在最后一个之前插入如下代码:
function replyMsg
dim post_Message,MsgID,ReInfo,post_logID
ReInfo=Array("错误信息","","MessageIcon")
MsgID = CheckStr(Request.form("commID"))
post_Message=CheckStr(request.form("Message"))
post_logID=CheckStr(request.form("logID"))
if not (memName<>empty and stat_Admin) then
ReInfo(0)="评论回复错误信息"
ReInfo(1)="你没有权限回复留言<a href=""javascript:history.go(-1)"">单击返回</a>"
ReInfo(2)="ErrorIcon"
replyMsg=ReInfo
exit function
end if
If MsgID=Empty then
ReInfo(0)="评论回复错误信息"
ReInfo(1)="非法操作<a href=""javascript:history.go(-1)"">单击返回</a>"
ReInfo(2)="ErrorIcon"
replyMsg=ReInfo
exit function
end if
If IsInteger(MsgID)=0 then
ReInfo(0)="评论回复错误信息"
ReInfo(1)="非法操作<a href=""javascript:history.go(-1)"">单击返回</a>"
ReInfo(2)="ErrorIcon"
replyMsg=ReInfo
exit function
end if
****Conn.ExeCute("update blog_Comment set Comm_reply='"&post_Message&"',Comm_replytime='"&DateToStr(now(),"Y-m-d H:I:S")&"' where comm_ID=" & MsgID)****
ReInfo(0)="评论回复成功"
ReInfo(1)="<b>你成功地对该评论进行了回复</b><a href=""article.asp?id="&post_logID&""">单击返回该日志</a>"
ReInfo(2)="MessageIcon"
replyMsg=ReInfo
end function
找到- <%
- else
- response.write ("非法操作!!")
复制代码 在上面插入如下代码:- <%
- elseif Request("action")="Reply" then
- PostBComm=replyMsg
- %>
- <div style="text-align:center;">
- <div id="MsgContent" style="width:300px">
- <div id="MsgHead"><%=PostBComm(0)%></div>
- <div id="MsgBody">
- <div class="<%=PostBComm(2)%>"></div>
- <div class="MessageText"><%=PostBComm(1)%></div>
- </div>
- </div>
- </div>
复制代码 3。打开ConContent.asp,找到- conn.execute("Update blog_Comment SET comm_Content='"&checkStr(Request.form("message_"&doCommID(i)))&"' Where comm_ID="&doCommID(i))
复制代码 替换为:
conn.execute("Update blog_Comment SET comm_Content='"&checkStr(Request.form("message_"&doCommID(i)))&"',comm_Reply='"&checkStr(Request.form("reply_"&doCommID(i)))&"',Comm_replytime='"&now&"' Where comm_ID="&doCommID(i))
找到第二处的(有两处)- <div class="content"><textarea name="message_<%=commArr(0,Pcount)%>" onFocus="focusMe(this)" onBlur="blurMe(this)" onMouseOver="overMe(this)" onMouseOut="outMe(this)"><%=UnCheckStr(commArr(1,Pcount))%></textarea></div>
复制代码 在下面插入:- <div class="reply"><h5>回复内容:<%if len(trim(commArr(7,Pcount)))<1 or IsNull(commArr(7,Pcount)) then response.write "<span class=""tip"">(无回复留言)</span>"%></h5><textarea name="reply_<%=commArr(0,Pcount)%>" onFocus="focusMe(this)" onBlur="blurMe(this)" onMouseOver="overMe(this)" onMouseOut="outMe(this)" onChange="checkMe(this)"><%=UnCheckStr(commArr(7,Pcount))%></textarea></div>
复制代码 4.找到- SQL="SELECT comm_ID,comm_Content,comm_Author,comm_PostTime,comm_PostIP,blog_ID,T.log_Title from blog_Comment C,blog_Content T WHERE C.blog_ID=T.log_ID ORDER BY C.comm_PostTime desc"
复制代码 修改为:- SQL="SELECT comm_ID,comm_Content,comm_Author,comm_PostTime,comm_PostIP,blog_ID,T.log_Title,comm_Reply from blog_Comment C,blog_Content T WHERE C.blog_ID=T.log_ID ORDER BY C.comm_PostTime desc"
复制代码 5.
找到- elseif Request.form("doModule")="Update" then
- for i=0 to ubound(doCommID)
- if Request.form("whatdo")="msg" then
复制代码 到- doTitle="评论"
- doRedirect=""
- end if
- next
复制代码 中间的几行代码,全部替换为:- dim blog_book_reply
- set blog_book_reply=Conn.Execute("select book_reply FROM blog_book WHERE book_ID="&doCommID(i))
- if blog_book_reply("book_reply")=checkStr(Request.form("reply_"&doCommID(i))) then
- conn.execute("UPDATE blog_book SET book_Content='"&checkStr(Request.form("message_"&doCommID(i)))&"',book_replyAuthor='"&memName&"' WHERE book_ID="&doCommID(i))
- else
- conn.execute("UPDATE blog_book SET book_Content='"&checkStr(Request.form("message_"&doCommID(i)))&"',book_replyAuthor='"&memName&"',book_replyTime=#"&DateToStr(now(),"Y-m-d H:I:S")&"#,book_reply='"&checkStr(Request.form("reply_"&doCommID(i)))&"' WHERE book_ID="&doCommID(i))
- end if
- doTitle="留言"
- doRedirect="msg"
- elseif Request.form("whatdo")="comment" then
- dim blogcommid
- set blogcommid=Conn.ExeCute("select comm_Reply from blog_Comment where comm_ID="&doCommID(i))
- if blogcommid("comm_Reply")=checkStr(Request.form("reply_"&doCommID(i))) then
- conn.execute("UPDATE blog_Comment SET comm_Content='"&checkStr(Request.form("message_"&doCommID(i)))&"' WHERE comm_ID="&doCommID(i))
- else
- conn.execute("UPDATE blog_Comment SET comm_Content='"&checkStr(Request.form("message_"&doCommID(i)))&"',comm_Reply='"&checkStr(Request.form("reply_"&doCommID(i)))&"',Comm_replytime=#"&DateToStr(now(),"Y-m-d H:I:S")&"# WHERE comm_ID="&doCommID(i))
- end if
复制代码 6。下载附件,上传Update.ASP到博客目录执行升级数据库。
OK。全文完。
如有疑问,请在http://www.muzili.com/article.asp?id=7833留言。
[ 本帖最后由 戒聊 于 2008-4-19 16:31 编辑 ] |
-
总评分: PJ币 + 100
查看全部评分
|