{转帖收藏}lbs的评论回复功能

[ 2007-06-02 22:39:41 | 作者: 夏末 ]
字体大小: | |
因为lbs的作者也终于无法忍受spam的连续攻击而做出了程序的更新,所以我这个喜欢折腾的也马上跟风升级了blog,升级成功以后发现评论回复功能失效了,原来是升级文件替代了插件需要的源文件代码,于是急吼吼到网上再次找修改文件重新修改覆盖。决定以后把更新过的文件都在自己blog里储存一下,免得以后更新的时候手忙脚乱的。

作者:Alonefly 来源:http://www.lbsky.cn/forum/thread-151-1-1.html

首先需要升级数据库,请下载压缩包,修改包内 update_comment.asp 文件中的数据库地址为你自己博客的数据库地址。然后上传到博客根目录,执行之,记得要先备份自己的数据库。完成后请删除该文件。
下载地址:http://summeryaya.gbaopan.com/files/7ad4251ae13b4739ad5122ccd9461dea.gbp

打开 comment.asp,搜索到
<%if(editMark){
var arrEdit=editMark.split("$|$");
%>
<div class="editmark">[<%=lang["edited_by"]+arrEdit[0]+lang["at"]+arrEdit[1]%>]</div>
<%}%>
<%}else{%>
<div class="hidden-note"><%=lang["hidden_comment"]%></div>
<%}%>
</div>
替换成
<%if(editMark){
var arrEdit=editMark.split("$|$");
%>
<div class="editmark">[<%=lang["edited_by"]+arrEdit[0]+lang["at"]+arrEdit[1]%>]</div>
<%}%>
<%}else{%>
<div class="hidden-note"><%=lang["hidden_comment"]%></div>
<%}%>
</div>
 <%if(reply){%>
 <div class="commentbox-reply-title"><strong><%=replyUsername%></strong>
 <div class="commentbox-reply-label"><%=lang["reply_comment"]%> <%=func.getDateTimeString("YY-MM-DD hh:ii:ss", replyTime)%></div>
 </div>
 <%if(!hidden||(theUser.id==userid&&userid!=0)||theUser.rights["view"]>2){%>
 <%var strContent=ubb.toHTML(func.HTMLEncode(reply),"110011", "", true)%>
 <div class="commentbox-reply-content">
 <%=strContent%>
 </div>
 <%}else{%>
 <div class="hidden-note"><%=lang["hidden_comment"]%></div>
 <%}%>
<%}%>

接着打开 src_comment.asp,搜索到
"content": comments[i]["comm_content"],
"hidden": comments[i]["comm_hidden"],
"postTime": new Date(Number(comments[i]["comm_posttime"])),
"ubbFlags": comments[i]["comm_ubbflags"],
"editMark": comments[i]["comm_editmark"],
替换成
"content": comments[i]["comm_content"],
"hidden": comments[i]["comm_hidden"],
"postTime": new Date(Number(comments[i]["comm_posttime"])),
"ubbFlags": comments[i]["comm_ubbflags"],
"editMark": comments[i]["comm_editmark"],
"reply": comments[i]["comm_reply"],
"replyUsername": comments[i]["comm_replyusername"],
"replyTime": new Date(Number(comments[i]["comm_replytime"])),

搜索到 “ // Check content ” 在上一行插入
// Workaround for content/reply swap when the user has reply rights
if(input["entry"]){
input["reply"]=input["message"];
input["message"]=input["entry"];
if(input["reply"].length>theCache.settings["maxCommentLength"]||input["reply"].length<2){
strError+="<li>"+lang["length_invalid"]+"</li>";
}
}

搜索到
arrData=connBlog.query("SELECT TOP 1 tLog.log_id,tLog.log_authorID,tLog.log_title,tComm.comm_authorid,tComm.comm_content,tComm.comm_ubbFlags,tComm.comm_hidden FROM [blog_Article] tLog,[blog_Comment] tComm WHERE tLog.log_id=tComm.log_id AND tComm.comm_id="+input["id"]);
替换成
arrData=connBlog.query("SELECT TOP 1 tLog.log_id,tLog.log_authorID,tLog.log_title,tComm.comm_authorid,tComm.comm_content,tComm.comm_ubbFlags,tComm.comm_reply,tComm.comm_hidden FROM [blog_Article] tLog,[blog_Comment] tComm WHERE tLog.log_id=tComm.log_id AND tComm.comm_id="+input["id"]);

搜索到
outputEditComment(lang["edit_comment_on"]+": "+arrData["log_title"], "?act=update&id="+input["id"], arrData["comm_content"], arrData["comm_ubbflags"],arrData["comm_hidden"]);
替换成
outputEditComment(lang["edit_comment_on"]+": "+arrData["log_title"], "?act=update&id="+input["id"], arrData["comm_content"], arrData["comm_ubbflags"],arrData["comm_hidden"],arrData["comm_reply"], theUser.rights["edit"]>2 ? true : false);

搜索到 “ connBlog.update("blog_Comment", arrUpdate, "comm_id="+input["id"]); ”,在其上一行插入
// If the user has reply rights
if(theUser.rights["edit"]>1){
arrUpdate["comm_reply"]=input["reply"];
arrUpdate["comm_replyUsername"]=theUser.username;
arrUpdate["comm_replyTime"]=new Date();
}

打开 article.asp 文件,搜索到
<%if(editMark){
var arrEdit=editMark.split("$|$");
%>
<div class="editmark">[<%=lang["edited_by"]+arrEdit[0]+lang["at"]+arrEdit[1]%>]</div>
<%}%>
<%}else{%>
<div class="hidden-note"><%=lang["hidden_comment"]%></div>
<%}%>
</div>
替换成
<%if(editMark){
var arrEdit=editMark.split("$|$");
%>
<div class="editmark">[<%=lang["edited_by"]+arrEdit[0]+lang["at"]+arrEdit[1]%>]</div>
<%}%>
<%}else{%>
<div class="hidden-note"><%=lang["hidden_comment"]%></div>
<%}%>
</div>
 <%if(reply){%>
 <div class="commentbox-reply-title"><strong><%=replyUsername%></strong>
 <div class="commentbox-reply-label"><%=lang["reply_comment"]%> <%=func.getDateTimeString("YY-MM-DD hh:ii:ss", replyTime)%></div>
 </div>
 <%if(!hidden||(theUser.id==userid&&userid!=0)||theUser.rights["view"]>2){%>
 <%var strContent=ubb.toHTML(func.HTMLEncode(reply),"110011", "", true)%>
 <div class="commentbox-reply-content">
 <%=strContent%>
 </div>
 <%}else{%>
 <div class="hidden-note"><%=lang["hidden_comment"]%></div>
 <%}%>
<%}%>

打开 class/article.asp 文件,搜索到
this.loadComments = function(bTimeOrder, bWithTrackBack, intTrackbackPos, intPageSize, intCurrentPage){
 var sql="SELECT 0 as type, comm_ID,comm_Content,comm_authorID,comm_author,comm_PostTime,comm_EditMark,comm_UBBFlags,comm_Hidden,comm_IP FROM blog_Comment WHERE log_ID="+this.id;

if(bWithTrackBack){
// Trackback Fields Mapping: comm_ID=0, comm_Content=tb_Excerpt, comm_authorID=tb_ID, comm_author=tb_Title
sql+=" UNION ALL SELECT 1,0,tb_Excerpt,tb_ID,tb_Title,tb_Time,tb_URL,tb_Blog,false,tb_IP FROM blog_Trackback WHERE log_ID="+this.id;
}
替换成
this.loadComments = function(bTimeOrder, bWithTrackBack, intTrackbackPos, intPageSize, intCurrentPage){
 var sql="SELECT 0 as type, comm_ID,comm_Content,comm_authorID,comm_author,comm_PostTime,comm_EditMark,comm_UBBFlags,comm_Hidden,comm_IP,comm_reply,comm_replyUsername,comm_replyTime FROM blog_Comment WHERE log_ID="+this.id;

if(bWithTrackBack){
// Trackback Fields Mapping: comm_ID=0, comm_Content=tb_Excerpt, comm_authorID=tb_ID, comm_author=tb_Title
sql+=" UNION ALL SELECT 1,0,tb_Excerpt,tb_ID,tb_Title,tb_Time,tb_URL,tb_Blog,false,tb_IP,false,false,tb_Time FROM blog_Trackback WHERE log_ID="+this.id;
}

搜索到
"ubbFlags": tmpA[i]["comm_ubbflags"],
"hidden": tmpA[i]["comm_hidden"],
"IP": tmpA[i]["comm_ip"]
替换成
"ubbFlags": tmpA[i]["comm_ubbflags"],
"hidden": tmpA[i]["comm_hidden"],
"IP": tmpA[i]["comm_ip"],
 "reply":tmpA[i]["comm_reply"],
 "replyUsername":tmpA[i]["comm_replyusername"],
 "replyTime": new Date(Number(tmpA[i]["comm_replytime"]))

最后还需要将下面的 CSS 代码复制到你所用风格的 styles.css 文件最末端,具体的式样可以自己参照 .commentbox 一类的修改。
.commentbox-reply-title{
 padding-top:5px;
 padding-bottom:5px;
 border-top:2px solid #9B9F8E;
 border-bottom:1px dotted #9B9F8E;
 margin-bottom:3px;
 margin-top:10px;
}
.commentbox-reply-label{
 display: inline;
 color: #666666;
 font-size: 11px;
}
.commentbox-reply-content{
 padding: 3px;
}

在 lang/blog.asp 内增加一行 "t["reply_comment"]="回复于";"

修改完毕!

感谢插件作者,给我们带来了很大的方便。

友情提示:插件有风险,安装须谨慎。注意备份文件,此转载文仅供夏末自己备份而用,如有朋友照此安装出现损坏问题,本人概不负责。 [010]
[最后修改由 夏末, 于 2007-06-02 23:14:14]
评论Feed 评论Feed: http://www.summeryaya.com/space/feed.asp?q=comment&id=164

浏览模式: 显示全部 | 评论: 1 | 引用: 0 | 排序 | 浏览: 38384
引用 瞳仔
[ 2007-06-09 19:07:32 ]
想當年我為了這份東西可是很心累吖TVT。
現在終于熬出頭了!XD
夏末
2007-06-09 19:34:55
最近升级,我不小心又覆盖了。 [7]

发表
心情图释
[01] [02] [03] [04]
[05] [06] [07] [08]
[10] [11] [13] [001]
[002] [004] [005] [006]
[007] [009] [010] [018]
[021] [023] [028] [030]
[031] [1] [2] [3]
[4] [5] [6] [7]
[8] [9]
UBB代码
转换链接
心情图释
悄悄话
用户名:   密码:   注册?
* 验证码为算术题正确答案,请输入计算结果 3 + 6 =