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