- Модуль: forum
- Путь к файлу: ~/bitrix/modules/forum/classes/general/filter_dictionary.php
- Класс: CAllFilterUnquotableWords
- Вызов: CAllFilterUnquotableWords::CheckFields
static function CheckFields($action = "INSERT", $ID = false, $arFields = array())
{
global $APPLICATION, $DB;
$arError = array();
$sError = '';
$ID = intval($ID);
if ($action == "INSERT")
{
if ($action == "INSERT" && trim($arFields["WORDS"]) == '' && trim($arFields["PATTERN"]) == '')
$arError[] = array(
"code" => "empty_data",
"title" => GetMessage("FLT_ERR_DICT_PATT_MISSED"));
if (intval($arFields["DICTIONARY_ID"]) <= 0)
$arError[] = array(
"code" => "bad_dictionary_id",
"title" => GetMessage("FLT_ERR_DICTIONARY_MISSED"));
}
else
{
if ($ID <= 0)
$arError = array(
"code" => "empty_id",
"title" => GetMessage("FLT_ERR_ID_NOT_ENTER"));
if (is_set($arFields, "DICTIONARY_ID") && intval($arFields["DICTIONARY_ID"]) <= 0)
$arError[] = array(
"code" => "bad_dictionary_id",
"title" => GetMessage("FLT_ERR_DICTIONARY_MISSED"));
}
if (!empty($arFields["PATTERN"]) && !CFilterUnquotableWords::CheckPattern($arFields["PATTERN"], $sError))
$arError[] = array(
"code" => "bad_pattern",
"title" => $sError);
if (trim($arFields["WORDS"]) <> '')
{
$db_res = CFilterUnquotableWords::GetList(array(), array("WORDS" => trim($arFields["WORDS"])));
if ($db_res && $res = $db_res->Fetch())
{
if ($action == "INSERT" || ($action=="UPDATE" && intval($res["ID"]) != $ID))
{
$arError[] = array(
"code" => "already_exists",
"title" => GetMessage("FLT_ALREADY_EXIST"));
}
}
}
if (empty($arError))
return true;
$APPLICATION->ThrowException(ForumShowError($arError));
return false;
}