• Модуль: voximplant
  • Путь к файлу: ~/bitrix/modules/voximplant/lib/security/rolemanager.php
  • Класс: BitrixVoximplantSecurityRoleManager
  • Вызов: RoleManager::getUserRoles
static function getUserRoles($userId)
{
	if(isset(self::$userRoles[$userId]))
	{
		return self::$userRoles[$userId];
	}

	static::loadPermission();
	static::loadRoleAccess();

	$result = [];
	$userAccessCodes = CAccess::GetUserCodesArray($userId);

	if(!is_array($userAccessCodes) || empty($userAccessCodes))
	{
		return [];
	}

	foreach ($userAccessCodes as $accessCode)
	{
		if(isset(static::$accessCodeToRole[$accessCode]))
		{
			$result = array_merge($result, static::$accessCodeToRole[$accessCode]);
		}
	}
	$result = array_unique($result);

	self::$userRoles[$userId] = $result;

	return $result;
}