Forums / National / Russian / Тех. поддержка / CKeditor - в Личных сообщениях не парсится bb и html код

ed.moriarti
#1 2020-05-05 12:08

Добрый день!

Проблема такая....

Отправляю через "Личные сообщения" новое сообщение пользователю и форматирую его с помощью CKeditor 

Соответственно в поле textarea для нового сообщения все нормально все форматируется и отображается, но после отправки оно приходит и отображается вот так:

<p>Здравствуйте, Елена!</p>
 
<p>Вы подали заявку на прохождение верификации. Мы проверили ваши данные.</p>
 
<p>Чтобы выполнить все условия данной процедуры, вам необходимо разместить в своем профиле вашу фотографию, чтобы она совпала с фотографией на фото с паспортом. После чего администрация повторно рассмотрит вашу заявку и примет решение.</p>
 
<p>С уважением, администрация</p>

Также самая процедура при создании странички в Page работает все нормально и на выходе отображется отформатированный текст, а в личных сообщениях вот так..... подскажите

Kopusha
#2 2020-05-05 13:17

/admin/config?n=edit&o=module&p=pm вкючить Enable markup:

Enables HTML/BBcode or other parsing which is installed in your system

Added 1 minute later:

Если текстэдитор для PM изменялся где то каким то образом тоже может сбивать верстку (через |modify к примеру)

ed.moriarti
#3 2020-05-05 13:59
#44683 Kopusha:

/admin/config?n=edit&o=module&p=pm вкючить Enable markup:

Enables HTML/BBcode or other parsing which is installed in your system

Added 1 minute later:

Если текстэдитор для PM изменялся где то каким то образом тоже может сбивать верстку (через |modify к примеру)

Ничего не понял, но очень интерестно! laugh

 

Если вы имеете введу в настройка Личных сообщений в админке этот пункт:

Включить разметку:

Включает HTML/BBcode или другой парсинг, установленный в вашей системе
 
То этот пункт у меня включен!

Added 6 hours later:

Так, у кого нибудь варианты как решить проблему?

This post was edited by ed.moriarti (2020-05-05 20:25, 5 years ago)
Kopusha
#4 2020-05-05 21:10

Вы спрашиваете отчего не работает работающая в ядре и включённая функциональность без каких либо подробностей...

ed.moriarti
#5 2020-05-05 21:19

Ну я не знаю какие подробности нужны...

Вот например файл pm.messge.tpl в том месте где выводится текст письма

<tr height="15"> </tr>
<tr>
    <td class="width15 tdtitleshort">{PHP.L.Message}:</td>
    <td class="tdshorttext" style="padding: 10px 7px 10px 7px; background-color: #f9f8f0;" width: 100%;">{PM_TEXT}</td>
</tr>
<tr height="25"> </tr>

это часть кода из файла inc/pm.message.php

$t->assign(array(
    'PM_ROW_ID' => $row2['pm_id'],
    'PM_ROW_STATE' => $row2['pm_tostate'],
    'PM_ROW_STAR' => cot_rc($star_class2 ? 'pm_icon_unstar' : 'pm_icon_star', array('link' => $url_star)),
    'PM_ROW_STAR_URL' => $url_star,
    'PM_ROW_DATE' => cot_date('datetime_medium', $row2['pm_date']),
    'PM_ROW_DATE_STAMP' => $row2['pm_date'],
    'PM_ROW_TITLE' => cot_rc_link($url_pm, htmlspecialchars($row2['pm_title']), array('class' => $cfg['pm']['turnajax'] ? 'ajax' : '')),
    'PM_ROW_URL' => $url_pm,
    'PM_ROW_TEXT' => $pm_data,
    'PM_ROW_ICON_STATUS' => $row2['pm_icon_readstatus'],
    'PM_ROW_ICON_DELETE' => cot_rc_link($url_delete, $R['pm_icon_trashcan'], array('title' => $L['Delete'], 'class' => $cfg['pm']['turnajax'] ? 'ajax' : '')),
    'PM_ROW_DELETE_URL' => $url_delete,
    'PM_ROW_DELETE_CONFIRM_URL' => cot_confirm_url($url_delete),
    'PM_ROW_ICON_EDIT' => ($row2['pm_tostate'] == 0) ? cot_rc_link($url_edit, $R['pm_icon_edit'], array('title' => $L['Edit'], 'class' => $cfg['pm']['turnajax'] ? 'ajax' : '')) : '',
    'PM_ROW_EDIT_URL' => ($row2['pm_tostate'] == 0) ? $url_edit : '',
    'PM_ROW_ODDEVEN' => cot_build_oddeven($jj),
    'PM_ROW_NUM' => $jj
));
$t->assign($pm_user);

Это часть кода из файла pm.send.php

$t->assign(array(
    'PMSEND_TITLE' => cot_breadcrumbs($title, $cfg['homebreadcrumb']),
    'PMSEND_SENDNEWPM' => ($usr['auth_write']) ? cot_rc_link($url_newpm, $L['pm_sendnew'], array('class'=>$cfg['pm']['turnajax'] ? 'ajax' : '')) : '',
    'PMSEND_SENDNEWPM_URL' => ($usr['auth_write']) ? $url_newpm : '',
    'PMSEND_INBOX' => cot_rc_link($url_inbox, $L['pm_inbox'], array('class'=>$cfg['pm']['turnajax'] ? 'ajax' : '')),
    'PMSEND_INBOX_URL' => $url_inbox,
    'PMSEND_INBOX_COUNT' => $totalinbox,
    'PMSEND_SENTBOX' => cot_rc_link($url_sentbox, $L['pm_sentbox'], array('class'=>$cfg['pm']['turnajax'] ? 'ajax' : '')),
    'PMSEND_SENTBOX_URL' => $url_sentbox,
    'PMSEND_SENTBOX_COUNT' => $totalsentbox,
    'PMSEND_FORM_SEND' => cot_url('pm', 'm=send&a=send'.$idurl),
    'PMSEND_FORM_TITLE' => cot_inputbox('text', 'newpmtitle', htmlspecialchars($newpmtitle), 'size="56" maxlength="255"'),
    'PMSEND_FORM_TEXT' => cot_textarea('newpmtext', $newpmtext, 8, 56, '', 'input_textarea_editor') . $text_editor_code,
    'PMSEND_FORM_TOUSER' => cot_textarea('newpmrecipient', $touser, 3, 56, 'class="userinput"'),
    'PMSEND_FORM_NOT_TO_SENTBOX' => cot_checkbox(false, 'fromstate', cot::$L['pm_notmovetosentbox'], '', '3')
));

А это из файла pm.send.tpl

<tr>
    <td>{PHP.L.Message}:</td>
    <td>{PMSEND_FORM_TEXT}</td>
</tr>

Это код из файла plagins/ckeditor/presets/ckeditor.default.set.js

/*
 * Default CKEditor preset and connector
 */
 
var ckeditorClasses = Array();
ckeditorClasses['editor'] = 'Full'; // Full editor
ckeditorClasses['medieditor'] = 'Medium'; // Medium editor
ckeditorClasses['minieditor'] = 'Basic'; // Mini editor
 
function ckeditorReplace() {
    var textareas = document.getElementsByTagName('textarea');
    for (var i = 0; i < textareas.length; i++) {
        var classStr = textareas[i].getAttribute('class');
        if (classStr) {
            var classes = classStr.split(" ");
            for (var k = 0; k < classes.length; k++) {
                textareaClass = classes[k];
                if (ckeditorClasses[textareaClass] !== undefined) {
                    var textareasStyle = getComputedStyle(textareas[i], null) || textareas[i].currentStyle;
                    CKEDITOR.replace(textareas[i], {height:textareasStyle.height, width:'100%', toolbar: ckeditorClasses[textareaClass]});
                }
            }
        }
    }
}
 
if (typeof jQuery == 'undefined') {
    if (window.addEventListener) {
        window.addEventListener('load', ckeditorReplace, false);
    } else if (window.attachEvent) {
        window.attachEvent('onload', ckeditorReplace);
    } else {
        window.onload = ckeditorReplace;
    }
} else {
    $(document).ready(ckeditorReplace);
    ajaxSuccessHandlers.push(ckeditorReplace);
}

Не знаю что еще нужно представить )))) Спасибо

Added 4 minutes later:

В админке установлен и выбран единственный редактор  ckeditor, конфликтов ни с каким другим нет. Все парсинги включены, конкретно для Личных сообщений как я уже говорил в настройках тоже все включено