Project

General

Profile

1
#!/usr/bin/env perl
2

    
3
#####
4
#  FCKeditor - The text editor for Internet - http://www.fckeditor.net
5
#  Copyright (C) 2003-2009 Frederico Caldeira Knabben
6
#
7
#  == BEGIN LICENSE ==
8
#
9
#  Licensed under the terms of any of the following licenses at your
10
#  choice:
11
#
12
#   - GNU General Public License Version 2 or later (the "GPL")
13
#     http://www.gnu.org/licenses/gpl.html
14
#
15
#   - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
16
#     http://www.gnu.org/licenses/lgpl.html
17
#
18
#   - Mozilla Public License Version 1.1 or later (the "MPL")
19
#     http://www.mozilla.org/MPL/MPL-1.1.html
20
#
21
#  == END LICENSE ==
22
#
23
#  This is the File Manager Connector for Perl.
24
#####
25

    
26
##
27
# ATTENTION: To enable this connector, look for the "SECURITY" comment in config.pl.
28
##
29

    
30
## START: Hack for Windows (Not important to understand the editor code... Perl specific).
31
if(Windows_check()) {
32
	chdir(GetScriptPath($0));
33
}
34

    
35
sub Windows_check
36
{
37
	# IIS,PWS(NT/95)
38
	$www_server_os = $^O;
39
	# Win98 & NT(SP4)
40
	if($www_server_os eq "") { $www_server_os= $ENV{'OS'}; }
41
	# AnHTTPd/Omni/IIS
42
	if($ENV{'SERVER_SOFTWARE'} =~ /AnWeb|Omni|IIS\//i) { $www_server_os= 'win'; }
43
	# Win Apache
44
	if($ENV{'WINDIR'} ne "") { $www_server_os= 'win'; }
45
	if($www_server_os=~ /win/i) { return(1); }
46
	return(0);
47
}
48

    
49
sub GetScriptPath {
50
	local($path) = @_;
51
	if($path =~ /[\:\/\\]/) { $path =~ s/(.*?)[\/\\][^\/\\]+$/$1/; } else { $path = '.'; }
52
	$path;
53
}
54
## END: Hack for IIS
55

    
56
require 'util.pl';
57
require 'io.pl';
58
require 'basexml.pl';
59
require 'commands.pl';
60
require 'upload_fck.pl';
61
require 'config.pl';
62

    
63
&read_input();
64
&DoResponse();
65

    
66
sub DoResponse
67
{
68
	# Get the main request information.
69
	$sCommand		= 'FileUpload';
70
	$sResourceType	= &specialchar_cnv($FORM{'Type'});
71
	$sCurrentFolder	= "/";
72

    
73
	if ($sResourceType eq '') {
74
		$sResourceType = 'File' ;
75
	}
76

    
77
	if ( !($sResourceType =~ /^(File|Image|Flash|Media)$/) ) {
78
		SendError( 1, "Invalid type specified" ) ;
79
	}
80

    
81
	# File Upload doesn't have to Return XML, so it must be intercepted before anything.
82
	if($sCommand eq 'FileUpload') {
83
		FileUpload($sResourceType,$sCurrentFolder);
84
		return ;
85
	}
86

    
87
}
(6-6/8)