- Модуль: wiki
- Путь к файлу: ~/bitrix/modules/wiki/classes/general/wiki.php
- Класс: CWiki
- Вызов: CWiki::SetDefaultPage
static function SetDefaultPage($IBLOCK_ID, $NAME)
{
if (CWikiSocnet::IsSocNet())
{
$ENTITY_ID = 'IBLOCK_'.$IBLOCK_ID.'_SECTION';
$ELEMENT_ID = CWikiSocnet::$iCatId;
}
else
{
$ENTITY_ID = 'IBLOCK_'.$IBLOCK_ID;
$ELEMENT_ID = $IBLOCK_ID;
}
AddEventHandler("main", "OnUserTypeBuildList", array("CUserTypeWiki", "GetUserTypeDescription"));
$GLOBALS['USER_FIELD_MANAGER']->CleanCache();
$GLOBALS['USER_FIELD_MANAGER']->arUserTypes = '';
$arElement = $GLOBALS['USER_FIELD_MANAGER']->GetUserFields($ENTITY_ID, $ELEMENT_ID);
if ($arElement !== false)
{
if (!isset($arElement['UF_WIKI_INDEX']))
{
$arFields = array();
$arFields['ENTITY_ID'] = $ENTITY_ID;
$arFields['FIELD_NAME'] = 'UF_WIKI_INDEX';
$arFields['USER_TYPE_ID'] = 'wiki';
$CAllUserTypeEntity = new CUserTypeEntity();
$intID=$CAllUserTypeEntity->Add($arFields);
if (false == $intID)
{
$e = $GLOBALS['APPLICATION']->GetException();
if ($e)
ShowError(GetMessage("WIKI_USER_T_ADD_ERR").$e->GetString());
}
}
if (empty($arElement['UF_WIKI_INDEX']['VALUE']) || $arElement['UF_WIKI_INDEX']['VALUE'] != $NAME)
{
$arFields = array();
$arFields['UF_WIKI_INDEX'] = $NAME;
$GLOBALS['USER_FIELD_MANAGER']->Update($ENTITY_ID, $ELEMENT_ID, $arFields);
}
return true;
}
return false;
}