$this->AbortResultCache(); if (isset($_REQUEST['delete'])) { if (CWikiUtils::IsDeleteable()) { $historyService = new CBPHistoryService(); $historyService->DeleteHistory($historyId, array('iblock', 'CWikiDocument', $arParams['ELEMENT_ID'])); $CACHE_MANAGER->ClearByTag('wiki_' . $arParams['ELEMENT_ID']); LocalRedirect(CComponentEngine::MakePathFromTemplate($arParams['PATH_TO_HISTORY'], array('wiki_name' => $arParams['ELEMENT_NAME'], 'group_id' => CWikiSocnet::$iSocNetId))); } else { $this->AbortResultCache(); ShowError(GetMessage('WIKI_ACCESS_DENIED')); return; } } else { try { $CWIKI = new CWiki(); if ($CWIKI->Recover($historyId, $arParams['ELEMENT_ID'], $arParams['IBLOCK_ID'])) { // $arResult["MESSAGE"] = GetMessage('WIKI_PAGE_RECOVER'); // so how could it change the name $arResult['ELEMENT_NEW'] = CWiki::GetElementById($arParams['ELEMENT_ID'], $arFilter); if (CWiki::GetDefaultPage($arParams['IBLOCK_ID']) == $arResult['ELEMENT']['NAME'] && $arResult['ELEMENT']['NAME'] != $arResult['ELEMENT_NEW']['NAME']) { CWiki::SetDefaultPage($arParams['IBLOCK_ID'], $arResult['ELEMENT_NEW']['NAME']); } $CACHE_MANAGER->ClearByTag('wiki_' . $arParams['ELEMENT_ID']); LocalRedirect(CComponentEngine::MakePathFromTemplate($arParams['PATH_TO_POST'], array('wiki_name' => urlencode($arResult['ELEMENT_NEW']['NAME']), 'group_id' => CWikiSocnet::$iSocNetId))); } else { $arResult['FATAL_MESSAGE'] = GetMessage('WIKI_PAGE_RECOVER_ERROR'); } } catch (Exception $e) { $arResult['FATAL_MESSAGE'] = $e->getMessage(); } }