Z myślą o użytkownikach którzy pragną dodać pliki graficzne z własnego komputera, utworzony został CKFinder który można zintegrować w CKEditor. Niestety jest on płatny… Na szczęście jest PGRFileManager!

Poniżej opisuję proces integracji darmowego menedżera plików PGRFileManager w edytorze CKEditor. Zakładam że posiadamy już CKEditor.

Pobierz PGRFileManager i rozpakuj do CKEditor/plugins/.

Edytuj CKEditor/config.js i dodaj na samym końcu:

CKEDITOR.plugins.load('pgrfilemanager');

Do poprawnego działania wymagana jest edycja trzech plików. A więc po kolei:

/ckeditor/plugins/pgrfilemanager/php/upload.php

– usuń  ostatnią linię (85)

exit(0);

– poniżej dodaj:

if(!isset($_GET['quickUpload'])) { exit(0);}

/ckeditor/plugins/pgrfilemanager/PGRFileManager.php

– znajdź linie (32,33)

$PGRUploaderExtension .= "*." . $extension;
 }

– następnie dodaj:

  /**
     * Quickupload using the "Upload" tab in ckeditor instead of the browse screen
     */
    if($_GET['quickUpload'] == 1 && $_FILES) {
        $_FILES['Filedata'] = $_FILES['upload'];
        include_once dirname(__FILE__) . '/php/upload.php';
        ?>
        <html>
            <body>
                <script type="text/javascript">
                    window.parent.CKEDITOR.tools.callFunction("<?=$_GET['CKEditorFuncNum']?>", "<?=PGRFileManagerConfig::$urlPath . '/' . $_FILES['Filedata']['name']?>");
                    window.close();
                </script>
            </body>
        </html>
        <?php
        exit(); // don't go any further
    }

 

/ckeditor/plugins/pgrfilemanager/plugin.js

– usuń linie 29-34

CKEDITOR.config.filebrowserBrowseUrl = CKEDITOR.basePath+'plugins/pgrfilemanager/PGRFileManager.php',
CKEDITOR.config.filebrowserImageBrowseUrl = CKEDITOR.basePath+'plugins/pgrfilemanager/PGRFileManager.php?type=Image',
CKEDITOR.config.filebrowserFlashBrowseUrl = CKEDITOR.basePath+'plugins/pgrfilemanager/PGRFileManager.php?type=Flash',
CKEDITOR.config.filebrowserUploadUrl = CKEDITOR.basePath+'plugins/pgrfilemanager/PGRFileManager.php?type=Files',
CKEDITOR.config.filebrowserImageUploadUrl = CKEDITOR.basePath+'plugins/pgrfilemanager/PGRFileManager.php?type=Image',
CKEDITOR.config.filebrowserFlashUploadUrl = CKEDITOR.basePath+'plugins/pgrfilemanager/PGRFileManager.php?type=Flash'

– i dodaj poniżej:

CKEDITOR.config.filebrowserUploadUrl = CKEDITOR.basePath+'plugins/pgrfilemanager/PGRFileManager.php?type=Files&quickUpload=1',
CKEDITOR.config.filebrowserImageUploadUrl = CKEDITOR.basePath+'plugins/pgrfilemanager/PGRFileManager.php?type=Image&quickUpload=1',
CKEDITOR.config.filebrowserFlashUploadUrl = CKEDITOR.basePath+'plugins/pgrfilemanager/PGRFileManager.php?type=Flash&quickUpload=1'

Integracja przebiegła pomyślnie ;)