标签为 LBS 的存档

记得在安装完这个版本之初,在发表日志的时候便发现首行的空格不起作用,这样排版很不方便,于是在网上找下下,从∽生活笔谈∽那里找到这解决的办法,很完美的方法,转贴如下:

✲ 首先打开 class/UBBcode.asp 搜索到:

// List

✲ 在其上一行插入:

str=str.replace(/\[space\]/ig,’  ’);

✲ 接着打开“edit.asp”搜索到:

“Insert Subscript” /></a>

✲ 替换成

“Insert Subscript” /></a> <a href=”javascript:space()”><img src=”<%=theCache.settings["imageFolder"]%>/ubbcode/bb_space.gif” alt=”Insert SBC case space” /></a>

✲ 最后打开 messageform.js 在最后面插入:

function space() {
var txtarea = document.inputform.message;
if (txtarea.createTextRange && txtarea.caretPos) {
var caretPos = txtarea.caretPos;
caretPos.text = caretPos.text.charAt(caretPos.text.length – 1) == ‘ ‘ ? ‘ ‘ : ”;
txtarea.focus();
} else {
txtarea.value += ”;
txtarea.focus();
}
}

✲ 还需要把下面的图放入相应“风格(styles)”的 images/ubbcode 文件夹内,注意保存的文件名称为:bb_space.gif
http://www.a-boss.com/blog/styles/coffee/images/ubbcode/bb_space.gif

LBS修改-管理员回复评论

不记得从哪里找到的代码了,但在修改完后,发现不是我想要的样子,于是按自己的要求改动了下,现在把自己的代码贴出来,供大家分享下:

打开 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”>
<div class=”commentbox-reply-label”>[ <%=replyUsername%> ] <%=lang["reply_comment"]%> [ <%=func.getDateTimeString("YY-MM-DD hh:ii:ss", replyTime)%> ]</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>
<%}%>
</div>
<%}%>

搜索

strTitle,strActionURL,strContent,strUBBFlags,bHidden

以上代码有两处,均替换为:

strTitle,strActionURL,strContent,strUBBFlags,bHidden,strReply,bShowReplyArea

接着打开 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”>
<div class=”commentbox-reply-label”>[ <%=replyUsername%> ] <%=lang["reply_comment"]%> [ <%=func.getDateTimeString("YY-MM-DD hh:ii:ss", replyTime)%> ]</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>
<%}%>
</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_aut
horID=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中添加回复功能的样式:

.commentbox-reply-title {
border: 1px dashed #999;
margin: 2px 40px;
padding: 5px;
}
.commentbox-reply-label{
font-weight: bold;
margin-bottom: 5px;
}
.commentbox-reply-content{
font-weight: normal;
color: #000080;
font-size: 11px;
display: inline;
}

最后一步,在lang/blog.asp中添加

t["reply_comment"]=”回复于”

代码!
再刷新一下页面,在编辑评论的时候,就多了回复功能!

比原来的好看的多了。

文章是从菜青虫那里学来的,对他的帮助表示感谢!原文如下,自己就不再做无用功了。 [lol] [razz]

LBS中如果将Guest用户设定成正常浏览权限的话,不但无法阅读隐藏、秘密文章,甚至连个隐藏、秘密文章的标题都无法看到,看到的都是***,寡人觉得实在有碍美观,既然有碍观瞻,就修改了他吧!同时我希望让Guest用户也能看到标题,反正,能看到标题不代表能看到全文,呵呵…花了一点时间研究可一下default页面,这个功能修改出来了,如果有和我一样想法的朋友请依照下面的内容修改就可以了。
在default.asp文件中,在outputNormal(正常浏览模式)函数中找到

<%if(!theUser.checkViewPermission(tArticle)){%>
<%=”["+lang["hidden"]+”]”%>
<%}else{%>

修改为:

<%if(!theUser.checkViewPermission(tArticle)){%>
<% var strTitle=func.HTMLEncode(tArticle.title); %>
<font color=”#660000″><%=strTitle%> – This is Hidden Article, Please Register…</font>
<%}else{%>

<%=strTitle%>:就是要显示的网志标题!
This is Hidden Article, Please Register..:是按照自己喜欢添加上去的。
以上是正常显示模式下的,然后修改列表模式下的标题显示…
在outputList(列表浏览模式)函数中找到

<%if(!theUser.checkViewPermission(tArticle)){%>
<%=tArticle.title.replace(/./g,”*”)%>
<%}else{%>

修改为:

<%if(!theUser.checkViewPermission(tArticle)){%>
<% var strTitle=func.HTMLEncode(tArticle.title); %>
- <span class=”comment-text”>[<%=theCache.articleMode[tArticle.mode]%>] <%=strTitle%> – <%=tArticle.title.replace(/./g,”Hidden Article!”).substr(0,15)%></span>
<%}else{%>

[<%=theCache.articleMode[tArticle.mode]%>]:显示文章秘密、隐藏属性。
<%=strTitle%>:要显示的网志标题。
<%=tArticle.title.replace(/./g,”Hidden Article!”).substr(0,15)%>:在文章后面加上“[]Hidden Article!”字样,数字15最好和添加的字样字符数一样多,数字大了会重复,这句也可以不要。

这样的话,在正常浏览和列表浏览模式中,guest用户也可以看到网志的标题了,至少能吸引一下眼球,呵呵…

顺便把最Sidebar评论中的隐藏评论“***”也改为美观一点吧,其实这个我早就已经改了!
在global.asp中的panelComment面板代码中找到
<%=content.replace(/./g,”*”).substr(0,24)%>
把”*”用其他的字符代替,显示一大串***,实在难看!
例如:<%=content.replace(/./g,”There is Hidden Comment…”).substr(0,24)%>
好了,就把所有的***问题都处理完毕了.

LBS修改-关于空格tags的问题

不知道为什么总是有一个空格tags出现,找了很多资料也没有找到原因! [cry]

[2007-9-5 21:30]
这个问题终于被我解决了。 [lol] 事情的起因还是因为我,当初在发现在首行缩进有问题后,于是就用了下面的方法:

行首的空格似乎全都无法显示,这样以来,首行缩进如何实现??
修改 functions.asp 里面的 trim() 函数, 去掉 str=str.replace(/(^\s*|\s*$)/g,”"); 中的 ^\s*|

当改用现在的转换方法后,忘记把这个函数更正回来了,于是程序在处理字段的时候,便对这个空格睁一眼闭一眼了,也就造成了空格tags的结果。 [cool]

因为实在是不爽,于是今天终于再次拾起老本行,认真的读程序,用了三个小时的时间找出了问题的所在,真是…… [angry] [sad] 不过我还是很 [lol] 的.