Обновление редактора Tiny MCE до версии 4.5.4 с управлением группами пользователей + плюшки 2.X

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

В теме Редакторы для 2ки я уже начал знакомить сообщество с возможностями редактора Tiny MCE в качестве коллективного редактора с функцией разграничения прав пользователей. Об этих возможностях давно шла речь и в мае-июне 2016 года Геннадием Ивановичем была поднята большая тема были выполнены настройки и написан код.
Но была допущена небольшая ошибка, которую обнаружил Loadырь, за что ему еще раз большое спасибо. Найденная ошибка не позволяла использовать Tiny MCE в многооконном режиме. Теперь это позади.

Обновление редактора Tiny MCE до версии 4.5.4 с управлением группами пользователей + плюшки

Многим знакома эта картинка. Сегодня я предлагаю обновленный пакет редактора с групповыми настройками с последней версией Tiny MCE 4.5.4
Кстати каждый может безболезненно делать обновления до новой версии.

Еще раз, возможности редактора с групповыми настройками:

1. Можно давать свои права управления редактором каждой группе пользователей отдельно
2. У каждого пользователя собственная папка для загрузки файлов. Другие папки он не видит и свою удалить не может. Внутри папки делает что хочет.
3. Папки админа и пользователей в разных местах. Можно сделать в одном месте но это не всегда целесобразно.
4. На одной странице может работать в нескольких текстовых полях. У меня их 4-ре и все работает.
5. Кроме файлового менеджера 2 редактора изображений. Один работает прямо из статьи, а второй из файлового менеджера, но он признает изображения с названиями только на латинице и цифры.

В моем варианте Tinymce 8 групп. В новой версии обновлены права пользователей по максимуму (на мой вкус). Вам останется только что то удалять
Папка админа upload/editor/
Папка для всех пользователей upload/user/ а в ней папки для каждого пользователя вида u56, где 56 - id пользователя
Все настройки вы можете изменить под себя!

Теперь о плюшках:
1. В контекстное меню добавлено несколько функций из меню, что позволяет в большинство регулярных операций (кроме вставки) выполнять с помощью мышки не бегая в верхнее меню.
Кому мало функций или считаю лишними можно подправить в файле wysiwyg.class.php
строка contextmenu: 'undo redo | cut copy | link image media inserttable | cell row column deletetable',
Но хочу стразу предупредить, что не все функции способны работать в контекстном меню и они в нем даже не появляются.
Мое контекстное меню выглядит так:
Спойлер
В верхнем меню отключен MENUBAR - мозолит глаза и крайне редко используется. При желании включается там же в файле wysiwyg.class.php
в строке menubar : false, вместо false стамим true

2. Наверно самая интересная для многих плюшка - мой собственный плагин mymenu
Спойлер
В это плагине реализована моя мечта возможность держать под рукой наиболее часто используемые Теги (например из компонета Replacement), какие то фразы, куски текста, приветствия, рекламу, в том числе баннерные коды и пр.
В папке находятся 2 файла:
plugin.js - с исходным кодом, который можно править как вам удобно. Там в принципе все понятно.
plugin.min.js - сжатый файл, он же и рабочий!
Сжатый файл получается сжиманием исходника в онлайн компрессорах например в этом.

Теперь самое главное - все это можно скачать из папки файлы

Желаю всем приятной работы!!!

Для всех кто пожелает отблагодарить. У вас есть масса возможностей
1. Плюсануть
2. Добавить карму
3. Подкинуть чуток деньжат на ЯД 410012843480314

ПС. Принимаются пожелания, предложения, а так же личное участие в реализации дополнительных функций. Что бы хотелось:
1. Вставка аудио файлов
2. Вставка галерей со слайдером
3. Вставка других многочисленных функций реализованных в полях... в пределах необходимых для вставки в статьи.
Комментарии (22)
Pasechnik 7 марта 2017 в 02:59 0
Использую Тину на всех проектах с 2010г, не зависимо от движка. Редактор хороший, легко настраивается "под себя". В двойку встроил благодаря решению от oll, за что ей огромное спасибо:

Подключение редактора:
http://instantcms.ru/blogs/all-instant-cms/tinymce-4-1-4-pjatyi-redaktor-dlja-icms-2-1-1.html
Подключение файлового менеджера:
http://instantcms.ru/blogs/all-instant-cms/failovyi-menedzher-zagruzchik-failov-dlja-redaktora-tinymce-4.html

Файловый менеджер особо радует, имеет живую поддержку, заделывают дыры в случае обнаружения. Разработчики из Италии, нужна была возможность добавления ватермарков на картинки - написал - помогли, потом и в релиз добавили.

В общем, все максимально удобно для редакторов. Можно спокойно добавлять материалы, не приспосабливаясь под капризы Imperavi. Но, для редакторов - не для пользователей, т.к. безопасность - главное.

По вашему решению:

1. Можно давать свои права управления редактором каждой группе пользователей отдельно.

Есть ли возможность дать пользователям урезанную копию редактора, с минимумом функций? Ведь даже изменение размера текста - уже зло, юзеры начинают творить безобразие.

5. Кроме файлового менеджера 2 редактора изображений. Один работает прямо из статьи, а второй из файлового менеджера, но он признает изображения с названиями только на латинице и цифры.

Что за решения используются, насколько можно быть уверенным в их безопасности?
vikont 7 марта 2017 в 10:26 +1
Pasechnik:
Есть ли возможность дать пользователям урезанную копию редактора, с минимумом функций? Ведь даже изменение размера текста - уже зло, юзеры начинают творить безобразие.
Конечно, ради этого и городили весь этот "огород" smile Можно не только каждой группе юзеров дать строго определенные функции редактора, но даже управлять загрузкой изображений. Персонально для каждого выделяется папка и в ней дать юзерам ограниченные функции.

Pasechnik:
Что за решения используются, насколько можно быть уверенным в их безопасности?
Все чисто стандартные функции. В первом случае - плагин imagetools, во втором встроенный в файловый менеджер. Никакой отсебятины, а поэтому уровень безопасности тот же, что и гарантирован разработчиками редактора и файлового менеджера.
Pasechnik 7 марта 2017 в 10:58 0
Круто! Освобожусь от писанины, покопаюююсь. smile
kirkr 7 марта 2017 в 07:45 0
Спрячте после первого абзаца текст под Далее
vikont 7 марта 2017 в 10:30 0
Всем кому не интересно, дальше первого абзаца не читать! smile
Loadырь 7 марта 2017 в 10:37 0
vikont, имелась в виду вставка тэга "[cut=Читать далее...]" после первого абзаца, чтобы ваша портянка не вылазила полностью в списке блогов.
vikont 7 марта 2017 в 10:50 0
Спасибо, объяснили! Я в этом деле новичек.
vikont 7 марта 2017 в 10:57 +1
Как считаете, такие темы как о редакторе стоит ли делать коллективными! Хотел даже создать коллективный блог, чтобы все у кого есть свои наработки могли их оставить в одном месте. И информативно и все вместе. Не хватило кармы для коллективного блога.
Андрей 7 марта 2017 в 11:48 -2
я думаю в первую очередь важна безопасность, свои наработки могут дыр наделать в редакторе
Андрей 7 марта 2017 в 12:42 -2
vikont не подскажете, в каком месте настраиваются пути к картинкам, что-то я попробовал, путь прописывает как-то не так, вот вид ссылки http://../../upload/editor/моя_картинка.jpg
vikont 7 марта 2017 в 15:14 0
Из вышесказанного, я понял, что речь идет о настройках папок для админа и пользователей, если это так
тогда идем в папку config файлового менеджера public_html/wysiwyg/tinymce/filemanager/config и открываем файл config.php
В нем:
1. # конфигурация FM с 33 по 61 строку - настройка доступа админа (первый параметр) а второй пользователей
$delete_files = in_array($group , $access['delete_files']) ? true : true; 1-й true админа и последний true это для пользователей и так каждая строка.
2. С 68 по 74 строки настройка где чьи папки будут находиться - где админа, а где пользователей
3. # массив конфигурации с 87 по 97 строки указываются пути к директориям админа, пользователей и для привью, а так же правило создания личных пользовательских папок.
vikont 7 марта 2017 в 15:20 0
Чтобы пользователи не путались и случайно не удалили файлы миниатюр, я вынес папки миниатюр на ступень раньше чем папки пользователей и папки миниатюр пользователям недоступны. А внутри своей папки пользователь волен делать все, что вы ему разрешите в # конфигурации FM с 33 по 61 строку.
Андрей 7 марта 2017 в 17:55 -2
да нет, вот тут какой-то косяк
Код PHP:
  1. 'base_url' => ((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] && ! in_array(strtolower($_SERVER['HTTPS']), array( 'off', 'no' ))) ? 'https' : 'http') . '://' . $_SERVER['HTTP_HOST'],
  2.  
  3. # путь базовой папки загрузки пользователя
  4. 'upload_dir' => $user['is_admin'] ? "/upload/editor/" : "/upload/user/u{$user['id']}/",
  5. # относительный путь от папки менеджера файлов до папки загрузки пользователя
  6. 'current_path' => $user['is_admin'] ? "../../../upload/editor/" : "../../../upload/user/u{$user['id']}/",
  7. # относительный путь от папки файлового менеджера в папку миниатюр
  8. 'thumbs_base_path' => $user['is_admin'] ? "../../../upload/editor/thumbs/" : "../../../upload/user/thumbs/u{$user['id']}/",
  9. # секретный ключ
  10. 'access_keys' => array($token),
у меня так и формируются ссылки
vikont 7 марта 2017 в 18:10 0
В чем именно заключается косяк? Весь архив, это копия рабочего редактора. Я вот прямо сейчас с него и набираю этот текст.
Конечно же проверял и подключаясь пользователем.
Андрей 7 марта 2017 в 19:44 -2
косяк в том что запруженные изображения не работают, так как при формировании ссылки на них формируется не правильный путь. Долго мучился, снёс, в данном виде лично мне не подходит для работы.
vikont 7 марта 2017 в 20:44 +1
Вы где то делаете ошибку. У меня работают. В прочем Loadырь новый редактор опубликовал, вот где класс!
Андрей 7 марта 2017 в 20:54 -2
скажите где, я загрузил Ваш архив, все работает, Все открывается, поправил ширину окна до 690 px, у вас 760px было, больше ничего не менял. Гружу картинки и там косяк. Даже разбираться не охота, снёс.
Loadырь опубликовал компонент и он отработан как я понял именно под движок ICMS.
vikont 8 марта 2017 в 13:14 0
Зарегистрируйся у меня на сайте http://dnrru.ru и попробуй загружать картинки. Все вопросы отпадут сами по себе. smile
Loadырь опубликовал компонент и он отработан как я понял именно под движок ICMS.
Верно, но там у пользователей нет собственных каталогов и нет редактирования изображений! В остальном все весьма перспективно! Я даже свой плагин туда внес... работает.
vikont 8 марта 2017 в 19:37 0
ВНИМАНИЕ! Редакторы Tiny MCE и iTiny конфликтуют между собой!!!
Ломаются ссылки, глючат стили... возможны и другие сбои!
Не устраивайте "братоубийственной войны", используйте какой то один из редакторов, тем более на одной странице!
al955 10 декабря 2017 в 19:11 0
Подскажите, как полностью отключить в редакторе Tiny MCE очистку кода, чтобы он не вырезал теги?
vikont 10 декабря 2017 в 19:27 0
Каюсь сам искал ответ на этот вопрос, но так и не нашел!
Зато Loadырь прекрасно решил этот вопрос в своем компоненте Редактор разметки iTiny
Если вам не надо давать разные права группам, тогда рекомендую воспользоваться его компонетом, там новая версия за октябрь этого года
Скачивать отсюда.!
al955 10 декабря 2017 в 20:03 0
iTiny всем устраивает и теги он не вырезает, но там у меня почему то не получается сделать обтекание картинок текстом. В режиме редактирования обтекание есть, но при сохранении статьи оно отсутствует

Для меня этот вопрос принципиален, поэтому от iTiny отказался. Если бы решить вопрос с отключением в Tiny MCE очистки кода, было бы супер