return; } } $arResult['SOCNET'] = false; if (CWikiSocnet::isEnabledSocnet() && !empty($arParams['SOCNET_GROUP_ID'])) { $iblock_id_tmp = CWikiSocnet::RecalcIBlockID($arParams["SOCNET_GROUP_ID"]); if ($iblock_id_tmp) { $arParams['IBLOCK_ID'] = $iblock_id_tmp; } if (!CWikiSocnet::Init($arParams['SOCNET_GROUP_ID'], $arParams['IBLOCK_ID'])) { ShowError(GetMessage('WIKI_SOCNET_INITIALIZING_FAILED')); return; } $arResult['SOCNET'] = true; } if (!CWikiUtils::IsWriteable() || $arResult['WIKI_oper'] == 'delete' && !CWikiUtils::IsDeleteable()) { ShowError(GetMessage('WIKI_ACCESS_DENIED')); return; } $CWiki = new CWiki(); $arParams['ELEMENT_NAME'] = urldecode($arParams['ELEMENT_NAME']); $arFilter = array('IBLOCK_ID' => $arParams['IBLOCK_ID'], 'CHECK_PERMISSIONS' => 'N'); if (empty($arParams['ELEMENT_NAME'])) { $arParams['ELEMENT_NAME'] = CWiki::GetDefaultPage($arParams['IBLOCK_ID']); } $arResult['ELEMENT'] = array(); if ($arResult['WIKI_oper'] == 'delete') { $arResult['ELEMENT'] = CWiki::GetElementById($arParams['ELEMENT_NAME'], $arFilter); if (!$arResult['ELEMENT']) { $arResult['ERROR_MESSAGE'] = GetMessage("WIKI_DELETE_ERROR"); $arParams['ELEMENT_NAME'] = "";
$arHistory['USER_LOGIN'] = CWikiUtils::GetUserLogin($arHistory, $arParams["NAME_TEMPLATE"]); $arHistory['DISCUSSION_LINK'] = CHTTP::urlAddParams(CComponentEngine::MakePathFromTemplate($arParams['PATH_TO_DISCUSSION'], array('wiki_name' => urlencode($arParams['ELEMENT_NAME']), 'group_id' => CWikiSocnet::$iSocNetId)), $arParams['IN_COMPLEX'] == 'Y' && $arParams['SEF_MODE'] == 'N' ? array($arParams['OPER_VAR'] => 'discussion') : array()); $arHistory['SHOW_LINK'] = CHTTP::urlAddParams(CComponentEngine::MakePathFromTemplate($arParams['PATH_TO_POST'], array('wiki_name' => urlencode($arParams['ELEMENT_NAME']), 'group_id' => CWikiSocnet::$iSocNetId)), array('oldid' => $arHistory['ID'])); $arHp = array('oldid' => $arHistory['ID'], 'sessid' => bitrix_sessid()); if ($arParams['IN_COMPLEX'] == 'Y' && $arParams['SEF_MODE'] == 'N') { $arHp[$arParams['OPER_VAR']] = 'history'; } $arHistory['CANCEL_LINK'] = CHTTP::urlAddParams(CComponentEngine::MakePathFromTemplate($arParams['PATH_TO_HISTORY'], array('wiki_name' => urlencode($arParams['ELEMENT_NAME']), 'group_id' => CWikiSocnet::$iSocNetId)), $arHp); if ($arHistoryFirst['ID'] != $arHistory['ID']) { $arHp = array('diffid' => $arHistoryFirst['ID'], 'oldid' => $arHistory['ID']); if ($arParams['IN_COMPLEX'] == 'Y' && $arParams['SEF_MODE'] == 'N') { $arHp[$arParams['OPER_VAR']] = 'history_diff'; } $arHistory['CUR_LINK'] = CHTTP::urlAddParams(CComponentEngine::MakePathFromTemplate($arParams['PATH_TO_HISTORY_DIFF'], array('wiki_name' => urlencode($arParams['ELEMENT_NAME']), 'group_id' => CWikiSocnet::$iSocNetId)), $arHp); } if (CWikiUtils::IsDeleteable()) { $arHp = array('oldid' => $arHistory['ID'], 'sessid' => bitrix_sessid(), 'delete' => 1); if ($arParams['IN_COMPLEX'] == 'Y' && $arParams['SEF_MODE'] == 'N') { $arHp[$arParams['OPER_VAR']] = 'history'; } $arHistory['DELETE_LINK'] = CHTTP::urlAddParams(CComponentEngine::MakePathFromTemplate($arParams['PATH_TO_HISTORY'], array('wiki_name' => urlencode($arParams['ELEMENT_NAME']), 'group_id' => CWikiSocnet::$iSocNetId)), $arHp); } $arHistory['MODIFIED'] = FormatDateFromDB($arHistory['MODIFIED']); $arResult['HISTORY'][] = $arHistory; $iPrev = count($arResult['HISTORY']) - 2; if (isset($arResult['HISTORY'][$iPrev])) { $arHp = array('diffid' => $arResult['HISTORY'][$iPrev]['ID'], 'oldid' => $arHistory['ID']); if ($arParams['IN_COMPLEX'] == 'Y' && $arParams['SEF_MODE'] == 'N') { $arHp[$arParams['OPER_VAR']] = 'history_diff'; } $arResult['HISTORY'][$iPrev]['PREV_LINK'] = CHTTP::urlAddParams(CComponentEngine::MakePathFromTemplate($arParams['PATH_TO_HISTORY_DIFF'], array('wiki_name' => urlencode($arParams['ELEMENT_NAME']), 'group_id' => CWikiSocnet::$iSocNetId)), $arHp);