PageRenderTime 92ms CodeModel.GetById 84ms app.highlight 2ms RepoModel.GetById 2ms app.codeStats 0ms

/pigeoncms/Plugins/fckeditor/editor/filemanager/connectors/perl/upload.cgi

http://pigeoncms.googlecode.com/
Perl | 87 lines | 41 code | 12 blank | 34 comment | 10 complexity | 0072bb2bd0a932a165dd3e986f894677 MD5 | raw file
 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).
31if(Windows_check()) {
32	chdir(GetScriptPath($0));
33}
34
35sub 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
49sub GetScriptPath {
50	local($path) = @_;
51	if($path =~ /[\:\/\\]/) { $path =~ s/(.*?)[\/\\][^\/\\]+$/$1/; } else { $path = '.'; }
52	$path;
53}
54## END: Hack for IIS
55
56require 'util.pl';
57require 'io.pl';
58require 'basexml.pl';
59require 'commands.pl';
60require 'upload_fck.pl';
61require 'config.pl';
62
63&read_input();
64&DoResponse();
65
66sub 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}