Pull to refresh

CKEditor файловый менеджер

Reading time4 min
Views27K
В связи с выходом новой версии популярного и весьма функционального WYSIWYG редактора, пришлось сделать небольшой файл менеджер.

Причиной тому послужило отсутствие по умолчанию стандартного файл менеджера, есть конечно CKFinder но он на платной основе.
Поискав разные альтернативы решил потратить время на создание простенького но своего файл менеджера на манер CKFinder'а, что вам и представляю.
Пришлось поискать как интегрировать его с редактором, документации мало, но в конце концов вроде получилось :)

Возможности: Загрузка нескольких файлов, создание папок, транслит закачиваемых файлов, переименование, хотя чего перечислять стандартно всё :)
Общий стиль на манер CKFinder в гамме ACDSee 3

Язык можно изменить в index.html
  1. <script type="text/javascript" src="lang/ru.js"></script>


Скриншот
ckeditor file manager

По поводу настроек:

Подключение в <head></head>
<br/><script type="text/javascript" src="ckeditor.js"></script><br/><script type="text/javascript" src="ajexFileManager/ajex.js"></script><br/> <br/>


И непосредственно на странице
<br/><script type="text/javascript"><br/>var editor = CKEDITOR.replace('editor1');<br/>ajexFileManager(editor, '/path/to/ckeditor');<br/></script> <br/>


Из основных настроек "ajax/cfg.php"
<br/>$cfg['url'] = 'upload'; // Папка для загрузок по типам, на манер как раньше было<br/>$cfg['root'] = $_SERVER['DOCUMENT_ROOT'] . DIR_SEP . $cfg['url'] . DIR_SEP; // http://www.yousite.com/upload/        абсолютный путь до папки<br/>$cfg['quickdir'] = ''; // Папка для быстрой загрузки, это закладка Закачать - не открывая файл менеджер, пример: $cfg['quickdir'] = 'quick-folder'; само собой будет по типам, если грузите изображение то оно попадет в /upload/image/quick-folder/filename.jpg<br/> <br/> <br/>$cfg['thumb']['width'] = 150; // ширина создаваемых превьюшек<br/>$cfg['thumb']['height'] = 120; // высота<br/>$cfg['thumb']['quality']= 80; // качество сжатия<br/>$cfg['thumb']['cut'] = true; // дабы превьюшки не вызывали смех они будут резаться, а не пропорционально уменьшаться<br/>$cfg['thumb']['auto'] = true; // если изображения были закачены через ftp то автоматически превью не создастся, поэтому при включенной данной опции будет проверка на существование превьюшки<br/>$cfg['thumb']['dir'] = '_thumb'; // скрытая папка которая будет создаваться там где лежат изображения, думал делать одну для всех, но решил пока так сделать<br/>$cfg['thumb']['date'] = "j.m.Y, H:i"; // дата в отображении с именами файлов<br/> <br/>// ну тут всё понятно, права выставляеме файлам и папкам при создании и загрузке<br/>$cfg['chmod']['file'] = 0777;<br/>$cfg['chmod']['folder'] = 0755;<br/> <br/>


Сам по себе не тяжелый (собственно несколько текстовых файлов), изображения расширений только объем занимают

Скачать:
Только сам файл менеджер (.rar ~335Kb)
Полностью вместе с CKEditor (.rar ~1.1Mb)


Файл менеджер делался для себя, но наверняка еще кому-нибудь пригодится. Не лишён глюков и некоторого функционала, всё постепенно со временем сделаю/исправлю, если интерес у сообщества будет :)
Последующие обновления буду публиковать здесь и у себя на сайте

P/S: Первый пост, кармы нету, поэтому в «web разработка» не могу перенести(fixed: спасибо за карму, перенёс), и подсветку синтаксиса для кода не нашёл покамесь как сделать здесь(спасибо за совет krig, думал здесь встроенная есть) :)

upd demo

upd
Исправил пару проблем:
— добавил предварительную проверку на php расширения gd и mbstring
— убрал ограничение на закачку файлов, оказывается стояли только графические файлы, теперь можно любые закачивать
— при переименовании файла не удалялась старая превьюшка, и теперь нельзя переименовывать в файлы без расширения и в недопустимые форматы :)

upd: 0.8.1
— Всё таки решил превьюшки ложить в отдельную папку, чтобы пачки папок не разводить, структура будет аналогичная оригиналу
— Сделал сортировку файлов
— Добавил в дерево размер папки
— Немного изменил структуру папок
— Сделал простенькую проверку на работоспособность, необходимо вызывать php файл напрямую с isWork, пример: ckeditor/ajexFileManager/ajax/php/ajax.php?isWork
— Ну и по мелочам исправил и изменил разное :)

upd: 0.8.2
— косметические изменения :)

В архиве файл менеджер и ckeditor + пример подключения
Скачать Ajex.FileManager 0.8.2 ~740 Kb
Tags:
Hubs:
+35
Comments36

Articles