Сортировка изображений в TinyMCE — плагине MCImageManager

Есть в одном очень популярном WSIWYG редакторе TinyMCE плагин загрузчика изображений, называется он — MCImageManager. Плагин зачётный, всё в нём работает отлично, очень удобно, есть поддержка загрузки нескольких изображений, но есть одна очень напрягабельная вещица и связанна она с сортировкой изображений после загрузки оных на сервер.

Загрузка изображений в TinyMCE

Поясню на примере. Грузишь ты какое-нибудь изображение на сервер, или даже не одно, а три например. Выбрал с компа три изображения, нажал кнопку загрузить, пошла загрузка и картинки загрузились в общую папку с ещё сотней картинок, которые лежали там ранее. Как думаешь, как они отсортировались там? По алфавиту друг! И вот те твои три новых изображения, разлетелись по всему каталогу в перемешку со старыми изображениями. Красота? Фигня, а не красота! Будем решать.

На мой взгляд, самый удобный вариант сортировки изображений — это помещать новые загруженные файлы в самое начало каталога с изображениями. Загрузил ты три новых изображения — они у тебя появились в самом верху списка всех картинок.

Итак, решение сортировки изображений в TinyMCE MCImageManager.

1. Идёшь по адресу - tiny_mce/plugins/imagemanager/classes/FileSystems/LocalFileImpl.php

2. В файле находишь строку (у меня примерно 415) с таким кодом — sort($fileArray); и сразу под ней вставляешь этот код:

$sortedFiles = array();
foreach($fileArray as $file) {
     $key = filemtime($dir . "/" . $file);
     while(isset($sortedFiles[$key])) $key++;
     $sortedFiles[$key] = $file;
}
ksort($sortedFiles);
$fileArray = array_reverse(array_values($sortedFiles));

3. Сохрани файл и пробуй загрузить картинки через TinyMCE и MCImageManager, должно всё работать чётко!

В результате, вот последние три изображения, которые я пакетно загрузил на сервер. Всё удобно, загрузил последними — значит вот они, сразу под рукой, работай с ними дальше.

Результат сортировки изображений в плагине ImageManager

ТЕГИ: codeigniter
КОММЕНТАРИИ:




Двинь Спанч Боба впрво и жми отправить