- Модуль: forum
- Путь к файлу: ~/bitrix/modules/forum/classes/general/topic.php
- Класс: CAllForumTopic
- Вызов: CAllForumTopic::CheckFields
static function CheckFields($ACTION, &$arFields)
{
// Fatal Errors
if (is_set($arFields, "TITLE") || $ACTION=="ADD")
{
$arFields["TITLE"] = trim($arFields["TITLE"]);
if ($arFields["TITLE"] == '')
return false;
}
if (is_set($arFields, "TITLE_SEO") || $ACTION=="ADD")
{
$arFields["TITLE_SEO"] = trim($arFields["TITLE_SEO"], " -");
if ($arFields["TITLE_SEO"] == '' && $arFields["TITLE"] <> '')
$arFields["TITLE_SEO"] = CUtil::translit($arFields["TITLE"], LANGUAGE_ID, array("max_len"=>255, "safe_chars"=>".", "replace_space" => '-'));
if ($arFields["TITLE_SEO"] == '')
$arFields["TITLE_SEO"] = false;
}
if (is_set($arFields, "USER_START_NAME") || $ACTION=="ADD")
{
$arFields["USER_START_NAME"] = trim($arFields["USER_START_NAME"]);
if ($arFields["USER_START_NAME"] == '')
return false;
}
if (is_set($arFields, "FORUM_ID") || $ACTION=="ADD")
{
$arFields["FORUM_ID"] = intval($arFields["FORUM_ID"]);
if ($arFields["FORUM_ID"] <= 0)
return false;
}
if (is_set($arFields, "LAST_POSTER_NAME") || $ACTION=="ADD")
{
$arFields["LAST_POSTER_NAME"] = trim($arFields["LAST_POSTER_NAME"]);
if ($arFields["LAST_POSTER_NAME"] == '' && $arFields["APPROVED"] !== "N" && $arFields["STATE"] !== "L")
return false;
}
if (is_set($arFields, "ABS_LAST_POSTER_NAME") || $ACTION=="ADD")
{
$arFields["ABS_LAST_POSTER_NAME"] = trim($arFields["ABS_LAST_POSTER_NAME"]);
if ($arFields["ABS_LAST_POSTER_NAME"] == '' && $ACTION == "ADD" && !empty($arFields["LAST_POSTER_NAME"]))
$arFields["ABS_LAST_POSTER_NAME"] = $arFields["LAST_POSTER_NAME"];
elseif ($arFields["ABS_LAST_POSTER_NAME"] == '' && $arFields["APPROVED"] !== "N" && $arFields["STATE"] !== "L")
return false;
}
// Check Data
if (is_set($arFields, "USER_START_ID") || $ACTION=="ADD")
$arFields["USER_START_ID"] = (intval($arFields["USER_START_ID"]) > 0 ? intval($arFields["USER_START_ID"]) : false);
if (is_set($arFields, "LAST_POSTER_ID") || $ACTION=="ADD")
$arFields["LAST_POSTER_ID"] = (intval($arFields["LAST_POSTER_ID"]) > 0 ? intval($arFields["LAST_POSTER_ID"]) : false);
if (is_set($arFields, "LAST_MESSAGE_ID") || $ACTION=="ADD")
$arFields["LAST_MESSAGE_ID"] = (intval($arFields["LAST_MESSAGE_ID"]) > 0 ? intval($arFields["LAST_MESSAGE_ID"]) : false);
if (is_set($arFields, "ICON") || $ACTION=="ADD")
$arFields["ICON"] = trim($arFields["ICON"]);
if (is_set($arFields, "STATE") || $ACTION=="ADD")
$arFields["STATE"] = (in_array($arFields["STATE"], array("Y", "N", "L")) ? $arFields["STATE"] : "Y");
if (is_set($arFields, "APPROVED") || $ACTION=="ADD")
$arFields["APPROVED"] = ($arFields["APPROVED"] == "N" ? "N" : "Y");
if (is_set($arFields, "SORT") || $ACTION=="ADD")
$arFields["SORT"] = (intval($arFields["SORT"]) > 0 ? intval($arFields["SORT"]) : 150);
if (is_set($arFields, "VIEWS") || $ACTION=="ADD")
$arFields["VIEWS"] = (intval($arFields["VIEWS"]) > 0 ? intval($arFields["VIEWS"]) : 0);
if (is_set($arFields, "POSTS") || $ACTION=="ADD")
$arFields["POSTS"] = (intval($arFields["POSTS"]) > 0 ? intval($arFields["POSTS"]) : 0);
if (is_set($arFields, "TOPIC_ID"))
$arFields["TOPIC_ID"]=intval($arFields["TOPIC_ID"]);
if (is_set($arFields, "SOCNET_GROUP_ID") || $ACTION=="ADD")
$arFields["SOCNET_GROUP_ID"] = (intval($arFields["SOCNET_GROUP_ID"]) > 0 ? intval($arFields["SOCNET_GROUP_ID"]) : false);
if (is_set($arFields, "OWNER_ID") || $ACTION=="ADD")
$arFields["OWNER_ID"] = (intval($arFields["OWNER_ID"]) > 0 ? intval($arFields["OWNER_ID"]) : false);
return True;
}