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, 3 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, конфликтов ни с каким другим нет. Все парсинги включены, конкретно для Личных сообщений как я уже говорил в настройках тоже все включено