Помогите починит смайлы

ЕСТЬ РЕШЕНИЕ ЗАКРЫТО InstantCMS 2.X
#1 2 апреля 2020 в 17:09

Такая проблема в созданном редакторе. Оригинальный работает.
Объясните на словах как происходит превращение :231: в тег картинки.
#2 2 апреля 2020 в 20:46
Redactor используйте для л/с. Markitup временно не используйте.
#3 2 апреля 2020 в 21:00
Понял что в базу записуется <img src="/static/smiles/smile.gif" alt="smile" /> в фориме smile
Может в php проблема?
#4 2 апреля 2020 в 21:03
люды привыкли до Markitup
#5 2 апреля 2020 в 21:04
@andriu3240, у меня тоже смайлы как у вас сейчас не работают. Markitup для сообщений удобный, но сейчас не показывает смайлы.
#6 2 апреля 2020 в 21:28
Хук вырезает их.
У меня смайлы показывает....

Пробуйте по очереди отключать их (Управление событиями) и через F5 смотреть когда появятся смайлы.
#7 2 апреля 2020 в 21:45
орыгинальный Markitup и у меня показывает смайли. А отредактированый в Wysiwyg редакторы не показивает.
#8 2 апреля 2020 в 21:47
еслибы хук то и в орегинальном вирезалбы.
#9 2 апреля 2020 в 21:54
и така фигня с всема отредагованымы редакторами
етотже отредагований редактор на стене пользователя виводит смайлы.
#10 2 апреля 2020 в 22:15
Тогда пишите на гит о проблеме.
И попробуйте повторить ошибку на демосайте.
#11 2 апреля 2020 в 23:01
на демо сайте нет Wysiwyg редакторы.
#12 3 апреля 2020 в 12:32
Создал Git
#13 3 апреля 2020 в 12:51
@geminisf, Спасибо. На демо сайте воспроизводиться. Просто чуть уменшить висоду редактора приходится чтобы кнопку можно было нажать.
#14 3 апреля 2020 в 15:35
Проблема в том, что в экшене \system\controllers\messages\actions\send.php прописано буквально так:
  1. $is_textarea_editor = !$this->options['editor'] || $this->options['editor'] == 'markitup';
  2.  
  3. $content_html = cmsEventsManager::hook('html_filter', [
  4. 'text' => $content,
  5. 'is_auto_br' => $is_textarea_editor,
  6. 'build_smiles' => $is_textarea_editor
  7. ]);
То есть если в личных сообщениях выбран маркитап — в опциях прямо буквами будет написано markitup и смайлы будут.
А вот если выбран какой-либо пресет, сделанный из маркитапа — в опциях будет цифра и никаких смайлов не будет.
Возможное решение — получить имя редактора и проверять уже его:
  1. $wysiwygs_preset = is_numeric($this->options['editor']) ? $this->controller_wysiwygs->getEditorParams($options = [$this->options['editor']]) : $this->options['editor'];
  2.  
  3. $is_textarea_editor = !$this->options['editor'] || $wysiwygs_preset == 'markitup';
  4.  
  5. $content_html = cmsEventsManager::hook('html_filter', [
  6. 'text' => $content,
  7. 'is_auto_br' => $is_textarea_editor,
  8. 'build_smiles' => $is_textarea_editor
  9. ]);
#15 3 апреля 2020 в 20:06
  1. <select class="form-control " name="editor" id="editor" style="display: none;">
  2. <option value="">Textarea</option>
  3. <option value="ace">Ace</option>
  4. <option value="live">Live</option>
  5. <option value="markitup">Markitup</option>
  6. <option value="redactor">Redactor</option>
  7. <option value="tinymce">Tinymce</option>
  8. <option value="1" selected="">Markitup: Фотографии</option>
  9. <option value="2">Redactor: r</option>
  10. </select>
Да действительно передается цифра. Но Получить имя редактора не получилось. Смайлов нет.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.