browse.asp
上传用户:mtjhgs
上传日期:2021-12-08
资源大小:3755k
文件大小:9k
源码类别:

WEB源码(ASP,PHP,...)

开发平台:

HTML/CSS

  1. <% Option Explicit %>
  2. <%
  3. '######################################
  4. ' eWebEditor v4.80 - Advanced online web based WYSIWYG HTML editor.
  5. ' Copyright (c) 2003-2007 eWebSoft.com
  6. '
  7. ' For further information go to http://www.ewebsoft.com/
  8. ' This copyright notice MUST stay intact for use.
  9. '######################################
  10. Session("eWebEditor_Original_CodePage") = Session.CodePage
  11. Session.CodePage = 65001
  12. %>
  13. <!--#include file="config.asp"-->
  14. <%
  15. Server.ScriptTimeOut = 1800
  16. Dim sType, sStyleName, sCusDir, sAction
  17. Dim nTreeIndex
  18. Dim sAllowExt, sUploadDir, sBaseUrl, sUploadContentPath, nAllowBrowse, nCusDirFlag
  19. Call InitParam()
  20. sAction = UCase(Trim(Request.QueryString("action")))
  21. Select Case sAction
  22. Case "FILE"
  23. Call OutScript(GetFileList())
  24. Case Else
  25. sAction = "FOLDER"
  26. Call OutScript(GetFolderList())
  27. End Select
  28. Session.CodePage = Session("eWebEditor_Original_CodePage")
  29. Function GetFileList()
  30. Dim s_ReturnFlag, s_FolderType, s_Dir
  31. Dim s_CurrDir
  32. s_ReturnFlag = Trim(Request.QueryString("returnflag"))
  33. s_FolderType = Trim(Request.QueryString("foldertype"))
  34. s_Dir = Trim(Request("dir"))
  35. Select Case s_FolderType
  36. Case "upload"
  37. s_CurrDir = sUploadDir
  38. Case "shareimage"
  39. sAllowExt = ""
  40. s_CurrDir = "../sharefile/image/"
  41. Case "shareflash"
  42. sAllowExt = ""
  43. s_CurrDir = "../sharefile/flash/"
  44. Case "sharemedia"
  45. sAllowExt = ""
  46. s_CurrDir = "../sharefile/media/"
  47. Case Else
  48. s_FolderType = "shareother"
  49. sAllowExt = ""
  50. s_CurrDir = "../sharefile/other/"
  51. End Select
  52. s_Dir = Replace(s_Dir, "", "/")
  53. s_Dir = Replace(s_Dir, "../", "")
  54. s_Dir = Replace(s_Dir, "./", "")
  55. If s_Dir <> "" Then
  56. If CheckValidDir(Server.Mappath(s_CurrDir & s_Dir)) = True Then
  57. s_CurrDir = s_CurrDir & s_Dir
  58. Else
  59. s_Dir = ""
  60. End If
  61. End If
  62. If CheckValidDir(Server.Mappath(s_CurrDir)) = False Then
  63. GetFileList = "var arr = new Array();" & VbCrlf & "parent.setFileList('" & s_ReturnFlag & "', '" & s_FolderType & "', '" & s_Dir & "', arr);"
  64. Exit Function
  65. End If
  66. Dim s_List, i
  67. Dim o_FSO, o_Folder, o_Files, o_File, s_FileName
  68. On Error Resume Next
  69. Set o_FSO = Server.CreateObject("Scripting.FileSystemObject")
  70. Set o_Folder = o_FSO.GetFolder(Server.MapPath(s_CurrDir))
  71. If Err.Number>0 Then
  72. GetFileList = "var arr = new Array();" & VbCrlf & "parent.setFileList('" & s_ReturnFlag & "', '" & s_FolderType & "', '" & s_Dir & "', arr);"
  73. Exit Function
  74. End If
  75. Set o_Files = o_Folder.Files
  76. i = -1
  77. s_List = ""
  78. For Each o_File In o_Files
  79. s_FileName = o_File.Name
  80. If CheckValidExt(s_FileName) = True Then
  81. i = i + 1
  82. s_List = s_List & "arr[" & i & "]=new Array(""" & s_FileName & """, """ & GetSizeUnit(o_File.size) & """,""" & FormatTime(o_File.DateLastModified, 1) & """);" & VbCrlf
  83. End If
  84. Next
  85. Set o_Folder = Nothing
  86. Set o_Files = Nothing
  87. Set o_FSO = Nothing
  88. s_List = "var arr = new Array();" & VbCrlf & s_List & "parent.setFileList('" & s_ReturnFlag & "', '" & s_FolderType & "', '" & s_Dir & "', arr);"
  89. GetFileList = s_List
  90. End Function
  91. Function GetFolderList()
  92. Dim s_List
  93. s_List = ""
  94. s_List = "var arrUpload = new Array();" & VbCrlf
  95. s_List = s_List & "var arrShareImage = new Array();" & VbCrlf
  96. s_List = s_List & "var arrShareFlash = new Array();" & VbCrlf
  97. s_List = s_List & "var arrShareMedia = new Array();" & VbCrlf
  98. s_List = s_List & "var arrShareOther = new Array();" & VbCrlf
  99. nTreeIndex = 0
  100. s_List = s_List & GetFolderTree(sUploadDir, "Upload", 1)
  101. sAllowExt = ""
  102. Select Case sType
  103. Case "FILE"
  104. nTreeIndex = 0
  105. s_List = s_List & GetFolderTree("../sharefile/image/", "ShareImage", 1)
  106. nTreeIndex = 0
  107. s_List = s_List & GetFolderTree("../sharefile/flash/", "ShareFlash", 1)
  108. nTreeIndex = 0
  109. s_List = s_List & GetFolderTree("../sharefile/media/", "ShareMedia", 1)
  110. nTreeIndex = 0
  111. s_List = s_List & GetFolderTree("../sharefile/other/", "ShareOther", 1)
  112. Case "MEDIA"
  113. nTreeIndex = 0
  114. s_List = s_List & GetFolderTree("../sharefile/media/", "ShareMedia", 1)
  115. Case "FLASH"
  116. nTreeIndex = 0
  117. s_List = s_List & GetFolderTree("../sharefile/flash/", "ShareFlash", 1)
  118. Case Else
  119. nTreeIndex = 0
  120. s_List = s_List & GetFolderTree("../sharefile/image/", "ShareImage", 1)
  121. End Select
  122. s_List = s_List & "parent.setFolderList(arrUpload, arrShareImage, arrShareFlash, arrShareMedia, arrShareOther);"
  123. GetFolderList = s_List
  124. End Function
  125. Function GetFolderTree(s_Dir, s_Flag, n_Indent)
  126. Dim o_FSO, o_Folder, o_SubFolder
  127. Err.Clear
  128. On Error Resume Next
  129. Set o_FSO = Server.CreateObject("Scripting.FileSystemObject")
  130. Set o_Folder = o_FSO.GetFolder(Server.MapPath(s_Dir))
  131. If Err.Number>0 Then
  132. GetFolderTree = ""
  133. Exit Function
  134. End If
  135. Dim s_List, s_Folder, i, n_Count, s_LastFlag
  136. s_List = ""
  137. i = 0
  138. n_Count = o_Folder.SubFolders.Count
  139. For Each o_SubFolder In o_Folder.SubFolders
  140. i = i + 1
  141. If i < n_Count Then
  142. s_LastFlag = "0"
  143. Else
  144. s_LastFlag = "1"
  145. End If
  146. s_Folder = o_SubFolder.Name
  147. s_List = s_List & "arr" & s_Flag & "[" & nTreeIndex & "]=new Array(""" & s_Folder & """," & n_Indent & ", " & s_LastFlag & ");" & VbCrlf
  148. nTreeIndex = nTreeIndex + 1
  149. s_List = s_List & GetFolderTree(s_Dir & s_Folder & "/", s_Flag, n_Indent+1)
  150. Next
  151. Set o_Folder = Nothing
  152. Set o_FSO = Nothing
  153. GetFolderTree = s_List
  154. End Function
  155. Sub OutScript(str)
  156. Response.Write "<HTML><HEAD><meta http-equiv='Content-Type' content='text/html; charset=utf-8'><TITLE>eWebEditor</TITLE></head><body>"
  157. Response.Write "<script language=javascript>" & str & "</script>"
  158. Response.Write "</body></html>"
  159. Session.CodePage = Session("eWebEditor_Original_CodePage")
  160. Response.End
  161. End Sub
  162. Function CheckValidExt(s_FileName)
  163. If sAllowExt = "" Then
  164. CheckValidExt = True
  165. Exit Function
  166. End If
  167. Dim i, aExt, sExt
  168. sExt = LCase(Mid(s_FileName, InStrRev(s_FileName, ".") + 1))
  169. CheckValidExt = False
  170. aExt = Split(LCase(sAllowExt), "|")
  171. For i = 0 To UBound(aExt)
  172. If aExt(i) = sExt Then
  173. CheckValidExt = True
  174. Exit Function
  175. End If
  176. Next
  177. End Function
  178. Sub InitParam()
  179. sType = UCase(Trim(Request.QueryString("type")))
  180. sStyleName = Trim(Request.QueryString("style"))
  181. sCusDir = Trim(Request.QueryString("cusdir"))
  182. Dim i, aStyleConfig, bValidStyle
  183. bValidStyle = False
  184. For i = 1 To Ubound(aStyle)
  185. aStyleConfig = Split(aStyle(i), "|||")
  186. If Lcase(sStyleName) = Lcase(aStyleConfig(0)) Then
  187. bValidStyle = True
  188. Exit For
  189. End If
  190. Next
  191. If bValidStyle = False Then
  192. OutScript("alert('Invalid Style.')")
  193. End If
  194. sBaseUrl = aStyleConfig(19)
  195. nAllowBrowse = CLng(aStyleConfig(43))
  196. nCusDirFlag = Clng(aStyleConfig(61))
  197. If nAllowBrowse <> 1 Then
  198. OutScript("alert('Do not allow browse!')")
  199. End If
  200. If nCusDirFlag <> 1 Then
  201. sCusDir = ""
  202. Else
  203. sCusDir = Replace(sCusDir, "", "/")
  204. If Left(sCusDir, 1) = "/" Or Left(sCusDir, 1) = "." Or Right(sCusDir, 1) = "." Or InStr(sCusDir, "./") > 0 Or InStr(sCusDir, "/.") > 0 Or InStr(sCusDir, "//") > 0 Then
  205. sCusDir = ""
  206. Else
  207. If Right(sCusDir, 1) <> "/" Then
  208. sCusDir = sCusDir & "/"
  209. End If
  210. End If
  211. End If
  212. sUploadDir = aStyleConfig(3)
  213. If Left(sUploadDir, 1) <> "/" Then
  214. sUploadDir = "../" & sUploadDir
  215. End If
  216. sUploadDir = sUploadDir & sCusDir
  217. Select Case sType
  218. Case "FILE"
  219. sAllowExt = ""
  220. Case "MEDIA"
  221. sAllowExt = "rm|mp3|wav|mid|midi|ra|avi|mpg|mpeg|asf|asx|wma|mov"
  222. Case "FLASH"
  223. sAllowExt = "swf"
  224. Case Else
  225. sAllowExt = "bmp|jpg|jpeg|png|gif"
  226. End Select
  227. End Sub
  228. Function CheckValidDir(s_Dir)
  229. Dim oFSO
  230. Set oFSO = Server.CreateObject("Scripting.FileSystemObject")
  231. CheckValidDir = oFSO.FolderExists(s_Dir)
  232. Set oFSO = Nothing
  233. End Function
  234. Function GetSizeUnit(n_Size)
  235. GetSizeUnit = FormatNumber((n_Size / 1024), 2, -1, 0, 0) & " KB"
  236. End Function
  237. Function FormatTime(s_Time, n_Flag)
  238. Dim y, m, d, h, mi, s
  239. FormatTime = ""
  240. If IsDate(s_Time) = False Then Exit Function
  241. y = cstr(year(s_Time))
  242. m = cstr(month(s_Time))
  243. If len(m) = 1 Then m = "0" & m
  244. d = cstr(day(s_Time))
  245. If len(d) = 1 Then d = "0" & d
  246. h = cstr(hour(s_Time))
  247. If len(h) = 1 Then h = "0" & h
  248. mi = cstr(minute(s_Time))
  249. If len(mi) = 1 Then mi = "0" & mi
  250. s = cstr(second(s_Time))
  251. If len(s) = 1 Then s = "0" & s
  252. Select Case n_Flag
  253. Case 1
  254. ' yyyy-mm-dd hh:mm:ss
  255. FormatTime = y & "-" & m & "-" & d & " " & h & ":" & mi & ":" & s
  256. Case 2
  257. ' yyyy-mm-dd
  258. FormatTime = y & "-" & m & "-" & d
  259. Case 3
  260. ' hh:mm:ss
  261. FormatTime = h & ":" & mi & ":" & s
  262. Case 4
  263. ' yyyymmdd
  264. FormatTime = y & m & d
  265. Case 5
  266. ' yyyymmddhhmmss
  267. FormatTime = y & m & d & h & mi & s
  268. End Select
  269. End Function
  270. %>