PageRenderTime 33ms CodeModel.GetById 28ms app.highlight 2ms RepoModel.GetById 1ms app.codeStats 0ms

/pigeoncms/Plugins/fckeditor/editor/filemanager/connectors/asp/commands.asp

http://pigeoncms.googlecode.com/
ASP | 202 lines | 132 code | 37 blank | 33 comment | 3 complexity | 6ff22cfeec56150188b03cf4ad44d8e7 MD5 | raw file
  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 & """ />"
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	If ( sErrorNumber = "0" or sErrorNumber = "201" ) then
196		SendUploadResults sErrorNumber, sFileUrl, sFileName, ""
197	Else
198		SendUploadResults sErrorNumber, "", "", ""
199	End If
200End Sub
201
202%>