• Модуль: socialnetwork
  • Путь к файлу: ~/bitrix/modules/socialnetwork/classes/general/functions.php
  • Класс: CSocNetTools
  • Вызов: CSocNetTools::GetSubordinateGroups
static function GetSubordinateGroups($userID = false)
{
	global $USER;
	static $arSubordinateGroupsByUser = array();

	$userID = intval($userID);
	if ($userID <= 0)
	{
		$userID = $USER->getId();
	}

	if ($userID <= 0)
	{
		return array();
	}

	if (isset($arSubordinateGroupsByUser[$userID]))
	{
		$arUserSubordinateGroups = $arSubordinateGroupsByUser[$userID];
	}
	else
	{
		$arUserSubordinateGroups = Array(2);
		$arUserGroups_u = CUser::GetUserGroup($userID);
		for ($j = 0,$len = count($arUserGroups_u); $j < $len; $j++)
		{
			$arSubordinateGroups = CGroup::GetSubordinateGroups($arUserGroups_u[$j]);
			$arUserSubordinateGroups = array_merge ($arUserSubordinateGroups, $arSubordinateGroups);
		}
		$arUserSubordinateGroups = array_unique($arUserSubordinateGroups);

		$arSubordinateGroupsByUser[$userID] = $arUserSubordinateGroups;
	}

	return $arUserSubordinateGroups;
}