• Модуль: socialnetwork
  • Путь к файлу: ~/bitrix/modules/socialnetwork/lib/item/workgroup.php
  • Класс: BitrixSocialnetworkItemWorkgroup
  • Вызов: Workgroup::onBeforeIBlockSectionUpdate
static function onBeforeIBlockSectionUpdate($section)
{
	if (
		!isset($section['ID'], $section['IBLOCK_ID'])
		|| (int)$section['ID'] <= 0
		|| (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;
}