Page Menu
Home
Code
Search
Configure Global Search
Log In
Files
F1133349
commands.php
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
5 KB
Subscribers
None
commands.php
View Options
<?php
/*
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
* Copyright (C) 2003-2007 Frederico Caldeira Knabben
*
* == BEGIN LICENSE ==
*
* Licensed under the terms of any of the following licenses at your
* choice:
*
* - GNU General Public License Version 2 or later (the "GPL")
* http://www.gnu.org/licenses/gpl.html
*
* - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
* http://www.gnu.org/licenses/lgpl.html
*
* - Mozilla Public License Version 1.1 or later (the "MPL")
* http://www.mozilla.org/MPL/MPL-1.1.html
*
* == END LICENSE ==
*
* This is the File Manager Connector for PHP.
*/
function
GetFolders
(
$resourceType
,
$currentFolder
)
{
// Map the virtual path to the local server path.
$sServerDir
=
ServerMapFolder
(
$resourceType
,
$currentFolder
)
;
// Array that will hold the folders names.
$aFolders
=
array
()
;
$oCurrentFolder
=
opendir
(
$sServerDir
)
;
while
(
$sFile
=
readdir
(
$oCurrentFolder
)
)
{
if
(
$sFile
!=
'.'
&&
$sFile
!=
'..'
&&
is_dir
(
$sServerDir
.
$sFile
)
)
$aFolders
[]
=
'<Folder name="'
.
ConvertToXmlAttribute
(
$sFile
)
.
'" />'
;
}
closedir
(
$oCurrentFolder
)
;
// Open the "Folders" node.
echo
"<Folders>"
;
natcasesort
(
$aFolders
)
;
foreach
(
$aFolders
as
$sFolder
)
echo
$sFolder
;
// Close the "Folders" node.
echo
"</Folders>"
;
}
function
GetFoldersAndFiles
(
$resourceType
,
$currentFolder
)
{
// Map the virtual path to the local server path.
$sServerDir
=
ServerMapFolder
(
$resourceType
,
$currentFolder
)
;
// Arrays that will hold the folders and files names.
$aFolders
=
array
()
;
$aFiles
=
array
()
;
$oCurrentFolder
=
opendir
(
$sServerDir
)
;
while
(
$sFile
=
readdir
(
$oCurrentFolder
)
)
{
if
(
$sFile
!=
'.'
&&
$sFile
!=
'..'
)
{
if
(
is_dir
(
$sServerDir
.
$sFile
)
)
$aFolders
[]
=
'<Folder name="'
.
ConvertToXmlAttribute
(
$sFile
)
.
'" />'
;
else
{
$iFileSize
=
filesize
(
$sServerDir
.
$sFile
)
;
if
(
$iFileSize
>
0
)
{
$iFileSize
=
round
(
$iFileSize
/
1024
)
;
if
(
$iFileSize
<
1
)
$iFileSize
=
1
;
}
$aFiles
[]
=
'<File name="'
.
ConvertToXmlAttribute
(
$sFile
)
.
'" size="'
.
$iFileSize
.
'" />'
;
}
}
}
// Send the folders
natcasesort
(
$aFolders
)
;
echo
'<Folders>'
;
foreach
(
$aFolders
as
$sFolder
)
echo
$sFolder
;
echo
'</Folders>'
;
// Send the files
natcasesort
(
$aFiles
)
;
echo
'<Files>'
;
foreach
(
$aFiles
as
$sFiles
)
echo
$sFiles
;
echo
'</Files>'
;
}
function
CreateFolder
(
$resourceType
,
$currentFolder
)
{
$sErrorNumber
=
'0'
;
$sErrorMsg
=
''
;
if
(
isset
(
$_GET
[
'NewFolderName'
]
)
)
{
$sNewFolderName
=
$_GET
[
'NewFolderName'
]
;
if
(
strpos
(
$sNewFolderName
,
'..'
)
!==
FALSE
)
$sErrorNumber
=
'102'
;
// Invalid folder name.
else
{
// Map the virtual path to the local server path of the current folder.
$sServerDir
=
ServerMapFolder
(
$resourceType
,
$currentFolder
)
;
if
(
is_writable
(
$sServerDir
)
)
{
$sServerDir
.=
$sNewFolderName
;
$sErrorMsg
=
CreateServerFolder
(
$sServerDir
)
;
switch
(
$sErrorMsg
)
{
case
''
:
$sErrorNumber
=
'0'
;
break
;
case
'Invalid argument'
:
case
'No such file or directory'
:
$sErrorNumber
=
'102'
;
// Path too long.
break
;
default
:
$sErrorNumber
=
'110'
;
break
;
}
}
else
$sErrorNumber
=
'103'
;
}
}
else
$sErrorNumber
=
'102'
;
// Create the "Error" node.
echo
'<Error number="'
.
$sErrorNumber
.
'" originalDescription="'
.
ConvertToXmlAttribute
(
$sErrorMsg
)
.
'" />'
;
}
function
FileUpload
(
$resourceType
,
$currentFolder
)
{
$sErrorNumber
=
'0'
;
$sFileName
=
''
;
if
(
isset
(
$_FILES
[
'NewFile'
]
)
&&
!
is_null
(
$_FILES
[
'NewFile'
][
'tmp_name'
]
)
)
{
global
$Config
;
$oFile
=
$_FILES
[
'NewFile'
]
;
// Map the virtual path to the local server path.
$sServerDir
=
ServerMapFolder
(
$resourceType
,
$currentFolder
)
;
// Get the uploaded file name.
$sFileName
=
$oFile
[
'name'
]
;
// Replace dots in the name with underscores (only one dot can be there... security issue).
if
(
$Config
[
'ForceSingleExtension'
]
)
$sFileName
=
preg_replace
(
'/
\\
.(?![^.]*$)/'
,
'_'
,
$sFileName
)
;
$sOriginalFileName
=
$sFileName
;
// Get the extension.
$sExtension
=
substr
(
$sFileName
,
(
strrpos
(
$sFileName
,
'.'
)
+
1
)
)
;
$sExtension
=
strtolower
(
$sExtension
)
;
$arAllowed
=
$Config
[
'AllowedExtensions'
][
$resourceType
]
;
$arDenied
=
$Config
[
'DeniedExtensions'
][
$resourceType
]
;
if
(
(
count
(
$arAllowed
)
==
0
||
in_array
(
$sExtension
,
$arAllowed
)
)
&&
(
count
(
$arDenied
)
==
0
||
!
in_array
(
$sExtension
,
$arDenied
)
)
)
{
$iCounter
=
0
;
while
(
true
)
{
$sFilePath
=
$sServerDir
.
$sFileName
;
if
(
is_file
(
$sFilePath
)
)
{
$iCounter
++
;
$sFileName
=
RemoveExtension
(
$sOriginalFileName
)
.
'('
.
$iCounter
.
').'
.
$sExtension
;
$sErrorNumber
=
'201'
;
}
else
{
move_uploaded_file
(
$oFile
[
'tmp_name'
],
$sFilePath
)
;
if
(
is_file
(
$sFilePath
)
)
{
$oldumask
=
umask
(
0
)
;
chmod
(
$sFilePath
,
0777
)
;
umask
(
$oldumask
)
;
}
break
;
}
}
}
else
$sErrorNumber
=
'202'
;
}
else
$sErrorNumber
=
'202'
;
echo
'<script type="text/javascript">'
;
echo
'window.parent.frames["frmUpload"].OnUploadCompleted('
.
$sErrorNumber
.
',"'
.
str_replace
(
'"'
,
'
\\
"'
,
$sFileName
)
.
'") ;'
;
echo
'</script>'
;
exit
;
}
?>
File Metadata
Details
Attached
Mime Type
text/x-php
Expires
Sun, Jun 29, 12:42 (1 d, 12 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
26206
Default Alt Text
commands.php (5 KB)
Attached To
rZEDHG ZedLegacy
Event Timeline
Log In to Comment