public function RecoverDocumentFromHistory($documentId, $arDocument)
 {
     if (parent::RecoverDocumentFromHistory($documentId, $arDocument)) {
         CWebDavDiskDispatcher::sendEventToOwners($arDocument['FIELDS'], null, 'recover from history');
         return true;
     }
 }
示例#2
0
 function _ib_elm_add($arFields, $bWorkFlow = false, $bUpdateSearch = true, $bResizePictures = false)
 {
     global $USER_FIELD_MANAGER;
     global $APPLICATION;
     $bUF = isset($arFields['USER_FIELDS']);
     if ($bUF) {
         $UF_ENTITY = $this->GetUfEntity();
         if (!$USER_FIELD_MANAGER->CheckFields($UF_ENTITY, 0, $arFields['USER_FIELDS'])) {
             if (is_object($APPLICATION) && $APPLICATION->GetException()) {
                 $e = $APPLICATION->GetException();
                 $this->LAST_ERROR .= $e->GetString();
                 return false;
             }
         }
         $handlerID = AddEventHandler('search', 'BeforeIndex', array($this, 'IndexUfValues'));
     }
     if ($bUpdateSearch && $bUF) {
         $bUpdateSearch = false;
     }
     $el = new CIBlockElement();
     $result = $el->Add($arFields, $bWorkFlow, $bUpdateSearch, $bResizePictures);
     $ID = intval($result);
     if ($ID <= 0) {
         $this->LAST_ERROR = $el->LAST_ERROR;
         return false;
     } else {
         if (isset($arFields['PROPERTY_VALUES']) && !$this->ValidatePropertyValues($ID, $arFields['PROPERTY_VALUES'], $arFields['IBLOCK_ID'])) {
             $this->LAST_ERROR = GetMessage("WD_FILE_ERROR111");
             $el->Delete($ID);
             return false;
         }
         if ($bUF) {
             $USER_FIELD_MANAGER->Update($UF_ENTITY, $ID, $arFields['USER_FIELDS']);
             $el->UpdateSearch($ID, true);
         }
         $this->_onEvent('Add', $ID);
     }
     if ($bUF) {
         RemoveEventHandler('search', 'BeforeIndex', $handlerID);
     }
     CWebDavDiskDispatcher::sendEventToOwners(null, array('IBLOCK_ID' => (int) $arFields['IBLOCK_ID'], 'ID' => (int) $arFields['IBLOCK_SECTION_ID']), 'add');
     return (int) $result;
 }