原版插件:
http://bbs.pjhome.net/viewthread ... D%BC%FE%B9%DC%C0%ED
不过现在好像下载不了了……
本次修改主要是为了在2.7版本下可用,另增加了一些我自己想要的功能:
1. 将部分功能的设置增加到后台,方便使用
2. 增加上传附件的命名方式控制(有问题的……)
3. 增加对FCK编辑器的支持(可惜还是有问题的……)
4. 增加对上传图片的备份功能(如果又想加水印又想保留原图的话就比较方便,否则可以无视此功能)
有问题的部分:
1. 上传附件的命名方式:
如果选择“前缀_随机数_后缀”的话,“随机方式”就只能选“上传日期时间_文件原名”
不知道为什么,如果选其它的话,插入数据库的附件记录会自动删除,望高手解决;
2. 对FCK编辑器的支持
如果文章里只有一个附件的话就没问题,如果有多个的话,就只会显示最好那个的信息,是Ajax的问题,但不知道怎样才能不互相干扰,所以在后台增加了一个对FCK编辑器支持的开关,望高手解决;
修改方法:
1.header.asp
找到
复制内容到剪贴板
代码:
Dim BlogTitle修改为
复制内容到剪贴板
代码:
response.cookies("shotan")= "shotan"
Session("shotan")="shotan"
Dim BlogTitle其实变量的值可以随便设,只要和download.asp文件保持一致就可以了
2.common/ubbcode.asp
找到
复制内容到剪贴板
代码:
'-----------特殊标签----------------
re.Pattern = "\[down=(.[^\]]*)\](.[^\[]*)\[\/down]"
Set strMatchs=re.Execute(strContent)
For Each strMatch in strMatchs
tmpStr1=checkURL(strMatch.SubMatches(0))
tmpStr2=strMatch.SubMatches(1)
strContent=replace(strContent,strMatch.Value,"<img src=""images/download.gif"" alt=""下载文件"" style=""margin:0px 2px -4px 0px""/> <a href="""&tmpStr1&""" target=""_blank"">"&tmpStr2&"</a>",1,-1,0)
Next
re.Pattern = "\[down\](.[^\[]*)\[\/down]"
Set strMatchs=re.Execute(strContent)
For Each strMatch in strMatchs
tmpStr1=checkURL(strMatch.SubMatches(0))
strContent=replace(strContent,strMatch.Value,"<img src=""images/download.gif"" alt=""下载文件"" style=""margin:0px 2px -4px 0px""/> <a href="""&tmpStr1&""" target=""_blank"">下载此文件</a>",1,-1,0)
Next
re.Pattern = "\[mDown=(.[^\]]*)\](.[^\[]*)\[\/mDown]"
Set strMatchs=re.Execute(strContent)
For Each strMatch in strMatchs
tmpStr1=checkURL(strMatch.SubMatches(0))
tmpStr2=strMatch.SubMatches(1)
if len(memName)>0 then
strContent=replace(strContent,strMatch.Value,"<img src=""images/download.gif"" alt=""下载文件"" style=""margin:0px 2px -4px 0px""/> <a href="""&tmpStr1&""" target=""_blank"">"&tmpStr2&"</a>",1,-1,0)
else
strContent=replace(strContent,strMatch.Value,"<img src=""images/download.gif"" alt=""只允许会员下载"" style=""margin:0px 2px -4px 0px""/> 该文件只允许会员下载! <a href=""login.asp"">登录</a> | <a href=""register.asp"">注册</a>",1,-1,0)
end if
Next
re.Pattern = "\[mDown\](.[^\[]*)\[\/mDown]"
Set strMatchs=re.Execute(strContent)
For Each strMatch in strMatchs
tmpStr1=checkURL(strMatch.SubMatches(0))
if len(memName)>0 then
strContent=replace(strContent,strMatch.Value,"<img src=""images/download.gif"" alt=""下载文件"" style=""margin:0px 2px -4px 0px""/> <a href="""&tmpStr1&""" target=""_blank"">下载此文件</a>",1,-1,0)
else
strContent=replace(strContent,strMatch.Value,"<img src=""images/download.gif"" alt=""只允许会员下载"" style=""margin:0px 2px -4px 0px""/> 该文件只允许会员下载! <a href=""login.asp"">登录</a> | <a href=""register.asp"">注册</a>",1,-1,0)
end if
Next替换成
复制内容到剪贴板
代码:
'-----------特殊标签----------------
re.Pattern = "\[down=(download\.asp\?id=)([0-9]*)\](.[^\[]*)\[\/down]"
Set strMatchs=re.Execute(strContent)
For Each strMatch in strMatchs
tmpStr1=checkURL(strMatch.SubMatches(0))
tmpStr2=strMatch.SubMatches(1)
tmpStr3=strMatch.SubMatches(2)
strContent=Shotan_Download(strContent,strMatch.Value,tmpStr1,tmpStr2,tmpStr3)
Next
re.Pattern = "\[down\](download\.asp\?id=)([0-9]*)\[\/down\]"
Set strMatchs=re.Execute(strContent)
For Each strMatch in strMatchs
tmpStr1=checkURL(strMatch.SubMatches(0))
tmpStr2=strMatch.SubMatches(1)
strContent=Shotan_Download(strContent,strMatch.Value,tmpStr1,tmpStr2,"")
Next
re.Pattern = "\[mDown=(download\.asp\?id=)([0-9]*)\](.[^\[]*)\[\/mDown]"
Set strMatchs=re.Execute(strContent)
For Each strMatch in strMatchs
tmpStr1=checkURL(strMatch.SubMatches(0))
tmpStr2=strMatch.SubMatches(1)
tmpStr3=strMatch.SubMatches(2)
if len(memName)>0 then
strContent=Shotan_Download(strContent,strMatch.Value,tmpStr1,tmpStr2,tmpStr3)
else
strContent=replace(strContent,strMatch.Value,"<img src=""images/download.gif"" alt=""只允许会员下载"" style=""margin:0px 2px -4px 0px""/> 该文件只允许会员下载! <a href=""login.asp"">登录</a> | <a href=""register.asp"">注册</a>",1,-1,0)
end if
Next
re.Pattern = "\[mDown\](download\.asp\?id=)([0-9]*)\[\/mDown]"
Set strMatchs=re.Execute(strContent)
For Each strMatch in strMatchs
tmpStr1=checkURL(strMatch.SubMatches(0))
if len(memName)>0 then
strContent=Shotan_Download(strContent,strMatch.Value,tmpStr1,tmpStr2,"")
else
strContent=replace(strContent,strMatch.Value,"<img src=""images/download.gif"" alt=""只允许会员下载"" style=""margin:0px 2px -4px 0px""/> 该文件只允许会员下载! <a href=""login.asp"">登录</a> | <a href=""register.asp"">注册</a>",1,-1,0)
end if
Next如果你的博客中用以前的方法添加的附件较多,你可以在上面的语句修改完之后,接着再加入
复制内容到剪贴板
代码:
'=====================兼容以前的附件==================================
re.Pattern = "\[down=attachments\/(.[^\]]*)\](.[^\[]*)\[\/down]"
Set strMatchs=re.Execute(strContent)
For Each strMatch in strMatchs
tmpStr1=checkURL(strMatch.SubMatches(0))
tmpStr2=strMatch.SubMatches(1)
strContent=replace(strContent,strMatch.Value,"<img src=""images/download.gif"" alt=""下载文件"" style=""margin:0px 2px -4px 0px""/> <a href=""attachments/"&tmpStr1&""" target=""_blank"">"&tmpStr2&"</a>",1,-1,0)
Next
re.Pattern = "\[down\]attachments\/(.[^\[]*)\[\/down]"
Set strMatchs=re.Execute(strContent)
For Each strMatch in strMatchs
tmpStr1=checkURL(strMatch.SubMatches(0))
strContent=replace(strContent,strMatch.Value,"<img src=""images/download.gif"" alt=""下载文件"" style=""margin:0px 2px -4px 0px""/> <a href=""attachments/"&tmpStr1&""" target=""_blank"">下载此文件</a>",1,-1,0)
Next
re.Pattern = "\[mDown=attachments\/(.[^\]]*)\](.[^\[]*)\[\/mDown]"
Set strMatchs=re.Execute(strContent)
For Each strMatch in strMatchs
tmpStr1=checkURL(strMatch.SubMatches(0))
tmpStr2=strMatch.SubMatches(1)
if len(memName)>0 then
strContent=replace(strContent,strMatch.Value,"<img src=""images/download.gif"" alt=""下载文件"" style=""margin:0px 2px -4px 0px""/> <a href=""attachments/"&tmpStr1&""" target=""_blank"">"&tmpStr2&"</a>",1,-1,0)
else
strContent=replace(strContent,strMatch.Value,"<img src=""images/download.gif"" alt=""只允许会员下载"" style=""margin:0px 2px -4px 0px""/> 该文件只允许会员下载! <a href=""login.asp"">登录</a> | <a href=""register.asp"">注册</a>",1,-1,0)
end if
Next
re.Pattern = "\[mDown\]attachments\/(.[^\[]*)\[\/mDown]"
Set strMatchs=re.Execute(strContent)
For Each strMatch in strMatchs
tmpStr1=checkURL(strMatch.SubMatches(0))
if len(memName)>0 then
strContent=replace(strContent,strMatch.Value,"<img src=""images/download.gif"" alt=""下载文件"" style=""margin:0px 2px -4px 0px""/> <a href=""attachments/"&tmpStr1&""" target=""_blank"">下载此文件</a>",1,-1,0)
else
strContent=replace(strContent,strMatch.Value,"<img src=""images/download.gif"" alt=""只允许会员下载"" style=""margin:0px 2px -4px 0px""/> 该文件只允许会员下载! <a href=""login.asp"">登录</a> | <a href=""register.asp"">注册</a>",1,-1,0)
end if
Next
'=====================兼容以前的附件==================================以上语句主要是对你博客中原来的附件地址的识别,以前添加的附件是没有防盗链的。注意上面的attachments是你博客附件文件所在的文件夹名称,如果你的博客附件的文件夹是其他的名称,做相应的替换即可
说明:如果你的博客中ubbcode.asp文件从来没有修改过,那可以将下载压缩包中的common/ubbcode.asp文件上传到网站空间中common文件夹下覆盖原来的ubbcode.asp文件,操作之前做好备份哦,以防万一
3.common/common.js
找到函数
复制内容到剪贴板
代码:
function addUploadItem(type,path,memberDown){修改为
复制内容到剪贴板
代码:
function addUploadItem(type,path,memberDown,autoico,supportfck){在该函数中找到
复制内容到剪贴板
代码:
default :
...
break;替换为
复制内容到剪贴板
代码:
default :
if (EditType=="UBBEditor"){
if (memberDown==1)
{parent.document.forms[0].Message.value+='[mDown='+path+']点击下载此文件[/mDown]\n'}
else
{parent.document.forms[0].Message.value+='[down='+path+']点击下载此文件[/down]\n'}
}
//'========= Kan 2008-03-24 插件:附近管理 增加对FCK的支持 Start =========
else{
var srs_att = path.split("=");
var srs_att_no = srs_att.length;
var srs_att_ico = "download.gif";
if (autoico==1){
switch(type){
case 'jpg':
srs_att_ico="jpg.gif"
break;
case 'gif':
srs_att_ico="gif.gif"
break;
case 'bmp':
srs_att_ico="bmp.gif"
break;
case 'png':
srs_att_ico="png.gif"
break;
case 'zip':
srs_att_ico="zip.gif"
break;
case 'rar':
srs_att_ico="rar.gif"
break;
case 'swf':
srs_att_ico="swf.gif"
break;
case 'mdb':
srs_att_ico="mdb.gif"
break;
case 'doc':
srs_att_ico="doc.gif"
break;
case 'xls':
srs_att_ico="xls.gif"
break;
case "pdf":
srs_att_ico="pdf.gif"
break;
case 'mbk':
srs_att_ico="mbk.gif"
break;
case 'mp3':
srs_att_ico="mp3.gif"
break;
case "wmv":
srs_att_ico="wma.gif"
break;
case "wma":
srs_att_ico="wma.gif"
break;
default :
srs_att_ico="unknow.gif"
break;
}
srs_att_ico="file/"+srs_att_ico
}
var srs_att_InsertHtml = '<a href="'+path+'" target="_blank" title="点击下载此文件" ><img border="0" src="../../images/'+srs_att_ico+'" alt="点击下载" style="margin:0px 2px -4px 0px"/>点击下载此文件</a>'
if (supportfck==1){
srs_att_InsertHtml=srs_att_InsertHtml+'[附件'+srs_att[srs_att_no-1]+'信息]</label><script type="text/javascript">getSRSAttachment('+srs_att[srs_att_no-1]+')</script>'
}
oEditor.InsertHtml(srs_att_InsertHtml)
}
//'========= Kan 2008-03-24 插件:附近管理 增加对FCK的支持 End =========
break;说明:如果你的博客中common.js文件从来没有修改过,那可以将下载压缩包中的common/common.js文件上传到网站空间中common文件夹下覆盖原来的common.js文件,操作之前做好备份哦,以防万一
4.将下载压缩包中的download.asp文件上传到网站的根目录下
5.将下载压缩包中的attachment.asp文件覆盖原来的attachment.asp
注意:进行此操作前先做好文件备份,以便造成不必要的麻烦
6.将下载压缩包中的Attachment文件夹上传到自己博客的Plugins文件夹下,然后进博客后台将插件安装一下
如果已安装了旧版本的话,需反安装旧版本并删除记录
OK,搞定了,呵呵~
水平有限,不足之处,还请多多包涵
[
本帖最后由 夜空语风 于 2008-4-1 00:03 编辑 ]