Live Editor для 1.10.4 и выше - работа напильником, отлов багов
Нужен ли Flickr в этом редакторе?
Оказывается он может быть работоспособным . Посмотреть на результат можно на демо-сайте (логин/пароль: demoadmin/demoadmin). Потрогать можно, скачав архив из моего профиля. Прямую ссылку не выкладываю, так как ещё будет допиливаться, а так может, кто-то случайно карму поднимет . Пока ставить на рабочий сайт не рекомендую. Работать будет — как на демо, но есть недоделки:
1. Загрузка файлов на сервер и ограничение по группам на чтение/запись — пока в процессе.
2. Есть три кнопки сохранения контента (на примере статьи или новости). Они работают по разному.
Первая кнопка "сохранить" находится после формы редактирования из фронта. Я знаю точно, что при нажатии на нее идёт обработка тегов и не всегда получается нужный результат. Уже исправил обрезку тега "class" у изображений, но надо найти как можно больше случаев когда при сохранении с фронта в этом редакторе теряется часть информации.
Вторая кнопка "сохранить" находится перед формой создания/редактирования статьи и выглядит, как галочка в зелёном кружке. Она пока для меня загадочным образом работает, что-то сохраняет, а что-то нет. Надо выяснить, что и как.
Третья кнопка "сохранить" находится после формы создания/редактирования статьи в админке. С ней я и экспериментировал. На данный момент проблем с ней нет.
3. Flickr — он вообще кому-то, нужен? У меня нет аккаунта там, поэтому проверить работоспособность его пока не получается, но у кого есть можете вписать своё имя пользователя в админке плагина и проверить — вдруг заработает . Другие облачные сервисы и файловые хранилища прикручивать не буду. Чем меньше сторонних внедрений, тем лучше и безопаснее работает система.
4. Код ещё грязный. Зачищу ближе к финалу.
Немного о работе напильником:
1. Изменил структуру и местами тип файлов (.htm на .php) редактора.
2. Вынес все стили в файлы css. Я не дизайнер, поэтому вывод модальных окон привёл к общему виду (дизайн аля "чтоб, не стошнило"). Если есть грамотные спецы в области юзабилити, пришлите картинки куда и какие кнопки воткнуть — воткну.
3. Добавил поддержку кириллицы в шрифтах от Google. Да и вообще сделал их работоспособными в самом редакторе.
4. Вынес все стили для ссылок, картинок, видео в ютубе, таблиц в отдельные css файлы, которые надо подключить в
вашем шаблоне. (В архиве есть инструкция с какими файлами, что делать). Теперь вы можете сами изменить стили
в этих файлах на своё усмотрение и они автоматом отобразятся нужным образом в редакторе. Названия классов
изменять или добавлять/удалять не стоит. А вот их содержимое — как угодно.
5. Добавил несколько настроек, в которых вы можете указать, какие функции редактора, каким группам доступны.
В целом что-то открыл, что-то объединил с другим, но функционал оставил максимальным.
Итак, к чему я всё тут написал:
Нужна ваша помощь. Необходимо определить, какие функции редактора не отрабатывают должным образом по первой и второй кнопкам "сохранить".
Этот редактор в моём исполнении, я предоставляю как есть и он останется бесплатным в финальном релизе. В итоге если получится редактор менее "глючным", можно смело идти к разработчикам и просить их внедрить такой функционал в первую ветку. Если разработчики надумают его (или на его основе) использовать для внедрения в систему, я буду только "за".
В этой ветке прошу писать только о проблемах, багах и недочётах. Ваши "хотелки" я рассмотрю, но скорее всего пропущу. Поэтому, их тоже, тут можно не писать. Про желание иметь такое во второй ветке, я уже знаю, можете не писать, отвечать не буду, пока не закончим с этим.
Сложнее всего с модальными окнами — там куча кнопок которых нет в этом списке, поэтому их я припишу сюда позже позже.
"Ссылка"
"Закладка"
"Изображение"
"Флеш"
"Медиа"
"Контент блок"
"Вставить таблицу"
"Размер таблицы"
"Редактировать таблицу"
"Редактировать ячейку"
"Таблица"
"Автоформатирование таблицы"
"Границы и тени"
"Выбрать тег"
"Очистить все"
"Теги"
"Пользовательские цвета"
"Другие цвета..."
"Расширенный редактор таблиц"
"Редактировать Таблицу/Ячейку"
"Вставить текст"
"Таблица"
"Шрифты"
"Текст"
"Видео с YouTube" — не вставляется с фронта
Ужель с коробки кириллица не робить? Как-то ни разу не заметил этого за последние года использования данного редактора.3. Добавил поддержку кириллицы в шрифтах от Google. Да и вообще сделал их работоспособными в самом редакторе.
Что будет, если некий озлобленный человечек отправит на ваш сайт запрос подобный такому
4.krivo.pro/plugins/p_live/live/assets/delfolder.php?folder=../../../../core
предварительно добавив в заголовок запроса XMLHttpRequest?
Не знаю из какой коробки ваш редактор, но в той, что досталась мне вставка шрифтов от гугла происходила так: Выделял предложение с русскими и английскими словами. Выбирал нужный шрифт. При этом в поле редактора предложение не применяло шрифт, а лишь слегка уменьшало размер шрифта. После того как я сохранял статью, во фронте слова которые были английскими, отображались с нужным шрифтом, а русские были без изменений, хотя по коду стиль применялся ко всему предложению. Сейчас же работает — ко всем словам (и кириллица и латиница) и отображается сразу в поле редактора.Ужель с коробки кириллица не робить?
сейчас может быть всё, что угодно, так как я только дошел до работы с загрузчиком и обработчиком файлов. Об этом я и писал первым пунктом, почему я не рекомендую ставить на рабочий сайт.И, попутно
Просто подумал, пока я буду его делать, сообщество косяки некоторые найдёт, и вместе устраним.
Мне будет интересно посмотреть ваш вариант, когда закончите этот момент.я только дошел до работы с загрузчиком и обработчиком файлов
Давайте использовать единый загрузчик файлов cmsUploader, что мешает в ajax запросе из js обратиться к контроллеру ( one_upload)Loadырь: я только дошел до работы с загрузчиком и обработчиком файлов Мне будет интересно посмотреть ваш вариант, когда закончите этот момент.
где определен штатный класс cmsUploader -обработки $_FILES.
Ckeditor tinymce можно адаптировать по этой методике, в live патология полная (лицензия редактора и кодировка кода определяет дальнейшие действия для использования.)
Есть другие варианты?
Давайте как разработчики определи единый компонент для внешней загрузки.А права и привелегии будут определены как конфиг вызывающего действия.
Это весьма мудрое предложение. r2 и Fuze приложили немало усилий, чтобы дать в пользование множество различных инструментов. Ими необходимо лишь научиться правильно пользоваться и придерживаться единого (заданого r2) стиля при написании своих "поделок".Давайте использовать единый загрузчик файлов
Без точки после "предложение" это будет звучать 100% правильно!Это весьма мудрое предложение r2 и Fuze
Что-то не нашёл я в первой ветке такой класс в штатке. Там есть только cmsUploadPhoto для загрузки фото. Но даже fckeditor его не использует, для вставки изображений в текст.Давайте использовать единый загрузчик файлов cmsUploader
Поясните, что вы тут имели в виду.в live патология полная (лицензия редактора и кодировка кода определяет дальнейшие действия для использования.)
Для первый веток cmsUploadPhoto так и сложилось, что в итоге пользуемся core/ajax/imginsert.php
Создает новый обьект cmsUploadPhoto
Подготавливаем класс загрузки фото
cmsCore::loadClass('upload_photo');
входные параметры
$inUploadPhoto ->
// загружаем фото
$file = $inUploadPhoto->uploadPhoto();