~alexharrington/xibo/pyclient-1.1.0a22

« back to all changes in this revision

Viewing changes to server/3rdparty/fckeditor/editor/filemanager/connectors/perl/upload.cgi

  • Committer: Alex Harrington
  • Date: 2009-12-31 11:38:50 UTC
  • Revision ID: alex@longhill.org.uk-20091231113850-bz5flhqq2gsw0qxf
Converted to 2.0 repo format and fixed lineendings

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
#!/usr/bin/env perl
2
 
 
3
 
#####
4
 
#  FCKeditor - The text editor for Internet - http://www.fckeditor.net
5
 
#  Copyright (C) 2003-2007 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 this file.
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
 
 
62
 
##
63
 
# SECURITY: REMOVE/COMMENT THE FOLLOWING LINE TO ENABLE THIS CONNECTOR.
64
 
##
65
 
        &SendUploadResults(1, '', '', 'This connector is disabled. Please check the "editor/filemanager/connectors/perl/upload.cgi" file' ) ;
66
 
 
67
 
        &read_input();
68
 
 
69
 
        if($FORM{'ServerPath'} ne "") {
70
 
                $GLOBALS{'UserFilesPath'} = $FORM{'ServerPath'};
71
 
                if(!($GLOBALS{'UserFilesPath'} =~ /\/$/)) {
72
 
                        $GLOBALS{'UserFilesPath'} .= '/' ;
73
 
                }
74
 
        } else {
75
 
                $GLOBALS{'UserFilesPath'} = '/userfiles/';
76
 
        }
77
 
 
78
 
        # Map the "UserFiles" path to a local directory.
79
 
        $rootpath = &GetRootPath();
80
 
        $GLOBALS{'UserFilesDirectory'} = $rootpath . $GLOBALS{'UserFilesPath'};
81
 
 
82
 
        &DoResponse();
83
 
 
84
 
sub DoResponse
85
 
{
86
 
        # Get the main request information.
87
 
        $sCommand               = 'FileUpload'; #$FORM{'Command'};
88
 
        $sResourceType  = $FORM{'Type'};
89
 
        $sCurrentFolder = $FORM{'CurrentFolder'};
90
 
 
91
 
        if ($sResourceType eq '') {
92
 
                $sResourceType = 'File' ;
93
 
        }
94
 
        if ($sCurrentFolder eq '') {
95
 
                $sCurrentFolder = '/' ;
96
 
        }
97
 
 
98
 
        # Check the current folder syntax (must begin and start with a slash).
99
 
        if(!($sCurrentFolder =~ /\/$/)) {
100
 
                $sCurrentFolder .= '/';
101
 
        }
102
 
        if(!($sCurrentFolder =~ /^\//)) {
103
 
                $sCurrentFolder = '/' . $sCurrentFolder;
104
 
        }
105
 
 
106
 
        # Check for invalid folder paths (..)
107
 
        if ( $sCurrentFolder =~ /\.\./ ) {
108
 
                SendError( 102, "" ) ;
109
 
        }
110
 
 
111
 
        # File Upload doesn't have to Return XML, so it must be intercepted before anything.
112
 
        if($sCommand eq 'FileUpload') {
113
 
                FileUpload($sResourceType,$sCurrentFolder);
114
 
                return ;
115
 
        }
116
 
 
117
 
}
118
 
 
 
1
#!/usr/bin/env perl
 
2
 
 
3
#####
 
4
#  FCKeditor - The text editor for Internet - http://www.fckeditor.net
 
5
#  Copyright (C) 2003-2007 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 this file.
 
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
 
 
62
##
 
63
# SECURITY: REMOVE/COMMENT THE FOLLOWING LINE TO ENABLE THIS CONNECTOR.
 
64
##
 
65
        &SendUploadResults(1, '', '', 'This connector is disabled. Please check the "editor/filemanager/connectors/perl/upload.cgi" file' ) ;
 
66
 
 
67
        &read_input();
 
68
 
 
69
        if($FORM{'ServerPath'} ne "") {
 
70
                $GLOBALS{'UserFilesPath'} = $FORM{'ServerPath'};
 
71
                if(!($GLOBALS{'UserFilesPath'} =~ /\/$/)) {
 
72
                        $GLOBALS{'UserFilesPath'} .= '/' ;
 
73
                }
 
74
        } else {
 
75
                $GLOBALS{'UserFilesPath'} = '/userfiles/';
 
76
        }
 
77
 
 
78
        # Map the "UserFiles" path to a local directory.
 
79
        $rootpath = &GetRootPath();
 
80
        $GLOBALS{'UserFilesDirectory'} = $rootpath . $GLOBALS{'UserFilesPath'};
 
81
 
 
82
        &DoResponse();
 
83
 
 
84
sub DoResponse
 
85
{
 
86
        # Get the main request information.
 
87
        $sCommand               = 'FileUpload'; #$FORM{'Command'};
 
88
        $sResourceType  = $FORM{'Type'};
 
89
        $sCurrentFolder = $FORM{'CurrentFolder'};
 
90
 
 
91
        if ($sResourceType eq '') {
 
92
                $sResourceType = 'File' ;
 
93
        }
 
94
        if ($sCurrentFolder eq '') {
 
95
                $sCurrentFolder = '/' ;
 
96
        }
 
97
 
 
98
        # Check the current folder syntax (must begin and start with a slash).
 
99
        if(!($sCurrentFolder =~ /\/$/)) {
 
100
                $sCurrentFolder .= '/';
 
101
        }
 
102
        if(!($sCurrentFolder =~ /^\//)) {
 
103
                $sCurrentFolder = '/' . $sCurrentFolder;
 
104
        }
 
105
 
 
106
        # Check for invalid folder paths (..)
 
107
        if ( $sCurrentFolder =~ /\.\./ ) {
 
108
                SendError( 102, "" ) ;
 
109
        }
 
110
 
 
111
        # File Upload doesn't have to Return XML, so it must be intercepted before anything.
 
112
        if($sCommand eq 'FileUpload') {
 
113
                FileUpload($sResourceType,$sCurrentFolder);
 
114
                return ;
 
115
        }
 
116
 
 
117
}
 
118