蓝雨论坛上传附件显示详细信息for Dvbbs8.0.0
<p>插件名称:上传附件显示详细信息for Dvbbs8.0.0<br/>插件版本:2.0<br/>修改: 168168<br/>修改时间:2007.06.19<br/>特别提示:本修改在动网论坛8.0.0正式版 ACC版本程序测试通过,修改前请先备份,出错别怪哦,呵呵<br/>根据原1.11版本修改原插件作者:老庙黄金</p><p><br/>主要功能:</p><p><br/>1、单贴间多个下载文件单独记录下载次数并显示文件名<br/>2、显示原来上传时的文件名,而不是变成序号的文件名(不影响保密功能)<br/>3、可以查看下载者的功能<br/>4、文件长度显示,该Byte就Byte,该KByte就KByte,该MByte就MByte<br/>5、无论上传文件后系统加了什么样的后缀序号(其实是用于防盗和防止文件重名的),下载时都会只显示原来的文件名,不会出现后边的一长</p><p>串序号(这个功能要在系统开启了防盗功能才有效)<br/>6、上传图片时不进行原文件名的处理</p><p></p><p>安装办法:</p><p><br/>一、将压缩包中的z_Upload.asp上传至论坛根目录</p><p></p><p>二、修改inc/dv_ubbcode.asp:</p><p><br/>修改inc/dv_ubbcode.asp:</p><p>1、在第一行之前添加:<br/> <!--#include file=\"../z_Upload.asp\"--><br/>2、41行找到 Public Re,reed,isgetreed,Board_Setting,WapPushUrl,xml,isxhtml<br/> 增加一个新变量定义abgcolor<br/>Public Re,reed,isgetreed,Board_Setting,WapPushUrl,xml,isxhtml,abgcolor<br/><br/>164-168行 找到<br/>Dim textonly<br/>textonly=istext(s)<br/>If textonly Then <br/>re.Pattern=\"<\"<br/>s= re.Replace(s,\"<\")</p><p>下边添加<br/> <br/><br/>Else<br/>re.Pattern=\">\"& Chr(13) &Chr(10) &\"<\"<br/>Do While re.Test(s)<br/>s= re.Replace(s,\"><\")<br/>Loop<br/>re.Pattern=\">\"& Chr(10) &\"<\"<br/>Do While re.Test(s)<br/>s= re.Replace(s,\"><\")<br/>Loop<br/>re.Pattern=\">\"& Chr(13) &\"<\"<br/>Do While re.Test(s)<br/>s= re.Replace(s,\"><\")<br/>Loop</p><p></p><p>End If<br/>re.Pattern=\"(<s+cript(.[^>]*)>)\"<br/>s=re.Replace(s,\"<Script$2>\")<br/>re.Pattern=\"(<\\/s+cript>)\"<br/>s=re.Replace(s,\"</Script>\")<br/>re.Pattern=\"<\\/p>\\x0d?\\x0a<p>\" <br/>s= re.Replace(s,\"<p></p>\")<br/>re.Pattern=\"([^\\x0d])\\x0a((?!<td|<tr))\"<br/>s= re.Replace(s,\"$1<br>$2\")<br/>re.Pattern=\"\\x0d\\x0a([^\\x0d]*)\" <br/>s= re.Replace(s,\"<p>$1</p>\")<br/>re.Pattern=\"(<body(.[^>]*)>)\"<br/>s=re.Replace(s,\"<body>\")<br/>re.Pattern=\"(<\\!(.[^>]*)>)\"<br/>s=re.Replace(s,\"<$2>\")<br/>re.Pattern=\"(<\\!)\"<br/>s=re.Replace(s,\"<!\")<br/>re.Pattern=\"(-->)\"<br/>s=re.Replace(s,\"-->\")<br/>re.Pattern=\"(javascript:)\"<br/>s=re.Replace(s,\"<i>javascript</i>:\")<br/>re.Pattern=\"(<br>\\s*){10,}\"<br/>s=re.Replace(s,\"<br>\")<br/>If Board_Setting(5)=\"0\" Then<br/>re.Pattern =\"<(\\/?(i|b|p))>\"<br/>s=re.Replace(s,Chr(1)&\"$1\"&Chr(2))<br/>re.Pattern=\"(>)(\"&vbNewLine&\"){1,2}(<)\"<br/>s=re.Replace(s,\"$1$3\")<br/>\'re.Global=False<br/>re.Pattern=\"(<div class=quote>)((.|\\n)*?)(<\\/div>)\"<br/>Do While re.Test(s)<br/>s=re.Replace(s,\" </p><div class=\"msgheader\">QUOTE:</div><div class=\"msgborder\">$2</div>\")<br/>Loop<br/>\'re.Global=True<br/>re.Pattern = \"(<\\/tr>)\"<br/>s = re.Replace(s,\"<br/>\")<br/>re.Pattern = \"(<br>)\"<br/>s = re.Replace(s,\"<br/>\")<br/>re.Pattern = \"<(\\/?s(ub|up|trike))>\"<br/>s = re.Replace(s,\"[$1]\")<br/>re.Pattern = \"(<)(\\/?font[^>]*)(>)\"<br/>s = re.Replace(s,CHR(1)&\"$2\"&CHR(2))<br/>re.Pattern=\"<([^<>]*?)>\"<br/>Do while re.Test(s)<br/>s=re.Replace(s,\"\")<br/>Loop<br/>re.Pattern = \"(\\x01)(\\/?font[^\\x02]*)(\\x02)\"<br/>s = re.Replace(s,\"<$2>\")<br/>re.Pattern = \"\\[(\\/?s(ub|up|trike))\\]\"<br/>s = re.Replace(s,\"<$1>\")<br/>\'re.Global=False<br/>re.Pattern=\"(\\)((.|\\n)*?)(\\[\\/quote\\])\"<br/>Do While re.Test(s)<br/>s=re.Replace(s,\"<div class=quote>$2</div>\")<br/>Loop<br/>\'re.Global=True<br/>re.Pattern=\"\\x01(\\/?(i|b|p))\\x02\"<br/>s=re.Replace(s,\"<$1>\")<br/>re.Pattern = \"(\\)\"<br/>s = re.Replace(s,\"<br>\")<br/><br/>If PostType=1 Then<br/>re.Pattern=\",39,\"<br/>\'If re.Test(Ubblists&\"\") Then<br/>If Dv_FilterJS(s) Then<br/>re.Pattern=\"\\[(br)\\]\"<br/>s=re.Replace(s,\"<$1>\")<br/>re.Pattern = \"(<br>)\"<br/>s = re.Replace(s,vbNewLine)<br/>re.Pattern = \"(<p>)\"<br/>s = re.Replace(s,\"\")<br/>re.Pattern = \"(<\\/p>)\"<br/>s = re.Replace(s,vbNewLine)<br/>s=server.htmlencode(s)<br/>s=\"<form name=\"\"scode\"&replyid&\"\"\" method=\"\"post\"\" action=\"\"\"\"><table <p></p><p>class=tableborder2 cellSpacing=1 cellPadding=3 width=\"\"100%\"\" align=center border=\"\"0\"\"><TR><TH height=22>以下内容含脚本,或可</p><p>能导致页面不正常的代码</TH></TR><TR><TD class=tablebody1 align=\"\"middle\"\" width=\"\"98%\"\"><TEXTAREA id=CodeText style=\"\"BORDER</p><p>-RIGHT: 1px dotted; BORDER-TOP: 1px dotted; OVERFLOW-Y: visible; OVERFLOW: visible; BORDER-LEFT: 1px dotted; WIDTH: 98%; </p><p>COLOR: #000000; BORDER-BOTTOM: 1px dotted\"\" rows=20 cols=120>\"&s&\"</TEXTAREA></TD></TR><TR><TD class=tablebody2 </p><p>align=\"\"middle\"\" width=\"\"98%\"\"><b>说明:</b>上面显示的是代码内容。您可以先检查过代码没问题,或修改之后再运</p><p>行.</td></tr><TR><TD class=tablebody1 align=\"\"middle\"\" width=\"\"98%\"\"><input type=\"\"button\"\" name=\"\"run\"\" value=\"\"运行代码\"\" </p><p>onclick=\"\"Dvbbs_ViewCode(\"&replyid&\");\"\"></TD></TR></table></form>\"<br/>s = Replace(s, vbNewLine, \"\")<br/>s = Replace(s, CHR(10), \"\")<br/>s = Replace(s, CHR(13), \"\")<br/>Dv_UbbCode=s<br/>Exit Function<br/>End If<br/>\'End If<br/>End If<br/>re.Pattern=\"<((asp|\\!|%))\"<br/>s=re.Replace(s,\"<$1\")</p><p><br/>3、1027找到<br/>re.Pattern=\"\\]*)\\]viewFile\\.asp\\?id=(*)\\x01\\/UPLOAD\\]\"</p><p>,修改为: <br/> s=Dv_UbbCode_Upload(s,PostUserGroup,Flag,MaxLoopCount,abgcolor)<br/></p><p>三、修改inc/Upload_Class.asp:</p><p></p><p>1、368行找到:<br/>Private Function FormatName(Byval FileExt,Byval FileName)</p><p>改为:<br/> Private Function FormatName(Byval FileExt, Byval FileType, Byval OrigFileName)</p><p><br/>2、376行找到:<br/> TempStr = Year(now) & Month(now) & Day(now) & Hour(now) & Minute(now) & Second(now) & RanNum & \".\" & FileExt<br/>下边添加:<br/> If FileType=1 Or FileType=2 Then<br/> Else<br/> TempStr = OrigFileName & \"___\" & TempStr<br/> End If</p><p>3、找到(一共四处都要改):546-547行 621-622行 690-691行 766-767行<br/>FileName = FormatName(FileExt,File.FileName)<br/>FileType = CheckFiletype(FileExt)</p><p><br/>改为:<br/> FileType = CheckFiletype(FileExt)<br/> FileName = FormatName(FileExt, FileType, Replace(File.FileName,Chr(0),\"\"))</p><p><br/>四、修改viewfile.asp:</p><p><br/>1、找到:<br/> 109-122行 If Dvbbs.Forum_Setting(75)=\"0\" Then<br/>Dvbbs.Execute(\"Update dv_upfile Set F_DownNum=F_DownNum+1 Where F_ID=\"&DownID)<br/>If Rs(\"F_OldName\") = \"\" Or IsNull(Rs(\"F_OldName\")) Then<br/>Response.Redirect uploadpath&rs(\"F_filename\")<br/>Else<br/>downloadFile Server.MapPath(uploadpath&rs(\"F_filename\")),Rs(\"F_OldName\")<br/>End If<br/>Else<br/>filename=Replace(rs(\"F_filename\"),\"..\",\"\")&\"\"<br/>If Request.ServerVariables(\"HTTP_REFERER\")=\"\" Or InStr(Request.ServerVariables</p><p>(\"HTTP_REFERER\"),Request.ServerVariables(\"SERVER_NAME\"))=0 Or filename=\"\" Then<br/>Response.Redirect \"index.asp\"<br/>Else<br/>downloadFile Server.MapPath(Dvbbs.Forum_Setting(76)&filename),Rs(\"F_OldName\")<br/>End If</p><p></p><p><br/>改为:<br/>If Dvbbs.Forum_Setting(75)=\"0\" Then<br/>If Dvbbs.UserID<>0 Then<br/>Call UpdateDownUser(rs(\"f_downuser\"),Dvbbs.MemberName)<br/>Else<br/>Dvbbs.Execute(\"Update dv_upfile Set F_DownNum=F_DownNum+1 Where F_ID=\"&DownID)<br/><br/>End If<br/>Response.Redirect uploadpath&rs(\"F_filename\")<br/>Else<br/>filename=Replace(rs(\"F_filename\"),\"..\",\"\")&\"\"<br/>If Request.ServerVariables(\"HTTP_REFERER\")=\"\" Or InStr(Request.ServerVariables</p><p>(\"HTTP_REFERER\"),Request.ServerVariables(\"SERVER_NAME\"))=0 Or filename=\"\" Then<br/>Response.Redirect \"index.asp\"<br/>Else<br/>If Dvbbs.UserID<>0 Then<br/>Call UpdateDownUser(rs(\"f_downuser\"),Dvbbs.MemberName)<br/>Else<br/>Dvbbs.Execute(\"Update dv_upfile Set F_DownNum=F_DownNum+1 Where F_ID=\"&DownID)<br/><br/>End If<br/><br/>Call downloadFile(Server.MapPath(Dvbbs.Forum_Setting(76)&filename))<br/>End If</p><p></p><p>2、找到:129-163行<br/> Sub downloadFile(strFile,FileOldName)<br/>On error resume next<br/>Server.ScriptTimeOut=999999<br/>Dim S,fso,f,intFilelength,strFilename,DownFileName<br/>strFilename = strFile<br/>Response.Clear<br/>Set s = Server.CreateObject(\"ADODB.Stream\") <br/>s.Open<br/>s.Type = 1 <br/>Set fso = Server.CreateObject(\"Scripting.FileSystemObject\") <br/>If Not fso.FileExists(strFilename) Then<br/>Response.Write(\"<h1>错误: </h1><br>系统找不到指定文件\")<br/>Exit Sub<br/>End If<br/>Set f = fso.GetFile(strFilename)<br/>intFilelength = f.size<br/>s.LoadFromFile(strFilename)<br/>If err Then<br/>Response.Write(\"<h1>错误: </h1>\" & err.Description & \"<p>\")<br/>Response.End <br/>End If<br/>Set fso=Nothing<br/>Dim Data<br/>Data=s.Read<br/>s.Close<br/>Set s=Nothing<br/>If FileOldName=\"\" Or IsNull(FileOldName) Then DownFileName=f.name Else DownFileName=FileOldName<br/>If Response.IsClientConnected Then <br/>Response.AddHeader \"Content-Disposition\", \"attachment; filename=\" & DownFileName<br/>Response.AddHeader \"Content-Length\", intFilelength <br/>Response.CharSet = \"UTF-8\" <br/>Response.ContentType = \"application/octet-stream\"<br/>Response.BinaryWrite Data<br/>Response.Flush<br/>End If</p><p>改为:<br/> Sub downloadFile(strFile)<br/>On error resume next<br/>Server.ScriptTimeOut=999999<br/>Dim S,fso,f,intFilelength,strFilename<br/>strFilename = strFile<br/>Response.Clear<br/>Set s = Server.CreateObject(\"ADODB.Stream\") <br/>s.Open<br/>s.Type = 1 <br/>Set fso = Server.CreateObject(\"Scripting.FileSystemObject\") <br/>If Not fso.FileExists(strFilename) Then<br/>Response.Write(\"<h1>错误: </h1><br>系统找不到指定文件\")<br/>Exit Sub<br/>End If<br/>Set f = fso.GetFile(strFilename)<br/>intFilelength = f.size<br/>s.LoadFromFile(strFilename)<br/>If err Then<br/> Response.Write(\"<h1>错误: </h1>\" & err.Description & \"<p>\")<br/>Response.End <br/>End If<br/>Set fso=Nothing<br/>Dim Data<br/>Data=s.Read<br/>s.Close<br/>Set s=Nothing<br/>If Response.IsClientConnected Then <br/>Dim TruePos<br/>Dim TrueFileName<br/><br/>TruePos=InStrRev(f.name,\"___\")<br/>If TruePos>0 Then<br/>TrueFileName=Left(f.name,TruePos-1)<br/>Else<br/>TrueFileName=f.name<br/>End If<br/>TruePos=InStrRev(TrueFileName,\"/\")<br/>If TruePos>0 Then<br/>TrueFileName=Right(TrueFileName,Len(TrueFileName)-TruePos)<br/>End If<br/>Response.AddHeader \"Content-Disposition\", \"attachment; filename=\" & TrueFileName<br/>Response.AddHeader \"Content-Length\", intFilelength <br/>Response.CharSet = \"UTF-8\" <br/>Response.ContentType = \"application/octet-stream\"<br/>Response.BinaryWrite Data<br/>Response.Flush<br/>End If<br/>End Sub<br/>Sub UpdateDownUser(DownUser,UserName)<br/>If Not Instr(1,\"|\"&DownUser&\"|\",\"|\"&UserName&\"|\")>0 Then<br/>If IsNull(DownUser) Or DownUser=\"\" Then<br/>Dvbbs.Execute(\"Update dv_upfile Set F_DownNum=F_DownNum+1,F_DownUser=\'\"&UserName&\"\' </p><p>Where F_ID=\"&DownID)<br/>Else<br/>Dvbbs.Execute(\"Update dv_upfile Set </p><p>F_DownNum=F_DownNum+1,F_DownUser=\'\"&DownUser&\"|\"&UserName&\"\' Where F_ID=\"&DownID)<br/>End If<br/>End If</p><p></p><p><br/>3、在文件最后End If<br/>End Sub<br/>%><br/>之前添加:<br/>Sub UpdateDownUser(DownUser,UserName)<br/>If Not Instr(1,\"|\"&DownUser&\"|\",\"|\"&UserName&\"|\")>0 Then<br/>If IsNull(DownUser) Or DownUser=\"\" Then<br/>Dvbbs.Execute(\"Update dv_upfile Set F_DownNum=F_DownNum+1,F_DownUser=\'\"&UserName&\"\' </p><p>Where F_ID=\"&DownID)<br/>Else<br/>Dvbbs.Execute(\"Update dv_upfile Set </p><p>F_DownNum=F_DownNum+1,F_DownUser=\'\"&DownUser&\"|\"&UserName&\"\' Where F_ID=\"&DownID)<br/>End If<br/>End If<br/>End Sub</p><p></p><p>五、修改Dispbbs.asp</p><p></p><p>14行找到:\"Dim PostBuyUser,abgcolor,bgcolor,UserName,PostUserName\",后面增加一个新变量定义pUserName</p><p> Dim PostBuyUser,abgcolor,bgcolor,UserName,PostUserName,pUserName</p><p></p><p><br/>六、修改post.asp<br/>11行找到\"Dim MyPost,UserName\",后面增加一个新变量定义pusername</p><p>Dim MyPost,UserName,pusername</p><p></p>**** Hidden Message *****
页:
[1]