source: extensions/FCKEditor/editor/filemanager/connectors/asp/commands.asp @ 3295

Last change on this file since 3295 was 3295, checked in by patdenice, 15 years ago

New extension added:
FCK Editor (2.0.a)

File size: 5.6 KB
Line 
1<%
2 ' FCKeditor - The text editor for Internet - http://www.fckeditor.net
3 ' Copyright (C) 2003-2009 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, CombineLocalPaths(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 = CombineLocalPaths(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%>
Note: See TracBrowser for help on using the repository browser.