Project

General

Profile

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

    
25
global $Config ;
26

    
27
// SECURITY: You must explicitly enable this "connector". (Set it to "true").
28
// WARNING: don't just set "$Config['Enabled'] = true ;", you must be sure that only
29
//		authenticated users can access this file or use some kind of session checking.
30
$Config['Enabled'] = false ;
31

    
32
/**
33
	SECURITY PATCH FOR WEBSITE BAKER (doc)
34
	only enable PHP connector if user is authenticated to WB
35
	and has at least permissions to view the WB MEDIA folder
36
*/
37
// include WB config.php file and admin class
38
require_once('../../../../../../../config.php');
39
require_once(WB_PATH .'/framework/class.admin.php');
40

    
41
$wb_path = str_replace('\\','/', WB_PATH);
42
$wb_path = str_replace('//','/', WB_PATH);
43

    
44
// check if user is authenticated if WB and has permission to view MEDIA folder
45
$admin = new admin('Media', 'media_view', false, false);
46
if(($admin->get_permission('media_view') === true))
47
{
48
	// user allowed to view MEDIA folder -> enable PHP connector
49
	$Config['Enabled'] = true ;
50
	// allow actions to list folders and files
51
	$Config['ConfigAllowedCommands'] = array('GetFolders', 'GetFoldersAndFiles') ;
52
}
53

    
54
// Path to user files relative to the document root.
55
// $Config['UserFilesPath'] = '/userfiles/' ;
56
$Config['UserFilesPath'] = WB_URL.MEDIA_DIRECTORY.'/' ;
57
// use home folder of current user as document root if available
58
if(isset($_SESSION['HOME_FOLDER']) && file_exists($wb_path .MEDIA_DIRECTORY .$_SESSION['HOME_FOLDER'])){
59
   $Config['UserFilesPath'] = $Config['UserFilesPath'].$_SESSION['HOME_FOLDER'];
60
}
61

    
62
// Fill the following value it you prefer to specify the absolute path for the
63
// user files directory. Useful if you are using a virtual directory, symbolic
64
// link or alias. Examples: 'C:\\MySite\\userfiles\\' or '/root/mysite/userfiles/'.
65
// Attention: The above 'UserFilesPath' must point to the same directory.
66
// $Config['UserFilesAbsolutePath'] = '' ;
67

    
68
$Config['UserFilesAbsolutePath'] = $wb_path .MEDIA_DIRECTORY.'/' ;
69
// use home folder of current user as document root if available
70
if(isset($_SESSION['HOME_FOLDER']) && file_exists($wb_path .MEDIA_DIRECTORY .$_SESSION['HOME_FOLDER'])){
71
   $Config['UserFilesAbsolutePath'] = $Config['UserFilesAbsolutePath'].$_SESSION['HOME_FOLDER'].'/';
72
}
73
// Due to security issues with Apache modules, it is recommended to leave the
74
// following setting enabled.
75
$Config['ForceSingleExtension'] = true ;
76

    
77
// Perform additional checks for image files.
78
// If set to true, validate image size (using getimagesize).
79
$Config['SecureImageUploads'] = true;
80

    
81
// What the user can do with this connector.
82
// $Config['ConfigAllowedCommands'] = array('QuickUpload', 'FileUpload', 'GetFolders', 'GetFoldersAndFiles', 'CreateFolder') ;
83

    
84
/**
85
   Check WB permissions of the user/group for the MEDIA folder and
86
	enable only those FCKEditor commands the user has permissions for
87
*/
88
// check if user is allowed to upload files to the media directory
89
if(($admin->get_permission('media_upload') === true)) {
90
	// add actions to upload files to the MEDIA folder
91
	array_push($Config['ConfigAllowedCommands'], 'FileUpload', 'QuickUpload');
92
}
93

    
94
// check if user is allowed to create new folders in the media directory
95
if(($admin->get_permission('media_create') === true)) {
96
	// add action to create new folders in the MEDIA folder
97
	array_push($Config['ConfigAllowedCommands'], 'CreateFolder');
98
}
99

    
100
// Allowed Resource Types.
101
$Config['ConfigAllowedTypes'] = array('File', 'Image', 'Flash', 'Media') ;
102

    
103
// For security, HTML is allowed in the first Kb of data for files having the
104
// following extensions only.
105
$Config['HtmlExtensions'] = array("html", "htm", "xml", "xsd", "txt", "js") ;
106

    
107
// After file is uploaded, sometimes it is required to change its permissions
108
// so that it was possible to access it at the later time.
109
// If possible, it is recommended to set more restrictive permissions, like 0755.
110
// Set to 0 to disable this feature.
111
// Note: not needed on Windows-based servers.
112
$Config['ChmodOnUpload'] = defined('OCTAL_FILE_MODE') ? OCTAL_FILE_MODE : 0777 ;
113

    
114
// See comments above.
115
// Used when creating folders that does not exist.
116
$Config['ChmodOnFolderCreate'] = defined('OCTAL_DIR_MODE') ? OCTAL_DIR_MODE : 0777 ;
117

    
118
/*
119
	Configuration settings for each Resource Type
120

    
121
	- AllowedExtensions: the possible extensions that can be allowed.
122
		If it is empty then any file type can be uploaded.
123
	- DeniedExtensions: The extensions that won't be allowed.
124
		If it is empty then no restrictions are done here.
125

    
126
	For a file to be uploaded it has to fulfill both the AllowedExtensions
127
	and DeniedExtensions (that's it: not being denied) conditions.
128

    
129
	- FileTypesPath: the virtual folder relative to the document root where
130
		these resources will be located.
131
		Attention: It must start and end with a slash: '/'
132

    
133
	- FileTypesAbsolutePath: the physical path to the above folder. It must be
134
		an absolute path.
135
		If it's an empty string then it will be autocalculated.
136
		Useful if you are using a virtual directory, symbolic link or alias.
137
		Examples: 'C:\\MySite\\userfiles\\' or '/root/mysite/userfiles/'.
138
		Attention: The above 'FileTypesPath' must point to the same directory.
139
		Attention: It must end with a slash: '/'
140

    
141
	 - QuickUploadPath: the virtual folder relative to the document root where
142
		these resources will be uploaded using the Upload tab in the resources
143
		dialogs.
144
		Attention: It must start and end with a slash: '/'
145

    
146
	 - QuickUploadAbsolutePath: the physical path to the above folder. It must be
147
		an absolute path.
148
		If it's an empty string then it will be autocalculated.
149
		Useful if you are using a virtual directory, symbolic link or alias.
150
		Examples: 'C:\\MySite\\userfiles\\' or '/root/mysite/userfiles/'.
151
		Attention: The above 'QuickUploadPath' must point to the same directory.
152
		Attention: It must end with a slash: '/'
153

    
154
	 	NOTE: by default, QuickUploadPath and QuickUploadAbsolutePath point to
155
	 	"userfiles" directory to maintain backwards compatibility with older versions of FCKeditor.
156
	 	This is fine, but you in some cases you will be not able to browse uploaded files using file browser.
157
	 	Example: if you click on "image button", select "Upload" tab and send image
158
	 	to the server, image will appear in FCKeditor correctly, but because it is placed
159
	 	directly in /userfiles/ directory, you'll be not able to see it in built-in file browser.
160
	 	The more expected behaviour would be to send images directly to "image" subfolder.
161
	 	To achieve that, simply change
162
			$Config['QuickUploadPath']['Image']			= $Config['UserFilesPath'] ;
163
			$Config['QuickUploadAbsolutePath']['Image']	= $Config['UserFilesAbsolutePath'] ;
164
		into:
165
			$Config['QuickUploadPath']['Image']			= $Config['FileTypesPath']['Image'] ;
166
			$Config['QuickUploadAbsolutePath']['Image'] 	= $Config['FileTypesAbsolutePath']['Image'] ;
167

    
168
*/
169

    
170
/*
171
$Config['AllowedExtensions']['File']	= array('7z', 'aiff', 'asf', 'avi', 'bmp', 'csv', 'doc', 'fla', 'flv', 'gif', 'gz', 'gzip', 'jpeg', 'jpg', 'mid', 'mov', 'mp3', 'mp4', 'mpc', 'mpeg', 'mpg', 'ods', 'odt', 'pdf', 'png', 'ppt', 'pxd', 'qt', 'ram', 'rar', 'rm', 'rmi', 'rmvb', 'rtf', 'sdc', 'sitd', 'swf', 'sxc', 'sxw', 'tar', 'tgz', 'tif', 'tiff', 'txt', 'vsd', 'wav', 'wma', 'wmv', 'xls', 'xml', 'zip') ;
172
$Config['DeniedExtensions']['File']		= array() ;
173
$Config['FileTypesPath']['File']		= $Config['UserFilesPath'] . 'file/' ;
174
$Config['FileTypesAbsolutePath']['File']= ($Config['UserFilesAbsolutePath'] == '') ? '' : $Config['UserFilesAbsolutePath'].'file/' ;
175
$Config['QuickUploadPath']['File']		= $Config['UserFilesPath'] ;
176
$Config['QuickUploadAbsolutePath']['File']= $Config['UserFilesAbsolutePath'] ;
177

    
178
$Config['AllowedExtensions']['Image']	= array('bmp','gif','jpeg','jpg','png') ;
179
$Config['DeniedExtensions']['Image']	= array() ;
180
$Config['FileTypesPath']['Image']		= $Config['UserFilesPath'] . 'image/' ;
181
$Config['FileTypesAbsolutePath']['Image']= ($Config['UserFilesAbsolutePath'] == '') ? '' : $Config['UserFilesAbsolutePath'].'image/' ;
182
$Config['QuickUploadPath']['Image']		= $Config['UserFilesPath'] ;
183
$Config['QuickUploadAbsolutePath']['Image']= $Config['UserFilesAbsolutePath'] ;
184

    
185
$Config['AllowedExtensions']['Flash']	= array('swf','flv') ;
186
$Config['DeniedExtensions']['Flash']	= array() ;
187
$Config['FileTypesPath']['Flash']		= $Config['UserFilesPath'] . 'flash/' ;
188
$Config['FileTypesAbsolutePath']['Flash']= ($Config['UserFilesAbsolutePath'] == '') ? '' : $Config['UserFilesAbsolutePath'].'flash/' ;
189
$Config['QuickUploadPath']['Flash']		= $Config['UserFilesPath'] ;
190
$Config['QuickUploadAbsolutePath']['Flash']= $Config['UserFilesAbsolutePath'] ;
191

    
192
$Config['AllowedExtensions']['Media']	= array('aiff', 'asf', 'avi', 'bmp', 'fla', 'flv', 'gif', 'jpeg', 'jpg', 'mid', 'mov', 'mp3', 'mp4', 'mpc', 'mpeg', 'mpg', 'png', 'qt', 'ram', 'rm', 'rmi', 'rmvb', 'swf', 'tif', 'tiff', 'wav', 'wma', 'wmv') ;
193
$Config['DeniedExtensions']['Media']	= array() ;
194
$Config['FileTypesPath']['Media']		= $Config['UserFilesPath'] . 'media/' ;
195
$Config['FileTypesAbsolutePath']['Media']= ($Config['UserFilesAbsolutePath'] == '') ? '' : $Config['UserFilesAbsolutePath'].'media/' ;
196
$Config['QuickUploadPath']['Media']		= $Config['UserFilesPath'] ;
197
$Config['QuickUploadAbsolutePath']['Media']= $Config['UserFilesAbsolutePath'] ;
198
*/
199

    
200
/**
201
	APPLY MORE RESTRICTIVE SETTINGS FOR WEBSITE BAKER
202
	+ only allow file types: 	only textfiles (no PHP, Javascript or HTML files per default)
203
	+ only allows images type: bmp, gif, jpges, jpg and png
204
	+ only allows flash types: swf, flv (no fla ... flash action script per default)
205
	+ only allows media types: swf, flv, jpg, gif, jpeg, png, avi, mgp, mpeg
206
*/
207
$Config['AllowedExtensions']['File']			= array();
208
$Config['DeniedExtensions']['File']				= array('html','htm','php','php2','php3','php4','php5','phtml','pwml','inc','asp','aspx','ascx','jsp','cfm','cfc','pl','bat','exe','com','dll','vbs','js','reg','cgi','htaccess','asis') ;
209
$Config['FileTypesPath']['File']					= $Config['UserFilesPath'];
210
$Config['FileTypesAbsolutePath']['File']		= $Config['UserFilesAbsolutePath'] ;
211
$Config['QuickUploadPath']['File']				= $Config['UserFilesPath'] ;
212
$Config['QuickUploadAbsolutePath']['File']	= $Config['UserFilesAbsolutePath'] ;
213

    
214
$Config['AllowedExtensions']['Image']			= array('bmp','gif','jpeg','jpg','png') ;
215
$Config['DeniedExtensions']['Image']			= array() ;
216
$Config['FileTypesPath']['Image'] 				= $Config['UserFilesPath'] ;
217
$Config['FileTypesAbsolutePath']['Image'] 	= $Config['UserFilesAbsolutePath'];
218
$Config['QuickUploadPath']['Image'] 			= $Config['UserFilesPath'] ;
219
$Config['QuickUploadAbsolutePath']['Image']	= $Config['UserFilesAbsolutePath'] ;
220

    
221
$Config['AllowedExtensions']['Flash']			= array('swf','flv') ;
222
$Config['DeniedExtensions']['Flash']			= array() ;
223
$Config['FileTypesPath']['Flash']				= $Config['UserFilesPath'];
224
$Config['FileTypesAbsolutePath']['Flash'] 	= $Config['UserFilesAbsolutePath'];
225
$Config['QuickUploadPath']['Flash']				= $Config['UserFilesPath'] ;
226
$Config['QuickUploadAbsolutePath']['Flash']	= $Config['UserFilesAbsolutePath'] ;
227

    
228
$Config['AllowedExtensions']['Media']			= array('swf','flv','jpg','gif','jpeg','png','avi','mpg','mpeg') ;
229
$Config['DeniedExtensions']['Media']			= array() ;
230
$Config['FileTypesPath']['Media']				= $Config['UserFilesPath'] . '' ;
231
$Config['FileTypesAbsolutePath']['Media']		= $Config['UserFilesAbsolutePath'];
232
$Config['QuickUploadPath']['Media']				= $Config['UserFilesPath'] ;
233
$Config['QuickUploadAbsolutePath']['Media']	= $Config['UserFilesAbsolutePath'] ;
234

    
235
?>
(3-3/10)