[Неактуально] Смайлы BBCODE для INSTANTCMS2.7.1 2.X

3210

Смайлы уже есть в движке. Пост неактуален.

Вдохновившись разработками Виктора, решил посмотреть, нужно ли для подключения бибикодов проводить такие глобальные изменения в движке.
Ведь надо-то всего лишь поменять пару тегов на пару других.
Скачал простенький парсер bbcode с сайта Markitup, слегка адаптировал и оформил в мини-компонент, который запускается по хуку 'html_filter'.
Также сделал дополнительный сет для маркитапа (идея Виктора), в который добавил возможность добавления смайлов. Как из набора, так и просто с клавиатуры, скобками и точками. Панель смайлов открывается прямо в панели редактора (всплывающие окна - зло).
На компьютере панель смайлов открывается и закрывается по клику на значок смайла (как в первой ветке), на мобильнике закрывается по клику в любом месте.
Свои смайлики можно добавлять в папку upload/smilies. Принимает картинки jpg, png, bmp, gif.
Еще добавил спойлер и цвет текста.Остальные теги оставил без изменений, они и так хорошо работают.

[Неактуально] Смайлы BBCODE для INSTANTCMS2.7.1

При установке "компонент" меняет набор кнопок панели на xcode-ru.
Если потребуется отключить всё это - просто перейти Панель управления - Компоненты - Редактор разметки и выставить там дефолтный сет default-ru.
В процессе создания ни одно животное не пострадало ни один системный файл не был изменен.

Поправил найденные баги, архив перезалит.

Скачать можно здесь:
СКАЧАТЬ BBCODE
Инструмент для изменения кармы и рейтинга администратором | [Неактуально]Redactor. Вставка картинок, спойлер и удаление кнопок.
Комментарии (41)
Loadырь 19 марта 2017 в 12:57 +2
+
Pasechnik 19 марта 2017 в 19:36 +1
dance Теперь у двойки есть правильные смайлы.
BoAnRo 19 марта 2017 в 19:56 0
Вы сделали очень ценную вещь для второй ветки Инстанта!

Остается только добавить эту разработку в какое-то более видное место, например в Каталог расширений v
Ris 19 марта 2017 в 20:20 +3
В движок, в коробку бы смайлы разработчики сделали, было бы вообще замечательно. И большой переключатель в админке "использовать/не использовать bbcode". laugh
Это позволило бы стандартизировать всё это бибикодное разнообразие дополнений для двойки.
Мне пришлось многое урезать, так как специально не трогал файлов движка.
Но увы, у разработчиков свое мнение по этому поводу. Мол если бибикоды (форумы, личные блоги и т.д.) не нужны им - они не нужны никому.
И пользователи на это мнение имеют весьма небольшое влияние.
Владимир Савенко 19 марта 2017 в 20:24 0
Я вообще не понимаю, почему фишки первой ветки не используются во второй...
Ris 19 марта 2017 в 20:46 0
Я тоже не понимаю. Пользователь ставится перед выбором, как невеста в гоголевской "Женитьбе". В одной ветке все хорошо, но нет того. В другой есть то, но нет этого. И хоть разорвись... laugh
Val 20 марта 2017 в 01:11 +1
Я не понимаю почему люди на лошадях сейчас не ездят? Почему передвигаются на автомобилях, на этих бездушных железках? Или почему не используют пейджеры, не слушают граммофон и т.д. и т.п.

Двойка использует WYSIWYG редакторы (кто не знает расшифровывается What You See Is What You Get, «что видишь, то и получишь»), т.е. пользователю привыкшему к word'у и подобным редакторам не надо заморачиваться с тегами html или bbcode. Он просто пишет, редактирует и при нажатии кнопки "отправить" или "сохранить" получает ровно то, что видел при редактировании.
wikipedia:
BBCode был придуман с целью предоставить более простой, безопасный и ограниченный по сравнению с HTML способ форматирования сообщений. Первоначально многие BBS позволяли пользователям использовать HTML-разметку, что могло приводить к побочным эффектам, таким как искажение разметки на странице, запуск JavaScript-сценариев (иногда в целях вандализма). Некоторые реализации BBCode, использующие упрощённые методы трансляции в HTML, также могут испытывать проблемы с безопасностью.
Т.е. это некоторого рода костыль от XSS. Сейчас научились делать более продвинутые редакторы, зачем использовать устаревшие технологии? Потому что вы к ним привыкли? Ок, используйте, но зачем заставлять всех остальных их использовать? =)
Ris 20 марта 2017 в 08:54 0
Критикуя, предлагайте.
Я предлагаю переключатель "bbcode/ чистый html".
Что предлагаете Вы? Терпеть и привыкать?
Jestik 20 марта 2017 в 09:26 0
Я лично насколько нуб, что не знаю как к двойке прикрутить редактор)
Ris 20 марта 2017 в 09:29 0
Я тоже не знаю.
Пробовал, получаю чистое окно ввода текста.
Разбираться надо. Недавно на форуме была тема. Кто-то прикручивал сторонний редактор. Надо подсмотреть, как он это делал. smile
Val 20 марта 2017 в 10:13 0
1. Я не критикую joke
2. А что тут предлагать?! И так понятно что если используется wysiwyg редакторы, то и смайлы в виде картинок должны сразу отображаться при добавлении в поле ввода текста, а не текстовый код смайлов.

P.S. Если не ошибаюсь, то возможно в следующей версии icms смайлы появятся в системе.
Pasechnik 20 марта 2017 в 11:05 0
Если не ошибаюсь, то возможно в следующей версии icms смайлы появятся в системе.
С каким wysiwyg редактором?
Jestik 20 марта 2017 в 11:54 0
На форуме оставлял ссылку, На хабр. простой редактор, в который можно втулить смайлы.поковыряю на досуге. Для своих решений прикручивал его как у инстанту прикрутить хз)
Ris 20 марта 2017 в 21:03 0
Может я, конечно, чего-то недопонял, но редактор live из коробки, как две капли воды похож на предложенный Вами. И смайлы вставляются картинкой в текст.
Jestik 20 марта 2017 в 23:35 0
Надо проще)
как в вк например

http://www.jqueryscript.net/demo/WYSIWYG-Emoji-Converter-Picker-Plugin-For-jQuery-EmojiOne-Area/
https://github.com/diy/jquery-emojiarea
http://mervick.github.io/emojionearea/

Вот что из этого + загрузка картинки. Больше по сути нечего и не надо, нечего им заголовки выделять в комментах и в переписке)
Pasechnik 21 марта 2017 в 00:41 0
Надо проще)
http://instantcms.ru/users/files/download5507.html

Только зачем.
Pasechnik 21 марта 2017 в 00:44 0
Ребята, как markitup включить для гостей? Комментарии для гостей доступны, смайлы есть, а редактора нет. sad
Шляпник 24 марта 2017 в 13:46 0
Спасибо за такой полезный плагин )) Только вот у меня проблемы, при клике на смайлик, вместо панели выходит вот такое сообщение:

Код PHP:
  1.  
  2. Warning: scandir(/home/host1447623/na-polovinke.ru/htdocs/test/upload/smilies/): failed to open dir: No such file or directory in /home/host1447623/na-polovinke.ru/htdocs/test/wysiwyg/markitup/sets/xcode-ru/show.php on line 10
  3.  
  4. Warning: scandir(): (errno 2): No such file or directory in /home/host1447623/na-polovinke.ru/htdocs/test/wysiwyg/markitup/sets/xcode-ru/show.php on line 10
  5.  
  6. Warning: Invalid argument supplied for foreach() in /home/host1447623/na-polovinke.ru/htdocs/test/wysiwyg/markitup/sets/xcode-ru/show.php on line 11
  7.  
  8. Warning: implode(): Invalid arguments passed in /home/host1447623/na-polovinke.ru/htdocs/test/wysiwyg/markitup/sets/xcode-ru/show.php on line 21
  9.  
С чем это может быть связанно?
Ris 24 марта 2017 в 15:47 +1
Папку со смайлами не видит.
Какой-то дикий путь /home/host1447623/na-polovinke.ru/htdocs/test/upload/smilies/
Сейчас подумаю, как переписать путь к смайлам, чтобы на диких хостингах работало.
Fuze 24 марта 2017 в 16:02 +2
Ris, я смотрел мельком вашу разработку, там у вас пути формируются без учета того, что движок может быть установлен в поддиректоию. Полный путь к директории, где установлен InstantCMS, можно получить например так: cmsConfig::get('root_path')

К слову, я сделал поддержку смайликов, будет в обновлении.
Ris 24 марта 2017 в 16:12 0
Отличчно!!!
Над путем к смайлам я всю голову поломал.
А смайлы в коробке сто раз лучше всяких самодельных бибикодов! dance

А спойлер еще можно в коробку засунуть? Ну очень нужен.
Ris 24 марта 2017 в 16:20 0
Но есть нюанс...
Fatal error: Class 'cmsConfig' not found in D:\OpenServer\domains\F277.mar\wysiwyg\markitup\sets\xcode-ru\show.php on line 8
Fuze 24 марта 2017 в 17:05 0
В начало файла добавьте

Код PHP:
  1. $_SERVER['DOCUMENT_ROOT'] = dirname(dirname(dirname(dirname(dirname(dirname(__FILE__))))));
  2. require_once $_SERVER['DOCUMENT_ROOT'].'/bootstrap.php';
А вообще подобное надо было сделать в контроллере экшеном. В коммите у меня так и сделано.

А спойлер еще можно в коробку засунуть? Ну очень нужен.
Гляну что там со спойлерами, успею, добавлю.
Jestik 24 марта 2017 в 17:27 0
Не планируется случайно замена редактора в комментариях? А то как то сейчас мало кто понимают бб коды и как ими пользоваться. По аналогии с популярными сайтами, в комментариях хватит вставки картинки, видео, смайлов.

Как вариант это "упростить" редактор live, там смайлы есть.

Или вот еще визулльный редактор бб кодов:
http://wysibb.com/

Или может маркитап сделать визуальным..)
Fuze 24 марта 2017 в 17:41 +2
В редакторе нет bb кодов, обычный HTML. Вообще в InstantCMS2 нет bb-кодов нигде.

Правки по редактору стен и комментариев планы есть. Скорее всего будет по аналогии как в ВК и подобными.
Jestik 24 марта 2017 в 17:51 0
Скорее всего будет по аналогии как в ВК и подобными.

Что и хотелось услышать) Спасибо)
Шляпник 24 марта 2017 в 18:14 0
Видел зарегистрировались )
Путь действительно не очень, но я сначала тестирую на тестовом сайте, на всякий случай поэтому папка test появляется. Хорошо бы и с "дикими" путями работать )
И второй вопрос: Смайлики появляются просто из папки, то есть как в первой ветке кидаешь в папку и они уже работоспособны? А то я сам еще люблю рисовать смайлики на разные случаи жизни.
Ris 24 марта 2017 в 18:54 +1
Перезалил архив. Попробуйте.
Шляпник 25 марта 2017 в 08:40 0
Спасибо ) устанавливал на основной сайт, все нормально отображается. Очевидно проблема в поддомене была.
Ris 25 марта 2017 в 09:10 +1
Я там перезалил архив. Попробуйте и на поддомене.
Окно вставки картинок поправлено к тому же.
Шляпник 25 марта 2017 в 09:38 0
Все отлично работает! Огромное спасибо ))
@Sergey_ 24 марта 2017 в 16:54 0
Здравствуйте Ris , спасибо за разработку смайлов.. установил, обрадовался, чпок.. не работает кнопочка на панели редактора которая прикрепляет картинку в редакторе, притом везде и в неомессенджере тоже. Меню для загрузки появляется но где то снизу ниже границы сайта, если подскажете то буду признателен)
@Sergey_ 24 марта 2017 в 17:04 0
В неомессенджере появились какие то непонятные переносы слов, пишешь два одно переносится на строку ниже.. scratch
Ris 24 марта 2017 в 18:30 0
Извиняюсь. zst
Подчищая мусор из стилей, удалил и оформление загрузочного окна. Исправлю - напишу.
@Sergey_ 24 марта 2017 в 19:06 0
Спасибки
@Sergey_ 28 марта 2017 в 12:23 0
Как у вас успехи с мини разработкой этой? Блин у меня таки замечен в неомессенджере дополнительный тег чтото вроде Р> перенос строки короче он ставится в конце и начале набираемого текста не буду винить загруженный архив со смайлами но очень похоже на то.. и пользователи мои так тоскуют по смайлам)
Ris 28 марта 2017 в 13:10 0
Это привет от типографа.
В версии инстанта на гитхабе уже есть смайлики от разработчиков.
@Sergey_ 28 марта 2017 в 15:06 0
Благодарствую
@Sergey_ 28 марта 2017 в 15:06 0
Благодарствую
@Sergey_ 28 марта 2017 в 16:49 0
В версии инстанта на гитхабе уже есть смайлики от разработчиков.
то есть будет обновление в скором официальное?
Ris 28 марта 2017 в 17:40 0
С новой версией инстанта.
Не откатят же обратно то что работает и не мешает.