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

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

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

Иллюстрация

Многим знакома эта картинка. Сегодня я предлагаю обновленный пакет редактора с групповыми настройками с последней версией 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. Вставка других многочисленных функций реализованных в полях… в пределах необходимых для вставки в статьи.
0
Pasechnik Pasechnik 7 лет назад #
Использую Тину на всех проектах с 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 редактора изображений. Один работает прямо из статьи, а второй из файлового менеджера, но он признает изображения с названиями только на латинице и цифры.

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

Pasechnik:
Что за решения используются, насколько можно быть уверенным в их безопасности?
Все чисто стандартные функции. В первом случае - плагин imagetools, во втором встроенный в файловый менеджер. Никакой отсебятины, а поэтому уровень безопасности тот же, что и гарантирован разработчиками редактора и файлового менеджера.
0
Pasechnik Pasechnik 7 лет назад #
Круто! Освобожусь от писанины, покопаюююсь. smile
0
kirkr kirkr 7 лет назад #
Спрячте после первого абзаца текст под Далее
0
vikont vikont 7 лет назад #
Всем кому не интересно, дальше первого абзаца не читать! smile
0
Loadырь Loadырь 7 лет назад #
vikont, имелась в виду вставка тэга "[cut=Читать далее...]" после первого абзаца, чтобы ваша портянка не вылазила полностью в списке блогов.
0
vikont vikont 7 лет назад #
Спасибо, объяснили! Я в этом деле новичек.
+1
vikont vikont 7 лет назад #
Как считаете, такие темы как о редакторе стоит ли делать коллективными! Хотел даже создать коллективный блог, чтобы все у кого есть свои наработки могли их оставить в одном месте. И информативно и все вместе. Не хватило кармы для коллективного блога.
-2
Андрей Андрей 7 лет назад #
я думаю в первую очередь важна безопасность, свои наработки могут дыр наделать в редакторе
-2
Андрей Андрей 7 лет назад #
vikont не подскажете, в каком месте настраиваются пути к картинкам, что-то я попробовал, путь прописывает как-то не так, вот вид ссылки http://../../upload/editor/моя_картинка.jpg
0
vikont vikont 7 лет назад #
Из вышесказанного, я понял, что речь идет о настройках папок для админа и пользователей, если это так
тогда идем в папку 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 строки указываются пути к директориям админа, пользователей и для привью, а так же правило создания личных пользовательских папок.
0
vikont vikont 7 лет назад #
Чтобы пользователи не путались и случайно не удалили файлы миниатюр, я вынес папки миниатюр на ступень раньше чем папки пользователей и папки миниатюр пользователям недоступны. А внутри своей папки пользователь волен делать все, что вы ему разрешите в # конфигурации FM с 33 по 61 строку.
-2
Андрей Андрей 7 лет назад #
да нет, вот тут какой-то косяк
Код PHP:
  1. 'base_url' => ((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] && ! in_array(strtolower($_SERVER['HTTPS']), array( 'off', 'no' ))) ? 'https' : 'http') . '://' . $_SERVER['HTTP_HOST'],
  2. # путь базовой папки загрузки пользователя
  3. 'upload_dir' => $user['is_admin'] ? "/upload/editor/" : "/upload/user/u{$user['id']}/",
  4. # относительный путь от папки менеджера файлов до папки загрузки пользователя
  5. 'current_path' => $user['is_admin'] ? "../../../upload/editor/" : "../../../upload/user/u{$user['id']}/",
  6. # относительный путь от папки файлового менеджера в папку миниатюр
  7. 'thumbs_base_path' => $user['is_admin'] ? "../../../upload/editor/thumbs/" : "../../../upload/user/thumbs/u{$user['id']}/",
  8. # секретный ключ
  9. 'access_keys' => array($token),
у меня так и формируются ссылки
0
vikont vikont 7 лет назад #
В чем именно заключается косяк? Весь архив, это копия рабочего редактора. Я вот прямо сейчас с него и набираю этот текст.
Конечно же проверял и подключаясь пользователем.
-2
Андрей Андрей 7 лет назад #
косяк в том что запруженные изображения не работают, так как при формировании ссылки на них формируется не правильный путь. Долго мучился, снёс, в данном виде лично мне не подходит для работы.
+1
vikont vikont 7 лет назад #
Вы где то делаете ошибку. У меня работают. В прочем Loadырь новый редактор опубликовал, вот где класс!
-2
Андрей Андрей 7 лет назад #
скажите где, я загрузил Ваш архив, все работает, Все открывается, поправил ширину окна до 690 px, у вас 760px было, больше ничего не менял. Гружу картинки и там косяк. Даже разбираться не охота, снёс.
Loadырь опубликовал компонент и он отработан как я понял именно под движок ICMS.
0
vikont vikont 7 лет назад #
Зарегистрируйся у меня на сайте http://dnrru.ru и попробуй загружать картинки. Все вопросы отпадут сами по себе. smile
Loadырь опубликовал компонент и он отработан как я понял именно под движок ICMS.
Верно, но там у пользователей нет собственных каталогов и нет редактирования изображений! В остальном все весьма перспективно! Я даже свой плагин туда внес... работает.
0
vikont vikont 7 лет назад #
ВНИМАНИЕ! Редакторы Tiny MCE и iTiny конфликтуют между собой!!!
Ломаются ссылки, глючат стили... возможны и другие сбои!
Не устраивайте "братоубийственной войны", используйте какой то один из редакторов, тем более на одной странице!
0
al955 al955 6 лет назад #
Подскажите, как полностью отключить в редакторе Tiny MCE очистку кода, чтобы он не вырезал теги?
0
vikont vikont 6 лет назад #
Каюсь сам искал ответ на этот вопрос, но так и не нашел!
Зато Loadырь прекрасно решил этот вопрос в своем компоненте Редактор разметки iTiny
Если вам не надо давать разные права группам, тогда рекомендую воспользоваться его компонетом, там новая версия за октябрь этого года
Скачивать отсюда.!
0
al955 al955 6 лет назад #
iTiny всем устраивает и теги он не вырезает, но там у меня почему то не получается сделать обтекание картинок текстом. В режиме редактирования обтекание есть, но при сохранении статьи оно отсутствует

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