• Модуль: documentgenerator
  • Путь к файлу: ~/bitrix/modules/documentgenerator/lib/userpermissions.php
  • Класс: BitrixDocumentGeneratorUserPermissions
  • Вызов: UserPermissions::loadUserPermissions
protected function loadUserPermissions(): void
{
	$this->permissions = [];
	//administrators should have full access despite everything
	if($this->hasAdminAccess())
	{
		$this->permissions = static::getAdminPermissions();
		return;
	}

	$userAccessCodes = CAccess::GetUserCodesArray($this->userId);
	if(!is_array($userAccessCodes) || count($userAccessCodes) === 0)
	{
		return;
	}

	$rolePermissions = RolePermissionTable::getList(['filter' => [
		'=ROLE_ACCESS.ACCESS_CODE' => $userAccessCodes
	]]);

	while($rolePermission = $rolePermissions->fetch())
	{
		if (
			!isset($this->permissions[$rolePermission['ENTITY']][$rolePermission['ACTION']]) ||
			$this->permissions[$rolePermission['ENTITY']][$rolePermission['ACTION']] < $rolePermission['PERMISSION']
		)
		{
			$this->permissions[$rolePermission['ENTITY']][$rolePermission['ACTION']] = $rolePermission['PERMISSION'];
		}
	}
}