• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/statusbase.php
  • Класс: BitrixSaleStatusBase
  • Вызов: StatusBase::getUserGroups
static function getUserGroups($userId)
{
	global $USER;

	if ($userId == $USER->GetID())
	{
		$groups = $USER->GetUserGroupArray();
	}
	else
	{
		static $cacheGroups;

		if (isset($cacheGroups[$userId]))
		{
			$groups = $cacheGroups[$userId];
		}
		else
		{
			// TODO: DATE_ACTIVE_FROM >=< DATE_ACTIVE_TO
			$result = UserGroupTable::getList(array(
				'select' => array('GROUP_ID'),
				'filter' => array('USER_ID' => $userId)
			));

			$groups = array();
			while ($row = $result->fetch())
				$groups []= $row['GROUP_ID'];

			$cacheGroups[$userId] = $groups;
		}
	}

	return $groups;
}