Home Home  

FCKeditor 2.5 - Resources Browser problem solved

The Resources Browser of FCKeditor 2.5 is in the normal configuration not working.

You'll have to make the following alterations to make it function:

  • Change the config.php(../fckeditor/editor/filemanager/connectors/php). I've marked the code in error with the remark Old code and the correct code is placed underneath. The changed config.php can be downloaded here.

  • I assume that userfiles, default of FCKeditor, is used as main directory for files uploaded by users. Of course you can pick a different name for the main directory.

  • Additional steps needed:

    • create directory userfiles in de document-root
    • create sub-directory file in directory userfiles
    • create sub-directory image in directory userfiles
    • create sub-directory flash in directory userfiles
    • create sub-directory media in directory userfiles
    • chmod the directories to 0777
    • optional: chown the directories with an appropriate user and group
  • An, optional, addition that should be made to the file is the insertion of security logic to ensure that only authenticated users with a certain role are able to upload etc.

Have fun with the FCKeditor.

This is the config.php like it should be.

/*
 * FCKeditor - The text editor for Internet - http://www.fckeditor.net
 * Copyright (C) 2003-2007 Frederico Caldeira Knabben
 *
 * == BEGIN LICENSE ==
 *
 * Licensed under the terms of any of the following licenses at your
 * choice:
 *
 *  - GNU General Public License Version 2 or later (the "GPL")
 *    http://www.gnu.org/licenses/gpl.html
 *
 *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
 *    http://www.gnu.org/licenses/lgpl.html
 *
 *  - Mozilla Public License Version 1.1 or later (the "MPL")
 *    http://www.mozilla.org/MPL/MPL-1.1.html
 *
 * == END LICENSE ==
 * Changes for symfony by Frank van Noorden, date: January 17, 2008
 * The old code is left in the source and marked "Old code"
 *
 * Configuration file for the File Manager Connector for PHP.
 */
 
global $Config ;
 
// SECURITY: You must explicitly enable this "connector". (Set it to "true").
// WARNING: don't just set "$Config['Enabled'] = true ;", you must be sure that only 
//      authenticated users can access this file or use some kind of session checking.
// 
// You really need to built in some code to be sure that only auth. users can access this file
// Old code: $Config['Enabled'] = false ;
$Config['Enabled'] = true ;
 
// Path to user files relative to the document root.
// Old code: $Config['UserFilesPath'] = '/userfiles/' ;
$Config['UserFilesPath'] = DIRECTORY_SEPARATOR . 'userfiles' . DIRECTORY_SEPARATOR ;
 
// Fill the following value it you prefer to specify the absolute path for the
// user files directory. Useful if you are using a virtual directory, symbolic
// link or alias. Examples: 'C:\\MySite\\userfiles\\' or '/root/mysite/userfiles/'.
// Attention: The above 'UserFilesPath' must point to the same directory.
// Old code: $Config['UserFilesAbsolutePath'] = '' ;
$Config['UserFilesAbsolutePath'] = $_SERVER[DOCUMENT_ROOT] . $Config['UserFilesPath'] ;
 
// Due to security issues with Apache modules, it is recommended to leave the
// following setting enabled.
$Config['ForceSingleExtension'] = true ;
 
// Perform additional checks for image files
// if set to true, validate image size (using getimagesize)
$Config['SecureImageUploads'] = true;
 
// What the user can do with this connector
$Config['ConfigAllowedCommands'] = array('QuickUpload', 'FileUpload', 'GetFolders', 'GetFoldersAndFiles', 'CreateFolder') ;
 
// Allowed Resource Types
$Config['ConfigAllowedTypes'] = array('File', 'Image', 'Flash', 'Media') ;
 
// For security, HTML is allowed in the first Kb of data for files having the
// following extensions only.
$Config['HtmlExtensions'] = array("html", "htm", "xml", "xsd", "txt", "js") ;
 
/*
    Configuration settings for each Resource Type
 
    - AllowedExtensions: the possible extensions that can be allowed. 
        If it is empty then any file type can be uploaded.
    - DeniedExtensions: The extensions that won't be allowed. 
        If it is empty then no restrictions are done here.
 
    For a file to be uploaded it has to fulfill both the AllowedExtensions
    and DeniedExtensions (that's it: not being denied) conditions.
 
    - FileTypesPath: the virtual folder relative to the document root where
        these resources will be located. 
        Attention: It must start and end with a slash: '/'
 
    - FileTypesAbsolutePath: the physical path to the above folder. It must be
        an absolute path. 
        If it's an empty string then it will be autocalculated.
        Useful if you are using a virtual directory, symbolic link or alias. 
        Examples: 'C:\\MySite\\userfiles\\' or '/root/mysite/userfiles/'.
        Attention: The above 'FileTypesPath' must point to the same directory.
        Attention: It must end with a slash: '/'
 
     - QuickUploadPath: the virtual folder relative to the document root where
        these resources will be uploaded using the Upload tab in the resources 
        dialogs.
        Attention: It must start and end with a slash: '/'
 
     - QuickUploadAbsolutePath: the physical path to the above folder. It must be
        an absolute path. 
        If it's an empty string then it will be autocalculated.
        Useful if you are using a virtual directory, symbolic link or alias. 
        Examples: 'C:\\MySite\\userfiles\\' or '/root/mysite/userfiles/'.
        Attention: The above 'QuickUploadPath' must point to the same directory.
        Attention: It must end with a slash: '/'
 
        NOTE: by default, QuickUploadPath and QuickUploadAbsolutePath point to 
        "userfiles" directory to maintain backwards compatibility with older versions of FCKeditor. 
        This is fine, but you in some cases you will be not able to browse uploaded files using file browser.
        Example: if you click on "image button", select "Upload" tab and send image 
        to the server, image will appear in FCKeditor correctly, but because it is placed 
        directly in /userfiles/ directory, you'll be not able to see it in built-in file browser.
        The more expected behaviour would be to send images directly to "image" subfolder.
        To achieve that, simply change
            $Config['QuickUploadPath']['Image']         = $Config['UserFilesPath'] ;
            $Config['QuickUploadAbsolutePath']['Image'] = $Config['UserFilesAbsolutePath'] ;
        into:   
            $Config['QuickUploadPath']['Image']         = $Config['FileTypesPath']['Image'] ;
            $Config['QuickUploadAbsolutePath']['Image']     = $Config['FileTypesAbsolutePath']['Image'] ;           
 
*/
 
$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') ;
$Config['DeniedExtensions']['File']     = array() ;
$Config['FileTypesPath']['File']        = $Config['UserFilesPath'] . 'file/' ;
$Config['FileTypesAbsolutePath']['File']= ($Config['UserFilesAbsolutePath'] == '') ? '' : $Config['UserFilesAbsolutePath'].'file/' ;
// Old code: $Config['QuickUploadPath']['File']     = $Config['UserFilesPath'] ;
// Old code: $Config['QuickUploadAbsolutePath']['File']= $Config['UserFilesAbsolutePath'] ;
$Config['QuickUploadPath']['File']          = $Config['FileTypesPath']['File'] ;
$Config['QuickUploadAbsolutePath']['File']  = $Config['FileTypesAbsolutePath']['File'] ;            
 
$Config['AllowedExtensions']['Image']   = array('bmp','gif','jpeg','jpg','png') ;
$Config['DeniedExtensions']['Image']    = array() ;
$Config['FileTypesPath']['Image']       = $Config['UserFilesPath'] . 'image/' ;
$Config['FileTypesAbsolutePath']['Image']= ($Config['UserFilesAbsolutePath'] == '') ? '' : $Config['UserFilesAbsolutePath'].'image/' ;
// Old code: $Config['QuickUploadPath']['Image']        = $Config['UserFilesPath'] ;
// Old code: $Config['QuickUploadAbsolutePath']['Image']= $Config['UserFilesAbsolutePath'] ;
$Config['QuickUploadPath']['Image']         = $Config['FileTypesPath']['Image'] ;
$Config['QuickUploadAbsolutePath']['Image']     = $Config['FileTypesAbsolutePath']['Image'] ;       
 
$Config['AllowedExtensions']['Flash']   = array('swf','flv') ;
$Config['DeniedExtensions']['Flash']    = array() ;
$Config['FileTypesPath']['Flash']       = $Config['UserFilesPath'] . 'flash/' ;
$Config['FileTypesAbsolutePath']['Flash']= ($Config['UserFilesAbsolutePath'] == '') ? '' : $Config['UserFilesAbsolutePath'].'flash/' ;
// Old code: $Config['QuickUploadPath']['Flash']        = $Config['UserFilesPath'] ;
// Old code: $Config['QuickUploadAbsolutePath']['Flash']= $Config['UserFilesAbsolutePath'] ;
$Config['QuickUploadPath']['Flash']         = $Config['FileTypesPath']['Flash'] ;
$Config['QuickUploadAbsolutePath']['Flash']     = $Config['FileTypesAbsolutePath']['Flash'] ;       
 
$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') ;
$Config['DeniedExtensions']['Media']    = array() ;
$Config['FileTypesPath']['Media']       = $Config['UserFilesPath'] . 'media/' ;
$Config['FileTypesAbsolutePath']['Media']= ($Config['UserFilesAbsolutePath'] == '') ? '' : $Config['UserFilesAbsolutePath'].'media/' ;
// Old code: $Config['QuickUploadPath']['Media']        = $Config['UserFilesPath'] ;
// Old code: $Config['QuickUploadAbsolutePath']['Media']= $Config['UserFilesAbsolutePath'] ;
$Config['QuickUploadPath']['Media']         = $Config['FileTypesPath']['Media'] ;
$Config['QuickUploadAbsolutePath']['Media']     = $Config['FileTypesAbsolutePath']['Media'] ;       
 

I will probably make more changes to FCKeditor, Contact me if you want to be informed about other changes to FCKeditor or the Resources Browser.

Updated at: 2008-03-20

Search

 
 


Popular Tags



Info

About this site
Copyright
Contact
Sitemap


User options

Change font size (Help)


User friendly printing (Help)

 


Valid XHTML 1.0 Transitional