- Модуль: forum
- Путь к файлу: ~/bitrix/modules/forum/classes/general/filter_dictionary.php
- Класс: CAllFilterLetter
- Вызов: CAllFilterLetter::Update
static function Update($ID, $arFields)
{
global $DB, $APPLICATION;
$ID = intval($ID);
$letter = false; $dictionary_id = false; $update = false;
if (is_set($arFields, "LETTER"))
{
$arFields["LETTER"] = trim($arFields["LETTER"]);
$letter = true;
}
if (is_set($arFields, "REPLACEMENT"))
$arFields["REPLACEMENT"] = trim($arFields["REPLACEMENT"]);
if (is_set($arFields, "DICTIONARY_ID"))
{
$arFields["DICTIONARY_ID"] = intval($arFields["DICTIONARY_ID"]);
$dictionary_id = true;
}
if ($letter || $dictionary_id)
{
$ID1 = CFilterLetter::GetByID($ID);
$request = array();
if ($letter && !$dictionary_id)
$request = array("DICTIONARY_ID"=>$ID1["DICTIONARY_ID"], "LETTER"=>$arFields["LETTER"]);
elseif (!$letter && $dictionary_id)
$request = array("DICTIONARY_ID"=>$arFields["DICTIONARY_ID"], "LETTER"=>$ID1["LETTER"]);
elseif ($letter && $dictionary_id)
$request = array("DICTIONARY_ID"=>$arFields["DICTIONARY_ID"], "LETTER"=>$arFields["LETTER"]);
$db_res = CFilterLetter::GetList(array(), $request);
$db_res = $db_res->Fetch();
if ((intval($db_res["ID"])<=0) || (intval($db_res["ID"]) == $ID))
$update = true;
}
if (!$update)
$APPLICATION->ThrowException(GetMessage("FLT_ALREADY_EXIST"));
if (($ID>0) && (CFilterLetter::CheckFields($arFields)) && ($update))
{
$strUpdate = $DB->PrepareUpdate("b_forum_letter", $arFields);
$res = $DB->Query("UPDATE b_forum_letter SET ".$strUpdate." WHERE ID=".$ID);
return $res;
}
return false;
}