コード例 #1
0
 $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();
     }
 }