• Модуль: sender
  • Путь к файлу: ~/bitrix/modules/sender/lib/security/role/manager.php
  • Класс: BitrixSenderSecurityRoleManager
  • Вызов: Manager::getRolesByUserId
static function getRolesByUserId($userId)
{
	if(isset(self::$userRoles[$userId]))
		return self::$userRoles[$userId];

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

	if(!is_array($userAccessCodes) || count($userAccessCodes) === 0)
		return [];

	$cursor = ModelRoleAccessTable::getList([
		'filter' => [
			'=ACCESS_CODE' => $userAccessCodes
		]
	]);

	while($row = $cursor->fetch())
	{
		$result[] = $row['ROLE_ID'];
	}

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