Файловый менеджер - загрузка файлов для CKEditor 4.4.4

+24
9.13K
Хороший файловый менеджер и загрузчик файлов для редактора CKEditor 4.4.4 ICMS 2.11.
Иллюстрация
Пожалуй лучшего решения на сегодняшний день для меня это менеджер
KCFinder автор Pavel Tzonkov. Поддержка сессий, защита директорий,
обширные настройки и типы файлов, их проверка, возможность интегрировать как в CK, так и TinyMCE,
русский-украинский и др языки, лицензия, бесплатность… документация. Мне понравилось все.

Интеграция с редактором CKEditor для InstantCms выполняется одним росчерком в файле .

1) Заходим в папку wysiwyg/ckeditor/ и открываем файл config.js. В самом конце, перед символом };
вставляем код:

  1. config.filebrowserBrowseUrl = '/kcfinder/browse.php?opener=ckeditor&type=files';
  2. config.filebrowserImageBrowseUrl = '/kcfinder/browse.php?opener=ckeditor&type=images';
  3. config.filebrowserFlashBrowseUrl = '/kcfinder/browse.php?opener=ckeditor&type=flash';
  4. config.filebrowserUploadUrl = '/kcfinder/upload.php?opener=ckeditor&type=files';
  5. config.filebrowserImageUploadUrl = '/kcfinder/upload.php?opener=ckeditor&type=images';
  6. config.filebrowserFlashUploadUrl = '/kcfinder/upload.php?opener=ckeditor&type=flash';
2) Файл класса редактора wysiwyg/ckeditor.wysiwyg.class.php
  1.  
  2. <?php
  3. class cmsWysiwygCkeditor{
  4. function __construct(){}
  5. public function displayEditor($field_id, $content=''){
  6.  
  7. $lang = cmsConfig::get('language');
  8. $user = cmsUser::getInstance();
  9. cmsTemplate::getInstance()->addCSS('wysiwyg/ckeditor/samples/sample.css');
  10. cmsTemplate::getInstance()->addJS('wysiwyg/ckeditor/ckeditor.js');
  11.  
  12. $dom_id = str_replace(array('[',']'), array('_', ''), $field_id);
  13.  
  14. echo html_textarea($field_id, $content, array('id'=>$dom_id));
  15.  
  16. ?><script type="text/javascript" >
  17.  
  18. <?php if ($user->is_admin) { ?>
  19.  
  20. $(document).ready(function(){
  21. CKEDITOR.replace('<?php echo $dom_id; ?>',{
  22. });
  23. });
  24.  
  25. <?php } ?>
  26. </script>
  27. <?php
  28. }
  29. }
  30.  
$user->is_admin только для тестирования админа.
3)Скачать релиз KCFinder 3.12
Разместить папку kcfinder в корне сайта ( можно размещать в любой директории-соответственно
указав путь в конфигурации вставляемой в config.js

4) немного правим конфиг KCFinder открываем файл ./kcfinder/conf/config.php
и включаем менеджер установив 'disabled' в false
  1. // GENERAL SETTINGS
  2.  
  3. 'disabled' => false,
Для нанесения водяных знаков изменяем 'watermark'
  1.  
  2. 'watermark' => array('file'=>'path/domen/images/watermark.png','left'=>30,'top'=>30),
  3.  
Где file=путь к изображению, left=отступ от левого края, top=отстут от верхнего края.
Файлы после загрузки располагаются в директории /kcfinder/
в папке images большие изображения в папке ..thumbs. миниатюры.
Размер и качество выставляются в конфигурации.
Максимальных размер загружаемого изображения
  1.  
  2. 'jpegQuality' => 90, //качество
  3. 'maxImageWidth' => 800,// максимальный ширина и высота пережатого изображения
  4. 'maxImageHeight' => 800,
установка в 0 сохранит первоначальный размер.
Изображения миниатюр
code=php]
'thumbWidth' => 100, 'thumbHeight' => 100,[/code]
Возможность выбора библиотек обработки изображений
  1.  
  2. //'imageDriversPriority' => "imagick gmagick gd",
  3. 'imageDriversPriority' => "gd",//выбрана GD библиотека
  4.  
Возможность конфигурации загружаемых типов файлов
  1. 'files' => ""// txt, или другие,
  2. 'flash' => "swf",//флеш
  3. 'images' => "*img",/изображения
только флеш и изображения.
Подробная документация на сайте разработчика
Настройки безопасности документация
Предупреждение! Не используйте данный материал в этом виде, на рабочих проектах.
Файлы browse и upload созданы для демонстрации работы, и к ним есть прямой доступ с адресной строки… нальют и затопят!
Менеджер пишет сессии и кукисы, остается связать авторизацию пользователя — распределить права, закрыть — открыть доступ к менеджеру
В директории.integration есть два интеграционных файла для систем drupal и BolmerCM.
Протестируйте пожалуйста. И выскажите свои мнения!

Есть намерения о дальнейшей работой над единым файловым менеджером и загрузчиком для всех редакторов системы.


###############################

Все спасибо, вешайте на этот счет!
ЯД 410012594149116

olg-lubimova КОШЕЧКА yandex.ru
##############################
+3
Aryuts Aryuts 10 лет назад #
Опередили меня. v Хотел после создания блога написать о нем. Ну, чтож будем тестировать. Однозначно спасибо.
+2
SpaceSel SpaceSel 10 лет назад #
Будем надеяться, что разработчики обратят на это внимание и в последующей версии мы получим нормальный редактор.
0
sotastroy sotastroy 10 лет назад #
Соглашусь, хотя пока 2-ку не тестировал и редактор не изучал. Но проблемы первой ветки очень не хочется иметь во второй..
+3
r2 r2 10 лет назад #
Куда ложатся файлы при загрузке?
Файлы пережимаются? Переименовываются?

У всех подобных "менеджеров" есть обратная сторона - повальная дырявость.
0
oll oll 10 лет назад #
Настройка размещения файлов после загрузки в конфигурационном файле kcfinder/conf/config.php
Код PHP:
  1. // GENERAL SETTINGS
  2. 'disabled' => false,
  3. 'uploadURL' => "upload",
  4. 'uploadDir' => "images",
  5. 'theme' => "default",
Стандартная директория ICMS upload / images .
На данном этапе (архив от разработчика) дырявость ,это входные файлы инициализирующие классы,
Посмотрю отзывы , он используется в drupal
Есть два пути решения. Использовать сборку от разработчика.
И второй путь это ( использовать основные классы browse in upload ) в составе компонента "файловый менеджер и загрузчик".
0
oll oll 10 лет назад #
Поправкаю
.Выше указано для директория kcfinder/upload/

Для стандартной директории Icms upload так
Код PHP:
  1. 'uploadURL' => "../upload",
  2. 'uploadDir' => "",
0
jorgovich jorgovich 9 лет назад #
Что это за дырявость и чем чревата, можно где нибудь почитать, мне нужно например чтоб грузили фото в материалы только проверенные пользователи (контенщики, админы, модераторы)? Т.е редактор больше для людей не владеющими знаниями в верстке и хтмл, но умеющими работать с редакторами грузить картинки, вставлять таблицы, видео. В tinymce принцип загрузки точно так же или нет? И собственно напрашивается вопрос как обходят эту дырявость в других системах?
-3
letsgo letsgo 10 лет назад #
Не работает. Где то пропущено видимо что то.
0
oll oll 10 лет назад #
Очень не рекомендую использовать это решение, Это более стартовый инструмент для разработчика, сравнить кто чем реализует высшие духовные потребности реализаций решений. Это возможно выполнить более простыми и безопасными методами системы.Чем и занимаюсь.
0
sferoid sferoid 5 лет назад #
День добрый!

Просьба подскажите как kcfinger защитить сеанс, написал вот так в config.php, но просто выбрасывает, а оставлять открытым как то боязно (инстант 2.12)

<?php
session_start();
require_once '../../../bootstrap.php';
$user = cmsUser::getInstance();
$on = true;
if (cmsUser::isAdmin()) { $on = false; }
$_CONFIG = array(
// GENERAL SETTINGS
0
Дмитрий Дмитрий 9 лет назад #
Всё работает. Но есть ошибка в описании - 2) Файл класса редактора wysiwyg/ckeditor.wysiwyg.class.php
Правильно будет так: 2) Файл класса редактора wysiwyg/ckeditorw/ysiwyg.class.php

Ещё я себе в ckeditor интегрировал иппод - http://uppod.ru/help/q=ckeditor

Еще от автора

SEO FAQ ICMS v 1.10.4
Полнофункциональное SEO решение для компонента "FAQ" ICMS v1.10.4
SEO board ICMS v 1.10.4
Полнофункциональное SEO решение для компонента "Доска обьявлений" ICMS v1.10.4
SEOBOX  сборка ICMS 1.10.4
Начата реализация SEO дистрибутива системы ICMS версии 1.10.4
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.