• Модуль: forum
  • Путь к файлу: ~/bitrix/modules/forum/lib/message.php
  • Класс: BitrixForumMessageTable
  • Вызов: MessageTable::onUpdate
static function onUpdate(MainORMEvent $event)
{
	$id = $event->getParameter("id");
	$id = $id["ID"];
	$message = self::getDataById($id);

	$fields = $event->getParameter("fields") + $message;
	$object = $event->getParameter("object");

	if ($files = $object->sysGetRuntime("FILES"))
	{
		File::saveFiles(
			$files,
			[
				"FORUM_ID" => $fields["FORUM_ID"],
				"TOPIC_ID" => $fields["TOPIC_ID"],
				"MESSAGE_ID" => $id,
				"USER_ID" => $fields["AUTHOR_ID"],
			],
			($object->sysGetRuntime("UPLOAD_DIR") ?: "forum/upload"));
	}
	if (MainConfigOption::get("forum", "MESSAGE_HTML", "N") == "Y")
	{
		$result = new MainORMEventResult();
		$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;
	}
}