$arResult['PATH_TO_CONPANY_DEPARTMENT'] = $this->GetParent()->arParams['PATH_TO_CONPANY_DEPARTMENT']; $arResult['PATH_TO_VIDEO_CALL'] = $this->GetParent()->arParams['PATH_TO_VIDEO_CALL']; $arResult['PATH_TO_SONET_MESSAGES_CHAT'] = $this->GetParent()->arParams['PATH_TO_MESSAGES_CHAT']; } $arErrorsTmp = array(); while ($arHistory = $rsHistory->GetNext()) { $arHistory['USER_LINK'] = ''; $arHistoryResult = CBPDocument::GetDocumentFromHistory($arHistory['ID'], $arErrorsTmp); $arHistory["MODIFY_COMMENT"] = $arHistoryResult["DOCUMENT"]["MODIFY_COMMENT"]; if (!empty($arParams['PATH_TO_USER'])) { $arHistory['USER_LINK'] = CHTTP::urlAddParams(CComponentEngine::MakePathFromTemplate($arParams['PATH_TO_USER'], array('wiki_name' => urlencode($arParams['ELEMENT_NAME']), 'group_id' => CWikiSocnet::$iSocNetId, 'user_id' => $arHistory['USER_ID'])), array()); } /*CBPHistoryService::GetHistoryList() returns specialchared values and CWikiUtils::GetUserLogin also do htmlspecialchars*/ foreach (array('USER_LOGIN', 'USER_NAME', 'USER_LAST_NAME', 'USER_SECOND_NAME') as $key) { $arHistory[$key] = CWikiUtils::htmlspecialchars_decode($arHistory[$key]); } $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);
LocalRedirect(CHTTP::urlAddParams(CComponentEngine::MakePathFromTemplate($arParams['PATH_TO_POST'], array('wiki_name' => urlencode($arParams['ELEMENT_NAME']), 'group_id' => CWikiSocnet::$iSocNetId)), array('wiki_page_cache_clear' => 'Y'))); } else { LocalRedirect(CHTTP::urlAddParams(CComponentEngine::MakePathFromTemplate($arParams['PATH_TO_POST_EDIT'], array('wiki_name' => urlencode($arParams['ELEMENT_NAME']), 'group_id' => CWikiSocnet::$iSocNetId)), $arParams['IN_COMPLEX'] == 'Y' && $arParams['SEF_MODE'] == 'N' ? array($arParams['OPER_VAR'] => $arResult['WIKI_oper']) : array())); } } else { $arParams['ELEMENT_NAME'] = $arResult['ELEMENT']['NAME']; } } else { $arResult['ERROR_MESSAGE'] = GetMessage('WIKI_SESS_TIMEOUT'); $arResult['ELEMENT']['DETAIL_TEXT'] = $arResult['ELEMENT']['~DETAIL_TEXT'] = $arResult['ALLOW_HTML'] == 'Y' && $_POST['POST_MESSAGE_TYPE'] == 'html' ? $_POST['POST_MESSAGE_HTML'] : $_POST['POST_MESSAGE']; } } else { if ($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['preview'])) { if (check_bitrix_sessid()) { if (isset($_POST['POST_TITLE'])) { $arResult['ELEMENT']['NAME_LOCALIZE'] = CWikiUtils::htmlspecialchars_decode($_POST['POST_TITLE']); $sCatName = ''; if (CWikiUtils::IsCategoryPage($arFields['NAME'], $sCatName)) { $arResult['ELEMENT']['NAME_LOCALIZE'] = CWikiUtils::UnlocalizeCategoryName($sPageName); } if (empty($_POST['POST_TITLE'])) { $arFields['NAME'] = $arParams['ELEMENT_NAME'] = $_POST['POST_TITLE'] = $arResult['ELEMENT']['NAME_LOCALIZE']; $arResult['ERROR_MESSAGE'] = GetMessage('WIKI_ERROR_NAME_EMPTY'); } } $arResult['ELEMENT']['~DETAIL_TEXT'] = $arResult['ALLOW_HTML'] == 'Y' && $_POST['POST_MESSAGE_TYPE'] == 'html' ? $_POST['POST_MESSAGE_HTML'] : $_POST['POST_MESSAGE']; $arResult['ELEMENT']['DETAIL_TEXT_TYPE'] = $arResult['ALLOW_HTML'] == 'Y' ? $_POST['POST_MESSAGE_TYPE'] : 'text'; $arResult['PREVIEW'] = 'Y'; $arResult['ELEMENT_PREVIEW'] = array(); $arCat = array(); $arResult['ELEMENT_PREVIEW']['DETAIL_TEXT'] = $CWikiParser->parseBeforeSave($arResult['ELEMENT']['~DETAIL_TEXT'], $arCat);
function _codeCallback($matches) { $codeText = ""; $i = count($this->arCode); $codeText = $matches[2]; if ($this->textType == "html") { $codeText = CWikiUtils::htmlspecialchars_decode($codeText); } $this->arCode[] = $codeText; return '##CODE' . $i . '##'; }