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

+23
5K

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

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

Иллюстрация

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

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

Скачать можно здесь:
СКАЧАТЬ BBCODE
+2
Loadырь Loadырь 7 лет назад #
+
+1
Pasechnik Pasechnik 7 лет назад #
dance Теперь у двойки есть правильные смайлы.
0
BoAnRo BoAnRo 7 лет назад #
Вы сделали очень ценную вещь для второй ветки Инстанта!

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

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

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

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/

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

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

Код PHP:
  1. 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
  2. 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
  3. Warning: Invalid argument supplied for foreach() in /home/host1447623/na-polovinke.ru/htdocs/test/wysiwyg/markitup/sets/xcode-ru/show.php on line 11
  4. Warning: implode(): Invalid arguments passed in /home/host1447623/na-polovinke.ru/htdocs/test/wysiwyg/markitup/sets/xcode-ru/show.php on line 21
С чем это может быть связанно?
+1
Ris Ris 7 лет назад #
Папку со смайлами не видит.
Какой-то дикий путь /home/host1447623/na-polovinke.ru/htdocs/test/upload/smilies/
Сейчас подумаю, как переписать путь к смайлам, чтобы на диких хостингах работало.
+2
Fuze Fuze 7 лет назад #
Ris, я смотрел мельком вашу разработку, там у вас пути формируются без учета того, что движок может быть установлен в поддиректоию. Полный путь к директории, где установлен InstantCMS, можно получить например так: cmsConfig::get('root_path')

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

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

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

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

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

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

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

Правки по редактору стен и комментариев планы есть. Скорее всего будет по аналогии как в ВК и подобными.
0
Jestik Jestik 7 лет назад #
Скорее всего будет по аналогии как в ВК и подобными.

Что и хотелось услышать) Спасибо)
0
Шляпник Шляпник 7 лет назад #
Видел зарегистрировались )
Путь действительно не очень, но я сначала тестирую на тестовом сайте, на всякий случай поэтому папка test появляется. Хорошо бы и с "дикими" путями работать )
И второй вопрос: Смайлики появляются просто из папки, то есть как в первой ветке кидаешь в папку и они уже работоспособны? А то я сам еще люблю рисовать смайлики на разные случаи жизни.
+1
Ris Ris 7 лет назад #
Перезалил архив. Попробуйте.
0
Шляпник Шляпник 7 лет назад #
Спасибо ) устанавливал на основной сайт, все нормально отображается. Очевидно проблема в поддомене была.
+1
Ris Ris 7 лет назад #
Я там перезалил архив. Попробуйте и на поддомене.
Окно вставки картинок поправлено к тому же.
0
Шляпник Шляпник 7 лет назад #
Все отлично работает! Огромное спасибо ))
0
Sergey_ Sergey_ 7 лет назад #
Здравствуйте Ris , спасибо за разработку смайлов.. установил, обрадовался, чпок.. не работает кнопочка на панели редактора которая прикрепляет картинку в редакторе, притом везде и в неомессенджере тоже. Меню для загрузки появляется но где то снизу ниже границы сайта, если подскажете то буду признателен)
0
Sergey_ Sergey_ 7 лет назад #
В неомессенджере появились какие то непонятные переносы слов, пишешь два одно переносится на строку ниже.. scratch
0
Ris Ris 7 лет назад #
Извиняюсь. zst
Подчищая мусор из стилей, удалил и оформление загрузочного окна. Исправлю - напишу.
0
Sergey_ Sergey_ 7 лет назад #
Спасибки
0
Sergey_ Sergey_ 7 лет назад #
Как у вас успехи с мини разработкой этой? Блин у меня таки замечен в неомессенджере дополнительный тег чтото вроде Р> перенос строки короче он ставится в конце и начале набираемого текста не буду винить загруженный архив со смайлами но очень похоже на то.. и пользователи мои так тоскуют по смайлам)
0
Ris Ris 7 лет назад #
Это привет от типографа.
В версии инстанта на гитхабе уже есть смайлики от разработчиков.
0
Sergey_ Sergey_ 7 лет назад #
Благодарствую
0
Sergey_ Sergey_ 7 лет назад #
Благодарствую
0
Sergey_ Sergey_ 7 лет назад #
В версии инстанта на гитхабе уже есть смайлики от разработчиков.
то есть будет обновление в скором официальное?
0
Ris Ris 7 лет назад #
С новой версией инстанта.
Не откатят же обратно то что работает и не мешает.
0
Dark Space Dark Space 4 года назад #
Смайлики есть, а стикеры в редактор добавляются?
0
Ris Ris 4 года назад #
Этой теме три года. Всё уже есть в коробке.
0
Dark Space Dark Space 4 года назад #
:(
0
Ris Ris 4 года назад #
Добавьте в папку \static\smiles\ нужные стикеры (кстати, что это такое) и т.д. и они будут при выборе смайликов.

Еще от автора

Сверхлёгкий webserver на Alpine linux
Не знаю, как нормальных людей, но меня всё время мучает вопрос, зачем для размещения небольшого сайта на виртуальном сервере я вынужден устанавливать
Накрутка рейтинга и кармы пользователям, контенту и фото.
По многочисленным просьбам изготовил новый инструмент для изменения администратором сайта рейтинга и кармы пользователей.
Авторизация по любым полям из профиля и по API
Представляю уважаемому сообществу небольшое дополнение для доработки авторизации вашего сайта, а также для интеграции двух сайтов на Instantcms друг с
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.