- Модуль: wiki
- Путь к файлу: ~/bitrix/modules/wiki/classes/general/wiki_parser.php
- Класс: CWikiParser
- Вызов: CWikiParser::processInternalLink
function processInternalLink($text)
{
global $APPLICATION, $arParams;
$text = preg_replace_callback('/[[(.+)(|(.*))?]]/iU'.BX_UTF_PCRE_MODIFIER, array(&$this, '_processInternalLinkPrepareCallback'), $text);
$text = preg_replace('/(##Category##)(s)*((r*)n)*/',"", $text);
// check pages for exists
if (!empty($this->arLink))
{
$arFilter = array();
$arFilter['=NAME'] = $this->arLink;
$arFilter['IBLOCK_ID'] = $arParams['IBLOCK_ID'];
$arFilter['ACTIVE'] = 'Y';
$arFilter['CHECK_PERMISSIONS'] = 'N';
if (CWikiSocnet::IsSocNet())
$arFilter['SUBSECTION'] = CWikiSocnet::$iCatId;
$rsElement = CIBlockElement::GetList(array(), $arFilter, false, false, Array());
while($obElement = $rsElement->GetNextElement())
{
$arFields = $obElement->GetFields();
$this->arLinkExists[] = mb_strtolower(CWikiUtils::htmlspecialcharsback($arFields['NAME'], true));
}
}
$text = preg_replace_callback('/(##LINK(d+)##)/isU'.BX_UTF_PCRE_MODIFIER, array(&$this, '_processInternalLinkCallback'), $text);
return $text;
}