XF 1.5 Отключить бб коды у ранее написанных сообщений

grisha2217

Проверенные
Сообщения
913
Решения
6
Реакции
1,389
Баллы
5,715
Задача: отключить бб коды у постов, которые уже есть в базе (то есть сообщение лежит в базе и содержит бб коды)

Как по дефолту в ксене:
PHP:
// Где то в теле функции renderHtml() в XenForo_ViewPublic_Thread_View
$formatter = XenForo_BbCode_Formatter_Base::create('Base', array('view' => $this));
$bbCodeParser = XenForo_BbCode_Parser::create($formatter);
XenForo_ViewPublic_Helper_Message::bbCodeWrapMessages($this->_params['posts'], $bbCodeParser, $bbCodeOptions);

Как сделал я:
PHP:
/** @var XenForo_BbCode_Formatter_BbCode_Filter $formatter */
$formatter = XenForo_BbCode_Formatter_Base::create('XenForo_BbCode_Formatter_BbCode_Filter', array('view' => $this));
$formatter->disableTags(['b', 'i', 'u', 's', 'color', 'font', 'size', 'left', 'center', 'right', 'indent']);
XenForo_ViewPublic_Helper_Message::bbCodeWrapMessages($this->_params['posts'], $bbCodeParser, $bbCodeOptions);


В итоге ксен убирает все нужные бб коды из текста (жирный, цвет, размер и тд) и ОТКЛЮЧАЕТ поддержку остальных ббкодов:
Код:
[IMG]https://pp.userapi.com/c845420/v845420061/dd428/6tUj98vf-kc.jpg[/IMG]
[USER=654397]@HuKoTuH1337[/USER], отвал чего?

То есть, скрипт успешно вырезает лишние ббкоды, а на остальное не реагирует вообще, хотя XenForo_BbCode_Formatter_BbCode_Filter фактически наследник XenForo_BbCode_Formatter_Base
 
Современный облачный хостинг провайдер | Aéza
Назад
Сверху Снизу