• Модуль: webdav
  • Путь к файлу: ~/bitrix/modules/webdav/classes/symlinkhelper.php
  • Класс: CWebDavSymlinkHelper
  • Вызов: CWebDavSymlinkHelper::getRootSectionId
static function getRootSectionId($iblockId, $sectionId, $typeLibrary)
{
	$section = CIBlockSection::GetList(array(), array(
		'ID' => $sectionId,
		'IBLOCK_ID' => $iblockId,
	), false, array('ID', 'LEFT_MARGIN', 'RIGHT_MARGIN', 'DEPTH_LEVEL'))->fetch();

	if($typeLibrary == self::ENTITY_TYPE_USER)
	{
		$sectionOwnerElement = CIBlockSection::GetList(array('LEFT_MARGIN' => 'DESC'), array(
			'IBLOCK_ID'         => $iblockId,
			'DEPTH_LEVEL'       => 1,
			'IBLOCK_SECTION_ID' => null,
			'!LEFT_MARGIN'      => $section['LEFT_MARGIN'],
			'!RIGHT_MARGIN'     => $section['RIGHT_MARGIN'],
			'CHECK_PERMISSIONS' => 'N',
		), false, array('ID', 'IBLOCK_ID', 'IBLOCK_SECTION_ID', 'CREATED_BY', 'NAME'))->fetch();

		return $sectionOwnerElement['ID'];
	}
	elseif($typeLibrary == self::ENTITY_TYPE_GROUP)
	{
		if($section['DEPTH_LEVEL'] == 1)
		{
			return $section['ID'];
		}
		$sectionOwnerElement = CIBlockSection::GetList(array('LEFT_MARGIN' => 'DESC'), array(
			'IBLOCK_ID'         => $iblockId,
			'DEPTH_LEVEL'       => 1,
			'IBLOCK_SECTION_ID' => null,
			'!LEFT_MARGIN'      => $section['LEFT_MARGIN'],
			'!RIGHT_MARGIN'     => $section['RIGHT_MARGIN'],
			'CHECK_PERMISSIONS' => 'N',
		), false, array('ID', 'IBLOCK_ID', 'IBLOCK_SECTION_ID', 'SOCNET_GROUP_ID', 'NAME'))->fetch();

		return empty($sectionOwnerElement['ID'])? 0 : $sectionOwnerElement['ID'];
	}
	elseif($typeLibrary == self::ENTITY_TYPE_SHARED)
	{
		return 0;
	}
}