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<% 25Sub GetFolders( resourceType, currentFolder ) 26 ' Map the virtual path to the local server path. 27 Dim sServerDir 28 sServerDir = ServerMapFolder( resourceType, currentFolder, "GetFolders" ) 29 30 ' Open the "Folders" node. 31 Response.Write "<Folders>" 32 33 Dim oFSO, oCurrentFolder, oFolders, oFolder 34 Set oFSO = Server.CreateObject( "Scripting.FileSystemObject" ) 35 if not (oFSO.FolderExists( sServerDir ) ) then 36 Set oFSO = Nothing 37 SendError 102, currentFolder 38 end if 39 40 Set oCurrentFolder = oFSO.GetFolder( sServerDir ) 41 Set oFolders = oCurrentFolder.SubFolders 42 43 For Each oFolder in oFolders 44 Response.Write "<Folder name=""" & ConvertToXmlAttribute( oFolder.name ) & """ />" 45 Next 46 47 Set oFSO = Nothing 48 49 ' Close the "Folders" node. 50 Response.Write "</Folders>" 51End Sub 52 53Sub GetFoldersAndFiles( resourceType, currentFolder ) 54 ' Map the virtual path to the local server path. 55 Dim sServerDir 56 sServerDir = ServerMapFolder( resourceType, currentFolder, "GetFoldersAndFiles" ) 57 58 Dim oFSO, oCurrentFolder, oFolders, oFolder, oFiles, oFile 59 Set oFSO = Server.CreateObject( "Scripting.FileSystemObject" ) 60 if not (oFSO.FolderExists( sServerDir ) ) then 61 Set oFSO = Nothing 62 SendError 102, currentFolder 63 end if 64 65 Set oCurrentFolder = oFSO.GetFolder( sServerDir ) 66 Set oFolders = oCurrentFolder.SubFolders 67 Set oFiles = oCurrentFolder.Files 68 69 ' Open the "Folders" node. 70 Response.Write "<Folders>" 71 72 For Each oFolder in oFolders 73 Response.Write "<Folder name=""" & ConvertToXmlAttribute( oFolder.name ) & """ />" 74 Next 75 76 ' Close the "Folders" node. 77 Response.Write "</Folders>" 78 79 ' Open the "Files" node. 80 Response.Write "<Files>" 81 82 For Each oFile in oFiles 83 Dim iFileSize 84 iFileSize = Round( oFile.size / 1024 ) 85 If ( iFileSize < 1 AND oFile.size <> 0 ) Then iFileSize = 1 86 87 Response.Write "<File name=""" & ConvertToXmlAttribute( oFile.name ) & """ size=""" & iFileSize & """ />" 88 Next 89 90 ' Close the "Files" node. 91 Response.Write "</Files>" 92End Sub 93 94Sub CreateFolder( resourceType, currentFolder ) 95 Dim sErrorNumber 96 97 Dim sNewFolderName 98 sNewFolderName = Request.QueryString( "NewFolderName" ) 99 sNewFolderName = SanitizeFolderName( sNewFolderName ) 100 101 If ( sNewFolderName = "" OR InStr( 1, sNewFolderName, ".." ) > 0 ) Then 102 sErrorNumber = "102" 103 Else 104 ' Map the virtual path to the local server path of the current folder. 105 Dim sServerDir 106 sServerDir = ServerMapFolder( resourceType, CombinePaths(currentFolder, sNewFolderName), "CreateFolder" ) 107 108 On Error Resume Next 109 110 CreateServerFolder sServerDir 111 112 Dim iErrNumber, sErrDescription 113 iErrNumber = err.number 114 sErrDescription = err.Description 115 116 On Error Goto 0 117 118 Select Case iErrNumber 119 Case 0 120 sErrorNumber = "0" 121 Case 52 122 sErrorNumber = "102" ' Invalid Folder Name. 123 Case 70 124 sErrorNumber = "103" ' Security Error. 125 Case 76 126 sErrorNumber = "102" ' Path too long. 127 Case Else 128 sErrorNumber = "110" 129 End Select 130 End If 131 132 ' Create the "Error" node. 133 Response.Write "<Error number=""" & sErrorNumber & """ originalNumber=""" & iErrNumber & """ originalDescription=""" & ConvertToXmlAttribute( sErrDescription ) & """ />" 134End Sub 135 136Sub FileUpload( resourceType, currentFolder, sCommand ) 137 Dim oUploader 138 Set oUploader = New NetRube_Upload 139 oUploader.MaxSize = 0 140 oUploader.Allowed = ConfigAllowedExtensions.Item( resourceType ) 141 oUploader.Denied = ConfigDeniedExtensions.Item( resourceType ) 142 oUploader.HtmlExtensions = ConfigHtmlExtensions 143 oUploader.GetData 144 145 Dim sErrorNumber 146 sErrorNumber = "0" 147 148 Dim sFileName, sOriginalFileName, sExtension 149 sFileName = "" 150 151 If oUploader.ErrNum > 0 Then 152 sErrorNumber = "202" 153 Else 154 ' Map the virtual path to the local server path. 155 Dim sServerDir 156 sServerDir = ServerMapFolder( resourceType, currentFolder, sCommand ) 157 158 Dim oFSO 159 Set oFSO = Server.CreateObject( "Scripting.FileSystemObject" ) 160 if not (oFSO.FolderExists( sServerDir ) ) then 161 sErrorNumber = "102" 162 else 163 ' Get the uploaded file name. 164 sFileName = oUploader.File( "NewFile" ).Name 165 sExtension = oUploader.File( "NewFile" ).Ext 166 sFileName = SanitizeFileName( sFileName ) 167 sOriginalFileName = sFileName 168 169 Dim iCounter 170 iCounter = 0 171 172 Do While ( True ) 173 Dim sFilePath 174 sFilePath = sServerDir & sFileName 175 176 If ( oFSO.FileExists( sFilePath ) ) Then 177 iCounter = iCounter + 1 178 sFileName = RemoveExtension( sOriginalFileName ) & "(" & iCounter & ")." & sExtension 179 sErrorNumber = "201" 180 Else 181 oUploader.SaveAs "NewFile", sFilePath 182 If oUploader.ErrNum > 0 Then sErrorNumber = "202" 183 Exit Do 184 End If 185 Loop 186 end if 187 End If 188 189 Set oUploader = Nothing 190 191 dim sFileUrl 192 sFileUrl = CombinePaths( GetResourceTypePath( resourceType, sCommand ) , currentFolder ) 193 sFileUrl = CombinePaths( sFileUrl, sFileName ) 194 195 SendUploadResults sErrorNumber, sFileUrl, sFileName, "" 196End Sub 197 198%> 199