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
|
?>
|