• Модуль: forum
  • Путь к файлу: ~/bitrix/modules/forum/lib/topic.php
  • Класс: BitrixForumTopic
  • Вызов: Topic::onBeforeAdd
static function onBeforeAdd(Event $event)
{
	$result = new MainORMEventResult();
	/** @var array $data */
	$data = $event->getParameter("fields");
	if (MainConfigOption::get("forum", "FILTER", "Y") == "Y")
	{
		$filteredFields = self::getFilteredFields();
		foreach ($filteredFields as $key)
		{
			$res[$key] = $val = array_key_exists($key, $data) ? $data[$key] : "";
			if (!empty($val))
			{
				$res[$key] = CFilterUnquotableWords::Filter($val);
				if (empty($res[$key]))
				{
					$res[$key] = "*";
				}
			}
		}
		$data["HTML"] = serialize($res);
	}

	$data["TITLE_SEO"] = array_key_exists("TITLE_SEO", $data) ? trim($data["TITLE_SEO"], " -") : "";
	if (empty($data["TITLE_SEO"]))
	{
		$data["TITLE_SEO"] = CUtil::translit($data["TITLE"], LANGUAGE_ID, array("max_len"=>255, "safe_chars"=>".", "replace_space" => '-'));
	}

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

	return self::modifyData($event, $result);
}