CKFinder is an Ajax-based file manager created by CKEditor developers: http://ckfinder.com/. CKFinder support is already built into the CKEditor for Drupal module, but due to licensing issues you need to buy it separately, add the files to your Drupal site and then enable the file browser.
If you want to install CKFinder on your Drupal {{{version}}} site, follow the steps described below.
First of all, download CKFinder for PHP from the official CKFinder website.
Unpack the contents of the installation package into the directory that contains the CKEditor module and place it in the sites/all/modules/ckeditor/ckfinder
(or sites/all/libraries/ckfinder
) folder. . When the files are unpacked, you should see the following file structure inside the drupal/sites/all/modules
directory:
modules <dir> ckeditor <dir> ckeditor.css ckeditor.info ... ckeditor <dir> _samples <dir> _source <dir> adapters <dir> images <dir> ... ckeditor.js ... ckfinder <dir> _samples <dir> core <dir> ... ckfinder.js ckfinder.php ...
You will now need to grant the "{{{permission}}}" permission in the Administration panel > {{{path1}}} > Permissions section. Note: if you do not see this permission, it means that CKEditor did not find CKFinder and you have probably uploaded CKFinder into a wrong directory.
[[Image:Drupal_{{{version}}}_Enterprise_CKFinder_permission.png|frame|center|Granting CKFinder access permission in the Drupal Administration panel]]
Now open the CKFinder configuration file (ckfinder/config.php
) and introduce the code changes described below.
Firstly, remove the CheckAuthentication()
function (do not worry, this function is defined in filemanager.config.php
, see below):
function CheckAuthentication() <- remove it { <- remove it //WARNING : DO NOT simply... <- remove it ... <- remove it return false; <- remove it } <- remove it
For CKFinder installed in the sites/all/modules/ckeditor/ckfinder
directory add:
require_once '../../../../includes/filemanager.config.php';
straight below the following line:
$baseDir = resolveUrl($baseUrl);
For CKFinder installed in the sites/all/libraries/ckfinder
directory add:
require_once '../../../../../modules/ckeditor/includes/filemanager.config.php';
straight below the following line:
$baseDir = resolveUrl($baseUrl);
Now open the Drupal settings file (sites/default/settings.php
) and do the following:
- Uncomment the
$base_url
variable and set the base URL of your website (without the trailing slash). - Uncomment the
$cookie_domain
variable and set the domain name of your website.
Select CKFinder as a preferred file browser in the Administration panel > {{{path2}}} > CKEditor section (for a selected CKEditor profile scroll down to the File browser settings section).
[[Image:Drupal_{{{version}}}_OS_enable_CKFinder.png|frame|center|Selecting CKFinder as a preferred file browser in the Drupal Administration panel]]
You can now [[CKEditor_for_Drupal/Open Source/Drupal_{{{version}}}/Configuration|configure]] CKFinder settings in the File browser settings section for the CKEditor profile that you want to use. You may also change destination folders for files uploaded with CKFinder.