Beispiel #1
0
 public 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;
 }