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