- Модуль: 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);
}