页面用力 o>﹏<o 加载中...

SRS附件管理 V4.0 beta1 For PJ3


插件名称:   SRS附件管理 V4.0 beta1 For PJ3
原 作 者:   夜空[DarkSky@SRS]
发布时间:   2008-11-08
版 本 号:   4.0
适用版本:   pj3 (pj2应该也没问题的)
修改源码:   是
MD5 验证: C40F28EAA97AA3596BA9522C181FC8C4
下载地址:    点击下载点击下载此文件

附上修改后的文件,如果之前没修改过源程序可以直接替换
点击下载SRS_Attachment_EditFile_For PJBlog3 v2.8.5.157.rar

插件演示:

插件简介:   
在上一个版本(3.0)还只是在原来的基础上修改,这次因为修复以前发现的问题及想增加的一些功能,所以全部代码重写了,所以名字也改为自己的


关于上传文件自定义命名的说明:
1、$d|字符数$:根据“字符数”生成指定长度的“数字字符串”。例如:$d|6$
   字符范围是:"1234567890"
2、$s|字符数$:根据“字符数”生成指定长度的“字母字符串”。例如:$s|5$
   字符范围是:"abcdefghijklmnopqrstuvwxyz"
3、$a|字符数$:根据“字符数”生成指定长度的“数字和字母的混合字符串”。例如:$a|8$
   字符范围是:"abcdefghijklmnopqrstuvwxyz1234567890"
4、$date$:生成当前日期时间。
5、$fname$:上传文件原文件名。
自定义命名就是通过把这些标签自由组合为上传文件命名。

v4.0更新内容:
1、在PJ3下应用(静态也没问题);
2、修复rss读取错误;
3、完成上传文件自定义命名功能;
4、增加文字水印的设置选项;
5、增加水印随机位置;
6、增加实时更新下载次数功能;
想不起来了……你们安装了自己看吧……

安装方法:
1.header.asp
找到

ASP/Visual Basic代码
  1. Dim BlogTitle  
添加代码(红色部分)为
 
ASP/Visual Basic代码
  1. response.cookies("SRS_Attachment_Down")= "SRS_Attachment"  
  2. Session("SRS_Attachment_Down")="SRS_Attachment"    
  3. Dim BlogTitle  

2.feed.asp
添加代码(红色部分):

ASP/Visual Basic代码
  1. <!--#include file="common/ubbcode.asp" -->   
  2. <!--#include file="common/ModSet.asp" -->   
  3. <!--#include file="plugins.asp" -->  

找到

ASP/Visual Basic代码
  1. .Pattern = "<a (.*?)href=""(?!(http|https|ftp|mms|rstp)://)(.*?)"""  
  2. Str = .Replace(Str, "<a $1href=""" & SiteURL & "$3""")  
在后面添加:
ASP/Visual Basic代码
  1. 'SRS附件管理 4.0 增加 By Kan 2008-11-06   
  2. .Pattern = "onclick=""setTimeout\(function\(\)\{getSRSAttach(.*?)"""  
  3. Str = .Replace(Str, "")   
  4. .Pattern = "<label id=""SRSAttachCount(.*?)</label>"  
  5. Str = .Replace(Str, "")   
  6. .Pattern = "<script type=""text/javascript"">getSRSAttach(.*?)</script>"  
  7. Str = .Replace(Str, "")   

找到

ASP/Visual Basic代码
  1. Conn.Close   
  2. Set Conn = Nothing  
剪切到文件最后面
ASP/Visual Basic代码
  1. </channel>   
  2. </rss>   
  3. <%   
  4. Conn.Close   
  5. Set Conn = Nothing  
  6. %>  
就是这个代码造成了rss的读取错误,是在检查代码哪里出问题时无意中发现的……

3.ConContent.asp
在文件顶部添加导入文件(红色部分)
ASP/Visual Basic代码
  1. <!--#include file="common/ModSet.asp" -->   
  2. <!--#include file="plugins.asp" -->  
这个在初始化时需要用到

4.common/ubbcode.asp
找到
ASP/Visual Basic代码
  1. '-----------特殊标签----------------   
  2. re.Pattern = "\[down=(.[^\]]*)\](.[^\[]*)\[\/down]"  
  3. Set strMatchs = re.Execute(strContent)   
  4. For Each strMatch in strMatchs   
  5.     tmpStr1 = checkURL(strMatch.SubMatches(0))   
  6.     tmpStr2 = strMatch.SubMatches(1)   
  7.     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)   
  8. Next  
  9.   
  10. re.Pattern = "\[down\](.[^\[]*)\[\/down]"  
  11. Set strMatchs = re.Execute(strContent)   
  12. For Each strMatch in strMatchs   
  13.     tmpStr1 = checkURL(strMatch.SubMatches(0))   
  14.     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)   
  15. Next  
  16.   
  17. re.Pattern = "\[mDown=(.[^\]]*)\](.[^\[]*)\[\/mDown]"  
  18. Set strMatchs = re.Execute(strContent)   
  19. For Each strMatch in strMatchs   
  20.     tmpStr1 = checkURL(strMatch.SubMatches(0))   
  21.     tmpStr2 = strMatch.SubMatches(1)   
  22.     If Len(memName)>0 Then  
  23.         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)   
  24.     Else  
  25.         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)   
  26.     End If  
  27. Next  
  28.   
  29. re.Pattern = "\[mDown\](.[^\[]*)\[\/mDown]"  
  30. Set strMatchs = re.Execute(strContent)   
  31. For Each strMatch in strMatchs   
  32.     tmpStr1 = checkURL(strMatch.SubMatches(0))   
  33.     If Len(memName)>0 Then  
  34.         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)   
  35.     Else  
  36.         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)   
  37.     End If  
  38. Next  
替换为:
ASP/Visual Basic代码
  1. '-----------特殊标签----------------   
  2. re.Pattern = "\[down=(download\.asp\?id=)([0-9]*)\](.[^\[]*)\[\/down]"  
  3. Set strMatchs=re.Execute(strContent)   
  4. For Each strMatch in strMatchs   
  5.     tmpStr1=checkURL(strMatch.SubMatches(0))   
  6.     tmpStr2=strMatch.SubMatches(1)   
  7.     tmpStr3=strMatch.SubMatches(2)   
  8.     strContent=SRSAttachDownload(strContent,strMatch.Value,tmpStr1,tmpStr2,tmpStr3)   
  9. Next           
  10.   
  11. re.Pattern = "\[down\](download\.asp\?id=)([0-9]*)\[\/down\]"  
  12. Set strMatchs=re.Execute(strContent)   
  13. For Each strMatch in strMatchs   
  14.     tmpStr1=checkURL(strMatch.SubMatches(0))   
  15.     tmpStr2=strMatch.SubMatches(1)   
  16.     strContent=SRSAttachDownload(strContent,strMatch.Value,tmpStr1,tmpStr2,"")   
  17. Next  
  18.   
  19. re.Pattern = "\[mDown=(download\.asp\?id=)([0-9]*)\](.[^\[]*)\[\/mDown]"  
  20. Set strMatchs=re.Execute(strContent)   
  21. For Each strMatch in strMatchs   
  22.     tmpStr1=checkURL(strMatch.SubMatches(0))   
  23.     tmpStr2=strMatch.SubMatches(1)   
  24.     tmpStr3=strMatch.SubMatches(2)   
  25.     if len(memName)>0 then   
  26.         strContent=SRSAttachDownload(strContent,strMatch.Value,tmpStr1,tmpStr2,tmpStr3)   
  27.      else   
  28.         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)   
  29.     end if   
  30. Next  
  31.   
  32. re.Pattern = "\[mDown\](download\.asp\?id=)([0-9]*)\[\/mDown]"  
  33. Set strMatchs=re.Execute(strContent)   
  34. For Each strMatch in strMatchs   
  35.     tmpStr1=checkURL(strMatch.SubMatches(0))   
  36.     if len(memName)>0 then   
  37.         strContent=SRSAttachDownload(strContent,strMatch.Value,tmpStr1,tmpStr2,"")   
  38.      else   
  39.         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)   
  40.     end if   
  41. Next  

如果你的博客中用以前的方法添加的附件较多,你可以在上面的语句修改完之后,接着再加入

ASP/Visual Basic代码
  1. '=====================兼容以前的附件==================================   
  2.                 re.Pattern = "\[down=attachments\/(.[^\]]*)\](.[^\[]*)\[\/down]"  
  3.                 Set strMatchs=re.Execute(strContent)   
  4.                 For Each strMatch in strMatchs   
  5.                         tmpStr1=checkURL(strMatch.SubMatches(0))   
  6.                         tmpStr2=strMatch.SubMatches(1)   
  7.                         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)   
  8.                 Next                   
  9.                    
  10.                 re.Pattern = "\[down\]attachments\/(.[^\[]*)\[\/down]"  
  11.                 Set strMatchs=re.Execute(strContent)   
  12.                 For Each strMatch in strMatchs   
  13.                         tmpStr1=checkURL(strMatch.SubMatches(0))   
  14.                         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)   
  15.                 Next  
  16.   
  17.                 re.Pattern = "\[mDown=attachments\/(.[^\]]*)\](.[^\[]*)\[\/mDown]"  
  18.                 Set strMatchs=re.Execute(strContent)   
  19.                 For Each strMatch in strMatchs   
  20.                         tmpStr1=checkURL(strMatch.SubMatches(0))   
  21.                         tmpStr2=strMatch.SubMatches(1)   
  22.                         if len(memName)>0 then   
  23.                                 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)   
  24.                          else   
  25.                                 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)   
  26.                         end if   
  27.                 Next  
  28.   
  29.                 re.Pattern = "\[mDown\]attachments\/(.[^\[]*)\[\/mDown]"  
  30.                 Set strMatchs=re.Execute(strContent)   
  31.                 For Each strMatch in strMatchs   
  32.                         tmpStr1=checkURL(strMatch.SubMatches(0))   
  33.                         if len(memName)>0 then   
  34.                                 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)   
  35.                          else   
  36.                                 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)   
  37.                         end if   
  38.                 Next  
  39. '=====================兼容以前的附件==================================  

以上语句主要是对你博客中原来的附件地址的识别,以前添加的附件是没有防盗链的。注意上面的attachments是你博客附件文件所在的文件夹名称,如果你的博客附件的文件夹是其他的名称,做相应的替换即可

5.common/common.js
找到

JavaScript代码
  1. function addUploadItem(type,path,memberDown)  

修改为:

JavaScript代码
  1. function addUploadItem(type,path,memberDown,autoico,IsShowInfo,IsUpdateNow)  

然后,把这个函数最后部分

JavaScript代码
  1. default :   
  2. if (EditType=="UBBEditor"){   
  3. if (memberDown==1)   
  4.          {parent.document.forms[0].Message.value+='[mDown='+path+']点击下载此文件[/mDown]\n'}   
  5.  else  
  6.          {parent.document.forms[0].Message.value+='[down='+path+']点击下载此文件[/down]\n'}   
  7. }   
  8. else{oEditor.InsertHtml('<a href="'+path+'"><img border="0" src="../../images/download.gif" alt="" style="margin:0px 2px -4px 0px"/>点击下载此文件</a>')}   
  9. break;  
替换为:
JavaScript代码
  1. default :   
  2. if (EditType=="UBBEditor"){   
  3.                 if (memberDown==1){   
  4.                         parent.document.forms[0].Message.value+='[mDown='+path+']点击下载此文件[/mDown]\n'  
  5.                 }else{   
  6.                         parent.document.forms[0].Message.value+='[down='+path+']点击下载此文件[/down]\n'  
  7.                 }   
  8. }else{   
  9.                 //'========= Kan 2008-11-04 插件:附近管理 增加对FCK的支持 Start =========   
  10.                 var srs_att = path.split("=");   
  11.                 var srs_att_no = srs_att.length;   
  12.                 var srs_att_ico = "download.gif";   
  13.                 var srs_att_icotype = "|jpg|gif|bmp|png|zip|rar|swf|mdb|doc|xls|pdf|mbk|mp3|wmv|wma|";   
  14.                 if (autoico==1){   
  15.                         if ( srs_att_icotype.indexOf("|"+type+"|") > -1 ){   
  16.                                 srs_att_ico= type+".gif"  
  17.                         }else{   
  18.                                 srs_att_ico="unknow.gif"  
  19.                         }   
  20.                    srs_att_ico="file/"+srs_att_ico   
  21.                 }   
  22.                 var srs_att_InsertHtml = '<a href="'+path+'" target="_blank" title="点击下载此文件" '  
  23.                 if (IsUpdateNow==1){  
  24.                         srs_att_InsertHtml=srs_att_InsertHtml+'onclick="setTimeout(function(){getSRSAttach('+ srs_att[srs_att_no-1] + ')},3000);" '  
  25.                 }  
  26.                 srs_att_InsertHtml=srs_att_InsertHtml+'><img border="0" src="../../images/'+srs_att_ico+'" alt="点击下载" style="margin:0px 2px -4px 0px"/>点击下载此文件</a>'  
  27.                 if (IsShowInfo==1){  
  28.                         srs_att_InsertHtml=srs_att_InsertHtml+' <label id="SRSAttachCount'+srs_att[srs_att_no-1]+'">[附件信息Loading...]</label><script type="text/javascript">getSRSAttach('+srs_att[srs_att_no-1]+')</script>'  
  29.                 }  
  30.                 oEditor.InsertHtml(srs_att_InsertHtml)  
  31.         }  
  32.                 //'========= Kan 2008-03-24 插件:附近管理 增加对FCK的支持 End =========   
  33. break;  

好了,代码的修改到这里就完成了。

提醒一下,修改前先做好备份啊!

哦,还有,在压缩包中的SRSA_update.asp文件时数据库升级文件,用于由附件管理3.0升级到4.0的,如果以前没应用过附件管理插件,这个文件可以删除。
 




[本日志由 夜空寂灭 于 2009-03-01 12:00 AM 编辑]

文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags: SRS 附件 管理 插件 PJBLOG
相关日志:
评论: 10 | 引用: 0 | 查看次数: 849
回复回复路人BH5689型[2009-04-22 03:04 PM | 辽宁省大连市 网通 | 成分分析 | del]
为什么无法使用仅会员下载 不登陆也可以下载。。
可能是哪里出问题了?
回复来自 夜空寂灭 的评论 夜空寂灭 于 2009-06-14 10:17 PM 回复
版本问题,检查发现,PJ3已经使用了Ajax检查是否已登录,所以会出现这个问题
如果要修改,则需修改地方太多,而且现在已经推出了官方版本的附近管理,可以试试
回复回复路人CI4809型[2009-03-10 12:48 AM | 安徽省宿州市 网通 | 成分分析 | del]
strContent=SRSAttachDownload(strContent,strMatch.Value,tmpStr1,tmpStr2,tmpStr3)
错误提示:
Microsoft VBScript runtime ���� '800a01f4'

Variable is undefined: 'SRSAttachDownload'

/blog/common/ubbcode.asp���� 222

回复来自 夜空寂灭 的评论 夜空寂灭 于 2009-04-28 01:38 PM 回复
缺少函数,可在plugins.asp文件找到
回复回复simjet[2009-02-19 00:45 AM | 福建省福州市 电信 | 成分分析 | del]
我看了 不会
能帮我找一下吗
回复回复夜空寂灭[2009-02-18 02:16 PM | 广东省东莞市 电信 | 成分分析 | del]
引用来自 simjet 引用来自 simjet
之前手机登陆的问题解决了
再问一下 静态要怎么弄这个插件 不支持静态啊

静态也是一样,缺少了一些函数,只要在静态的模版页面加上就可以了,好像是static.htm
添加的js函数可以在plugins.asp里找到
回复回复simjet[2009-02-18 01:21 PM | 福建省福州市 电信 | 成分分析 | del]
之前手机登陆的问题解决了

再问一下 静态要怎么弄这个插件 不支持静态啊
回复回复夜空寂灭[2009-02-11 01:25 PM | 广东省东莞市 电信 | 成分分析 | del]
引用来自 路人OB3708型 引用来自 路人OB3708型
安装后 WAP访问出错 能不能解决一下
我只想要下载次数统计和文件大小 能不能帮个忙?
www.simjet.net

可能缺少一些js函数吧,可以自行检查一下WAP访问页面是否有导入plugins.asp文件
回复回复路人OB3708型[2009-02-11 12:55 AM | 福建省厦门市 电信 | 成分分析 | del]
安装后 WAP访问出错 能不能解决一下

我只想要下载次数统计和文件大小 能不能帮个忙?

www.simjet.net
回复回复路人ZE7914型[2008-12-26 02:58 PM | 福建省福州市 电信 | 成分分析 | del]
这个我要 谢谢
回复回复夜空寂灭[2008-11-21 09:11 PM | 广东省东莞市 电信 | 成分分析 | del]
引用来自 倾城之恋 引用来自 倾城之恋
为什么我上传附件的时候无法自动插入呢。。。论坛已经提交过问题。。麻烦看看

要修改的地方漏了一个……现在补上了,在第五步common/common.js处
回复回复倾城之恋[2008-11-17 02:15 PM | 湖北省武汉市 网通 | 成分分析 | del]
为什么我上传附件的时候无法自动插入呢。。。论坛已经提交过问题。。麻烦看看
发表评论
昵 称:
密 码: 游客发言不需要密码.
内 容:
验证码: = 6 + 8
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.
字数限制 1000 字 | UBB代码 开启 | [img]标签 关闭