コード例 #1
0
ファイル: store_docs.php プロジェクト: andy-profi/bxApiDocs
 /**
  * @param $id
  * @param $arFields
  * @return bool
  */
 public static function update($id, $arFields)
 {
     /** @global CDataBase $DB */
     global $DB;
     $id = (int) $id;
     foreach (GetModuleEvents("catalog", "OnBeforeDocumentUpdate", true) as $arEvent) {
         if (ExecuteModuleEventEx($arEvent, array($id, &$arFields)) === false) {
             return false;
         }
     }
     if (array_key_exists('DATE_CREATE', $arFields)) {
         unset($arFields['DATE_CREATE']);
     }
     if (array_key_exists('DATE_MODIFY', $arFields)) {
         unset($arFields['DATE_MODIFY']);
     }
     if (array_key_exists('DATE_STATUS', $arFields)) {
         unset($arFields['DATE_STATUS']);
     }
     if (array_key_exists('CREATED_BY', $arFields)) {
         unset($arFields['CREATED_BY']);
     }
     $arFields['~DATE_MODIFY'] = $DB->GetNowFunction();
     if ($id <= 0 || !self::CheckFields('UPDATE', $arFields)) {
         return false;
     }
     $strUpdate = $DB->PrepareUpdate("b_catalog_store_docs", $arFields);
     if (!empty($strUpdate)) {
         $strSql = "update b_catalog_store_docs set " . $strUpdate . " where ID = " . $id;
         if (!$DB->Query($strSql, true, "File: " . __FILE__ . "<br>Line: " . __LINE__)) {
             return false;
         }
         if (isset($arFields["ELEMENT"])) {
             foreach ($arFields["ELEMENT"] as $arElement) {
                 if (is_array($arElement)) {
                     CCatalogStoreDocsElement::update($arElement["ID"], $arElement);
                 }
             }
         }
         foreach (GetModuleEvents("catalog", "OnDocumentUpdate", true) as $arEvent) {
             ExecuteModuleEventEx($arEvent, array($id, $arFields));
         }
     }
     return true;
 }