• Модуль: forum
  • Путь к файлу: ~/bitrix/modules/forum/lib/forum.php
  • Класс: BitrixForumForum
  • Вызов: Forum::onBeforeUpdate
static function onBeforeUpdate(BitrixMainORMEvent $event)
{
	$result = new BitrixMainORMEventResult();
	/** @var array $data */
	$data = $event->getParameter("fields");
	$id = $event->getParameter("id");
	$id = $id["ID"];
	$forum = self::getById($id)->fetch();

	if (BitrixMainConfigOption::get("forum", "FILTER", "Y") == "Y")
	{
		$filteredFields = self::getFilteredFields();
		if (!empty(array_intersect($filteredFields, array_keys($data))))
		{
			$res = [];
			foreach ($filteredFields as $key)
			{
				$res[$key] = $val = array_key_exists($key, $data) ? $data[$key] : $forum[$key];
				if (!empty($val))
				{
					$res[$key] = CFilterUnquotableWords::Filter($val);
					if (empty($res[$key]))
					{
						$res[$key] = "*";
					}
				}
			}
			$data["HTML"] = serialize($res);
		}
	}

	if ($data != $event->getParameter("fields"))
	{
		$result->modifyFields($data);
	}
	return $result;
}