public function RecoverDocumentFromHistory($documentId, $arDocument) { if (parent::RecoverDocumentFromHistory($documentId, $arDocument)) { CWebDavDiskDispatcher::sendEventToOwners($arDocument['FIELDS'], null, 'recover from history'); return true; } }
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; }