Example #1
0
 function Update($ID, $arFields)
 {
     $arCats = array();
     $CWikiParser = new CWikiParser();
     $arFields['DETAIL_TEXT'] = $CWikiParser->parseBeforeSave($arFields['DETAIL_TEXT'], $arCats, $arFields['NAME_TEMPLATE']);
     $this->CleanCache($ID, $arFields['NAME'], $arFields['IBLOCK_ID']);
     //save item
     $this->cIB_E->Update($ID, $arFields);
     //serve category / bindings
     $arCats = str_replace("/", "-", $arCats);
     //http://jabber.bx/view.php?id=28447
     $this->UpdateCategory($ID, $arFields['IBLOCK_ID'], $arCats);
     $modifyComment = isset($arFields["MODIFY_COMMENT"]) ? $arFields["MODIFY_COMMENT"] : "";
     $this->UpdateHistory($ID, $arFields['IBLOCK_ID'], $modifyComment);
     return true;
 }
Example #2
0
                 $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);
             $arResult['ELEMENT_PREVIEW']['DETAIL_TEXT'] = $CWikiParser->Parse($arResult['ELEMENT_PREVIEW']['DETAIL_TEXT'], $arResult['ELEMENT']['DETAIL_TEXT_TYPE'], $arResult['ELEMENT']['IMAGES']);
             $arResult['ELEMENT_PREVIEW']['DETAIL_TEXT'] = $CWikiParser->Clear($arResult['ELEMENT_PREVIEW']['DETAIL_TEXT']);
             $arResult['ELEMENT']['TAGS'] = htmlspecialcharsbx($_POST['TAGS']);
             $arResult['ELEMENT']['~TAGS'] = htmlspecialcharsbx($_POST['TAGS']);
         }
     }
 }
 // obtain a list of pictures page
 $arResult['IMAGES'] = array();
 if (!empty($arResult['ELEMENT']['IMAGES'])) {
     foreach ($arResult['ELEMENT']['IMAGES'] as $_imgID) {
         $rsFile = CFile::GetByID($_imgID);
         $arFile = $rsFile->Fetch();
         $aImg = array();
         $aImg['ID'] = $_imgID;
Example #3
0
            $arResult['VERSION']['CANCEL_LINK'] = CHTTP::urlAddParams(CComponentEngine::MakePathFromTemplate($arParams['PATH_TO_HISTORY'], array('wiki_name' => urlencode($arParams['ELEMENT_NAME']), 'group_id' => CWikiSocnet::$iSocNetId)), $arHp);
        }
    }
    $CACHE_MANAGER->StartTagCache($this->GetCachePath());
    $CACHE_MANAGER->RegisterTag('wiki_' . $arParams['ELEMENT_ID']);
    $CACHE_MANAGER->EndTagCache();
    /*$arPages = array('article');
    	if (isset($arResult['WIKI_oper']) && $arResult['WIKI_oper'] == 'add')
    		$arPages[] = 'add';
    	$arResult['TOPLINKS'] = CWikiUtils::getRightsLinks($arPages, $arParams);*/
    $arCat = array();
    $CWikiParser = new CWikiParser();
    if ($arResult['REDIRECTED_FROM'] && CWikiUtils::IsWriteable()) {
        $redirUrl = CHTTP::urlAddParams(CComponentEngine::MakePathFromTemplate($arParams['PATH_TO_POST_EDIT'], array('wiki_name' => urlencode($arResult['REDIRECTED_FROM']), 'group_id' => CWikiSocnet::$iSocNetId)), $arParams['IN_COMPLEX'] == 'Y' && $arParams['SEF_MODE'] == 'N' ? array($arParams['OPER_VAR'] => $arResult['WIKI_oper']) : array());
        $redirUrl = (CMain::IsHTTPS() ? "https://" : "http://") . $_SERVER["HTTP_HOST"] . $redirUrl;
        $arResult['ELEMENT']['~DETAIL_TEXT'] = GetMessage("WIKI_REDIRECT_FROM") . "[" . $redirUrl . " " . $arResult['REDIRECTED_FROM'] . "]<br><br>" . $arResult['ELEMENT']['~DETAIL_TEXT'];
    }
    $arResult['ELEMENT']['DETAIL_TEXT'] = $CWikiParser->parseBeforeSave($arResult['ELEMENT']['~DETAIL_TEXT'], $arCat, $arParams["NAME_TEMPLATE"]);
    $arResult['ELEMENT']['DETAIL_TEXT'] = $CWikiParser->Parse($arResult['ELEMENT']['DETAIL_TEXT'], $arResult['ELEMENT']['DETAIL_TEXT_TYPE'], $arResult['ELEMENT']['IMAGES']);
    $arResult['ELEMENT']['DETAIL_TEXT'] = $CWikiParser->Clear($arResult['ELEMENT']['DETAIL_TEXT']);
    $SERVICE_PAGE_NAME = '';
    $arResult['SERVICE_PAGE'] = CWikiUtils::CheckServicePage($arParams['ELEMENT_NAME'], $SERVICE_PAGE_NAME);
    if ($arResult['SERVICE_PAGE'] == 'category') {
        $this->AbortResultCache();
    }
    $this->IncludeComponentTemplate();
}
$arParams = $_arParams;
include_once $_SERVER['DOCUMENT_ROOT'] . '/bitrix/components/bitrix/wiki/include/nav.php';
unset($GLOBALS['arParams']);
return $arResult['ELEMENT']['ID'];
Example #4
0
        $arResult['VERSION_OLD']['USER_LINK'] = CHTTP::urlAddParams(CComponentEngine::MakePathFromTemplate($arParams['PATH_TO_USER'], array('wiki_name' => urlencode($arParams['ELEMENT_NAME']), 'group_id' => CWikiSocnet::$iSocNetId, 'user_id' => $arHistoryResult['USER_ID'])), array());
    }
    $arHp = array('oldid' => $arHistoryResult['ID'], 'sessid' => bitrix_sessid());
    if ($arParams['IN_COMPLEX'] == 'Y' && $arParams['SEF_MODE'] == 'N') {
        $arHp[$arParams["OPER_VAR"]] = 'history';
    }
    $arResult['CANCEL_LINK'] = CHTTP::urlAddParams(CComponentEngine::MakePathFromTemplate($arParams["PATH_TO_HISTORY"], array('wiki_name' => urlencode($arParams['ELEMENT_NAME']), 'group_id' => CWikiSocnet::$iSocNetId)), $arHp);
    /* erase
    	if ($arHistoryResult['DOCUMENT']['FIELDS']['DETAIL_TEXT_TYPE'] == 'text')
    		$arHistoryResult['DOCUMENT']['FIELDS']['DETAIL_TEXT'] = nl2br($arHistoryResult['DOCUMENT']['FIELDS']['DETAIL_TEXT']);
    	if ($arDiffResult['DOCUMENT']['FIELDS']['DETAIL_TEXT_TYPE'] == 'text')
    		$arDiffResult['DOCUMENT']['FIELDS']['DETAIL_TEXT'] = nl2br($arDiffResult['DOCUMENT']['FIELDS']['DETAIL_TEXT']);
    */
    $arResult['DIFF_NAME'] = CWikiDiff::getDiff($arHistoryResult['DOCUMENT']['FIELDS']['NAME'], $arDiffResult['DOCUMENT']['FIELDS']['NAME']);
    $arCat = array();
    $CWikiParser = new CWikiParser();
    /* erase
    	$arHistoryResult['DOCUMENT']['FIELDS']['DETAIL_TEXT'] = $CWikiParser->Clear($arHistoryResult['DOCUMENT']['FIELDS']['DETAIL_TEXT']);
    	$arDiffResult['DOCUMENT']['FIELDS']['DETAIL_TEXT'] = $CWikiParser->Clear($arDiffResult['DOCUMENT']['FIELDS']['DETAIL_TEXT']);
     */
    $arResult['DIFF'] = CWikiDiff::getDiff($arHistoryResult['DOCUMENT']['FIELDS']['DETAIL_TEXT'], $arDiffResult['DOCUMENT']['FIELDS']['DETAIL_TEXT']);
    $arResult['DIFF'] = $CWikiParser->parseBeforeSave($arResult['DIFF'], $arCat, $arParams["NAME_TEMPLATE"]);
    $arResult['DIFF'] = $CWikiParser->Parse($arResult['DIFF'], $arHistoryResult['DOCUMENT']['FIELDS']['DETAIL_TEXT_TYPE']);
    $arResult['DIFF'] = $CWikiParser->Clear($arResult['DIFF']);
    $CACHE_MANAGER->StartTagCache($this->GetCachePath());
    $CACHE_MANAGER->RegisterTag('wiki_' . $arParams['ELEMENT_ID']);
    $CACHE_MANAGER->EndTagCache();
    $this->IncludeComponentTemplate();
}
include_once $_SERVER['DOCUMENT_ROOT'] . '/bitrix/components/bitrix/wiki/include/nav.php';
unset($GLOBALS['arParams']);