Задача делится на 2 части 1. Публичный сервис (API), конвертирующий документы 2. Плагин для CKEditor, демонстрирующий использование этого сервиса для корректной загрузки документов в Joomla. Отдельно конечно интересен вопрос с картинками. Сейчас у меня есть скрипт, который копирует картинки на сайт в нужное место, просто файлы, и публикует сконвертированный html прямо в базу. Надо продумать, как это можно сделать как можно более независимо и правильно. Конвертор документов у меня сейчас работает по ssh примерно так: $ ssh $CONVHOST "~/bin/convert_ooo_to_html '$LATINNAME'" > $RETZIP То есть предварительно копируем туда файл документа, а потом в ответ получаем zip, содержащий html и картинки.
1. Есть скрипт, который конвертирует документ в html + картинки 2. Есть возможность обращаться к нему по ssh (это скрыто другим скриптом, так что по сути, есть скрипт, который мы можем вызывать у себя и он выполнит конвертирование) 3. Нужно сделать веб-сервис, который будет конвертировать документы 4. Нужно встроить этот сервис в виде кнопки в редактор, чтобы в редактор можно было загрузить doc-файл
по кнопочке в CKEditor, по сути, должен открываться диалог выбора doc-файла, а затем он должен быть отображен в редакторе.
$LATINNAME - это имя входного doc-файла $RETZIP - имя выходного архива
1) Создано диалоговое окно, с помощью которого происходит загрузка файла на сервер 2) Создан серверный php-скриптю, который возвращает содержимое загруженного html-файла 3) Содержимое, возвращенное с сервера, отображается в главном окне CKEditor
Оставишь адрес, по которому посмотреть можно будет (если уже можно протестировать).
Адрес для просмотра - http://khalatov.pubsandbox.eterhost.ru/ckeditor/
Просмотрел то, что уже сделано. Не увидел самого конвертера, просто загрузка и вывод содержимого файла (не обработанного) в текстовое поле редактора.
Переписан текущий плагин для CKEditor, почищен код, без всего лишнего, добавлена иконка. Сделана заглушка для скрипта (на время). Немного изменена логика плагина. Сейчас по нажатию на кнопку в редакторе открывается окно с выбором документа и кнопкой для начала конвертирования. После начала окошко закрывается и выполняется php скрипт, который обращается к конвертеру и проверяет наличие сконвертированного документа. Если все прошло успешно, выводится сообщение и текст вставляется в редактор.
Надо бы по созданию сервиса конвертирования сделать отдельную багу, а эту сделать зависящей. И вот опыт по созданию изолированного сервиса конвертации: http://habrahabr.ru/post/175053/
Откладываем задачи, к которым не обращались более 100 дней.