commands.asp
上传用户:ah_jiwei
上传日期:2022-07-24
资源大小:54044k
文件大小:6k
源码类别:

数据库编程

开发平台:

Visual C++

  1. <%
  2.  ' FCKeditor - The text editor for Internet - http://www.fckeditor.net
  3.  ' Copyright (C) 2003-2007 Frederico Caldeira Knabben
  4.  '
  5.  ' == BEGIN LICENSE ==
  6.  '
  7.  ' Licensed under the terms of any of the following licenses at your
  8.  ' choice:
  9.  '
  10.  '  - GNU General Public License Version 2 or later (the "GPL")
  11.  '    http://www.gnu.org/licenses/gpl.html
  12.  '
  13.  '  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
  14.  '    http://www.gnu.org/licenses/lgpl.html
  15.  '
  16.  '  - Mozilla Public License Version 1.1 or later (the "MPL")
  17.  '    http://www.mozilla.org/MPL/MPL-1.1.html
  18.  '
  19.  ' == END LICENSE ==
  20.  '
  21.  ' This file include the functions that handle the Command requests
  22.  ' in the ASP Connector.
  23. %>
  24. <%
  25. Sub GetFolders( resourceType, currentFolder )
  26. ' Map the virtual path to the local server path.
  27. Dim sServerDir
  28. sServerDir = ServerMapFolder( resourceType, currentFolder, "GetFolders" )
  29. ' Open the "Folders" node.
  30. Response.Write "<Folders>"
  31. Dim oFSO, oCurrentFolder, oFolders, oFolder
  32. Set oFSO = Server.CreateObject( "Scripting.FileSystemObject" )
  33. if not (oFSO.FolderExists( sServerDir ) ) then
  34. Set oFSO = Nothing
  35. SendError 102, currentFolder
  36. end if
  37. Set oCurrentFolder = oFSO.GetFolder( sServerDir )
  38. Set oFolders = oCurrentFolder.SubFolders
  39. For Each oFolder in oFolders
  40. Response.Write "<Folder name=""" & ConvertToXmlAttribute( oFolder.name ) & """ />"
  41. Next
  42. Set oFSO = Nothing
  43. ' Close the "Folders" node.
  44. Response.Write "</Folders>"
  45. End Sub
  46. Sub GetFoldersAndFiles( resourceType, currentFolder )
  47. ' Map the virtual path to the local server path.
  48. Dim sServerDir
  49. sServerDir = ServerMapFolder( resourceType, currentFolder, "GetFoldersAndFiles" )
  50. Dim oFSO, oCurrentFolder, oFolders, oFolder, oFiles, oFile
  51. Set oFSO = Server.CreateObject( "Scripting.FileSystemObject" )
  52. if not (oFSO.FolderExists( sServerDir ) ) then
  53. Set oFSO = Nothing
  54. SendError 102, currentFolder
  55. end if
  56. Set oCurrentFolder = oFSO.GetFolder( sServerDir )
  57. Set oFolders = oCurrentFolder.SubFolders
  58. Set oFiles = oCurrentFolder.Files
  59. ' Open the "Folders" node.
  60. Response.Write "<Folders>"
  61. For Each oFolder in oFolders
  62. Response.Write "<Folder name=""" & ConvertToXmlAttribute( oFolder.name ) & """ />"
  63. Next
  64. ' Close the "Folders" node.
  65. Response.Write "</Folders>"
  66. ' Open the "Files" node.
  67. Response.Write "<Files>"
  68. For Each oFile in oFiles
  69. Dim iFileSize
  70. iFileSize = Round( oFile.size / 1024 )
  71. If ( iFileSize < 1 AND oFile.size <> 0 ) Then iFileSize = 1
  72. Response.Write "<File name=""" & ConvertToXmlAttribute( oFile.name ) & """ size=""" & iFileSize & """ />"
  73. Next
  74. ' Close the "Files" node.
  75. Response.Write "</Files>"
  76. End Sub
  77. Sub CreateFolder( resourceType, currentFolder )
  78. Dim sErrorNumber
  79. Dim sNewFolderName
  80. sNewFolderName = Request.QueryString( "NewFolderName" )
  81. sNewFolderName = SanitizeFolderName( sNewFolderName )
  82. If ( sNewFolderName = "" OR InStr( 1, sNewFolderName, ".." ) > 0  ) Then
  83. sErrorNumber = "102"
  84. Else
  85. ' Map the virtual path to the local server path of the current folder.
  86. Dim sServerDir
  87. sServerDir = ServerMapFolder( resourceType, CombinePaths(currentFolder, sNewFolderName), "CreateFolder" )
  88. On Error Resume Next
  89. CreateServerFolder sServerDir
  90. Dim iErrNumber, sErrDescription
  91. iErrNumber = err.number
  92. sErrDescription = err.Description
  93. On Error Goto 0
  94. Select Case iErrNumber
  95. Case 0
  96. sErrorNumber = "0"
  97. Case 52
  98. sErrorNumber = "102" ' Invalid Folder Name.
  99. Case 70
  100. sErrorNumber = "103" ' Security Error.
  101. Case 76
  102. sErrorNumber = "102" ' Path too long.
  103. Case Else
  104. sErrorNumber = "110"
  105. End Select
  106. End If
  107. ' Create the "Error" node.
  108. Response.Write "<Error number=""" & sErrorNumber & """ originalNumber=""" & iErrNumber & """ originalDescription=""" & ConvertToXmlAttribute( sErrDescription ) & """ />"
  109. End Sub
  110. Sub FileUpload( resourceType, currentFolder, sCommand )
  111. Dim oUploader
  112. Set oUploader = New NetRube_Upload
  113. oUploader.MaxSize = 0
  114. oUploader.Allowed = ConfigAllowedExtensions.Item( resourceType )
  115. oUploader.Denied = ConfigDeniedExtensions.Item( resourceType )
  116. oUploader.HtmlExtensions = ConfigHtmlExtensions
  117. oUploader.GetData
  118. Dim sErrorNumber
  119. sErrorNumber = "0"
  120. Dim sFileName, sOriginalFileName, sExtension
  121. sFileName = ""
  122. If oUploader.ErrNum > 0 Then
  123. sErrorNumber = "202"
  124. Else
  125. ' Map the virtual path to the local server path.
  126. Dim sServerDir
  127. sServerDir = ServerMapFolder( resourceType, currentFolder, sCommand )
  128. Dim oFSO
  129. Set oFSO = Server.CreateObject( "Scripting.FileSystemObject" )
  130. if not (oFSO.FolderExists( sServerDir ) ) then
  131. sErrorNumber = "102"
  132. else
  133. ' Get the uploaded file name.
  134. sFileName = oUploader.File( "NewFile" ).Name
  135. sExtension = oUploader.File( "NewFile" ).Ext
  136. sFileName = SanitizeFileName( sFileName )
  137. sOriginalFileName = sFileName
  138. Dim iCounter
  139. iCounter = 0
  140. Do While ( True )
  141. Dim sFilePath
  142. sFilePath = sServerDir & sFileName
  143. If ( oFSO.FileExists( sFilePath ) ) Then
  144. iCounter = iCounter + 1
  145. sFileName = RemoveExtension( sOriginalFileName ) & "(" & iCounter & ")." & sExtension
  146. sErrorNumber = "201"
  147. Else
  148. oUploader.SaveAs "NewFile", sFilePath
  149. If oUploader.ErrNum > 0 Then sErrorNumber = "202"
  150. Exit Do
  151. End If
  152. Loop
  153. end if
  154. End If
  155. Set oUploader = Nothing
  156. dim sFileUrl
  157. sFileUrl = CombinePaths( GetResourceTypePath( resourceType, sCommand ) , currentFolder )
  158. sFileUrl = CombinePaths( sFileUrl, sFileName ) 
  159. SendUploadResults sErrorNumber, sFileUrl, sFileName, ""
  160. End Sub
  161. %>