- Модуль: socialnetwork
- Путь к файлу: ~/bitrix/modules/socialnetwork/lib/item/workgroup.php
- Класс: BitrixSocialnetworkItemWorkgroup
- Вызов: Workgroup::onBeforeIBlockSectionDelete
static function onBeforeIBlockSectionDelete($sectionId)
{
if ((int)$sectionId <= 0)
{
return true;
}
$res = CIBlockSection::getList(
[],
[ 'ID' => $sectionId ],
false,
[ 'ID', 'IBLOCK_ID' ]
);
if (
!($section = $res->fetch())
|| !isset($section['IBLOCK_ID'])
|| (int)$section['IBLOCK_ID'] <= 0
|| (
isset($section['ACTIVE'])
&& $section['ACTIVE'] === 'N'
)
|| (int)$section['IBLOCK_ID'] !== (int)Option::get('intranet', 'iblock_structure', 0)
)
{
return true;
}
$rootSectionIdList = [];
$res = CIBlockSection::getNavChain($section['IBLOCK_ID'], $section['ID'], array('ID'));
while ($rootSection = $res->fetch())
{
if ((int)$rootSection['ID'] !== (int)$section['ID'])
{
$rootSectionIdList[] = $rootSection['ID'];
}
}
if (!empty($rootSectionIdList))
{
$groupList = UserToGroup::getConnectedGroups($rootSectionIdList);
self::$groupsIdToCheckList = array_merge(self::$groupsIdToCheckList, $groupList);
}
return true;
}