• Модуль: 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;
}