- Модуль: webdav
- Путь к файлу: ~/bitrix/modules/webdav/classes/iblock.php
- Класс: CWebDavIblock
- Вызов: CWebDavIblock::getSectionDataForLinkAnalyze
private function getSectionDataForLinkAnalyze($sectionId, array $miscData = array(), $forwardFromSymlinkSectionToReal = true)
{
if(!empty($miscData['IBLOCK_ID']))
{
$iblockId = $miscData['IBLOCK_ID'];
CWebDavSymlinkHelper::setIblockIdForSectionId($sectionId, $iblockId);
}
else
{
$iblockId = CWebDavSymlinkHelper::getIblockIdForSectionId($sectionId);
}
if($forwardFromSymlinkSectionToReal)
{
if(!empty($this->arParams['dir_array']['ID']) && $this->arParams['dir_array']['ID'] == $sectionId)
{
//this sectionId is symlink. Forward data to symlink data
if(!empty($this->arParams['dir_array'][self::UF_LINK_IBLOCK_ID]))
{
$sectionId = $this->arParams['dir_array'][self::UF_LINK_SECTION_ID];
$iblockId = $this->arParams['dir_array'][self::UF_LINK_IBLOCK_ID];
CWebDavSymlinkHelper::setIblockIdForSectionId($sectionId, $iblockId);
}
else
{
$iblockId = $this->arParams['dir_array']['IBLOCK_ID'];
CWebDavSymlinkHelper::setIblockIdForSectionId($sectionId, $iblockId);
}
}
elseif(!empty($miscData['dir_array']['ID']) && $miscData['dir_array']['ID'] == $sectionId)
{
//this sectionId is symlink. Forward data to symlink data
if(!empty($miscData['dir_array'][self::UF_LINK_IBLOCK_ID]))
{
$sectionId = $miscData['dir_array'][self::UF_LINK_SECTION_ID];
$iblockId = $miscData['dir_array'][self::UF_LINK_IBLOCK_ID];
CWebDavSymlinkHelper::setIblockIdForSectionId($sectionId, $iblockId);
}
else
{
$iblockId = $miscData['dir_array']['IBLOCK_ID'];
CWebDavSymlinkHelper::setIblockIdForSectionId($sectionId, $iblockId);
}
}
elseif(!empty($miscData['ID']) && $miscData['ID'] == $sectionId)
{
//this sectionId is symlink. Forward data to symlink data
if(!empty($miscData[self::UF_LINK_IBLOCK_ID]))
{
$sectionId = $miscData[self::UF_LINK_SECTION_ID];
$iblockId = $miscData[self::UF_LINK_IBLOCK_ID];
CWebDavSymlinkHelper::setIblockIdForSectionId($sectionId, $iblockId);
}
else
{
$iblockId = $miscData['IBLOCK_ID'];
CWebDavSymlinkHelper::setIblockIdForSectionId($sectionId, $iblockId);
}
}
}
return array(
'ID' => $sectionId,
'IBLOCK_ID' => $iblockId,
);
}