• Модуль: forum
  • Путь к файлу: ~/bitrix/modules/forum/lib/message.php
  • Класс: BitrixForumMessageTable
  • Вызов: MessageTable::onAdd
static function onAdd(MainORMEvent $event)
{
	$result = new MainORMEventResult();
	if (MainConfigOption::get("forum", "MESSAGE_HTML", "N") == "Y")
	{
		$fields = $event->getParameter("fields");
		$object = $event->getParameter("object");

		if ($files = $object->sysGetRuntime("FILES"))
		{
			File::saveFiles(
				$files,
				[
					"FORUM_ID" => $fields["FORUM_ID"],
					"TOPIC_ID" => $fields["TOPIC_ID"],
					"MESSAGE_ID" => 0,
					"USER_ID" => $fields["AUTHOR_ID"],
				],
				($object->sysGetRuntime("UPLOAD_DIR") ?: "forum/upload"));
			$object->sysSetRuntime("FILES", $files);
		}

		$parser = new forumTextParser(LANGUAGE_ID);
		$allow = forumTextParser::GetFeatures(BitrixForumForum::getById($fields["FORUM_ID"]));
		$allow["SMILES"] = ($fields["USE_SMILES"] != "Y" ? "N" : $allow["SMILES"]);
		$result->modifyFields([
			"POST_MESSAGE_HTML" => $parser->convert($fields["POST_MESSAGE_FILTER"] ?: $fields["POST_MESSAGE"], $allow, "html", $files)
		]);
	}
	return $result;
}