Yukarı Facebook Twitter Google+ Aşağı
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.

Djaf

Автор Тема: Проблема с эмодзи на SMF 2  (Прочитано 291 раз)

kak2z

  • Administrator
  • Full Member
  • *****
  • Сообщений: 113
    • Просмотр профиля
Проблема с эмодзи на SMF 2
« : 28 Июнь 2017, 17:49 »
1. Обновить версию СМФ минимум до 2.12
2.
файл
Post.template.php

найти
if (textFields[i] in document.forms.postmodify)
{
// Handle the WYSIWYG editor.
if (textFields[i] == ', JavaScriptEscape($context['post_box_name']), ' && ', JavaScriptEscape('oEditorHandle_' . $context['post_box_name']), ' in window && oEditorHandle_', $context['post_box_name'], '.bRichTextEnabled)
x[x.length] = \'message_mode=1&\' + textFields[i] + \'=\' + oEditorHandle_', $context['post_box_name'], '.getText(false).replace(/&#/g, \'&#\').php_to8bit().php_urlencode();
else
x[x.length] = textFields[i] + \'=\' + document.forms.postmodify[textFields[i]].value.replace(/&#/g, \'&#\').php_to8bit().php_urlencode();
}

заменить на
if (textFields[i] in document.forms.postmodify)
{
// Handle the WYSIWYG editor.
if (textFields[i] == ', JavaScriptEscape($context['post_box_name']), ' && ', JavaScriptEscape('oEditorHandle_' . $context['post_box_name']), ' in window && oEditorHandle_', $context['post_box_name'], '.bRichTextEnabled)
x[x.length] = textFields[i] + \'=\' + $("#', $context['post_box_name'], '").data("sceditor").getText().replace(/&#/g, \'&#\');
else
x[x.length] = textFields[i] + \'=\' + document.forms.postmodify[textFields[i]].value.replace(/&#/g, \'&#\');
}

3. Если не помогло то преобразовать базу в utf8mb4_unicode_ci