diff --git a/lib/ACL/ACLCacheWrapper.php b/lib/ACL/ACLCacheWrapper.php index ba75c2b80..2c94c5495 100644 --- a/lib/ACL/ACLCacheWrapper.php +++ b/lib/ACL/ACLCacheWrapper.php @@ -17,8 +17,8 @@ class ACLCacheWrapper extends CacheWrapper { public function __construct( ICache $cache, - private ACLManager $aclManager, - private bool $inShare, + private readonly ACLManager $aclManager, + private readonly bool $inShare, ) { parent::__construct($cache); } diff --git a/lib/ACL/ACLManager.php b/lib/ACL/ACLManager.php index ad1041f4d..335fa1456 100644 --- a/lib/ACL/ACLManager.php +++ b/lib/ACL/ACLManager.php @@ -17,16 +17,16 @@ use RuntimeException; class ACLManager { - private CappedMemoryCache $ruleCache; + private readonly CappedMemoryCache $ruleCache; public function __construct( - private RuleManager $ruleManager, - private TrashManager $trashManager, - private LoggerInterface $logger, - private IUser $user, - private \Closure $rootFolderProvider, + private readonly RuleManager $ruleManager, + private readonly TrashManager $trashManager, + private readonly LoggerInterface $logger, + private readonly IUser $user, + private readonly \Closure $rootFolderProvider, private ?int $rootStorageId = null, - private bool $inheritMergePerUser = false, + private readonly bool $inheritMergePerUser = false, ) { $this->ruleCache = new CappedMemoryCache(); } diff --git a/lib/ACL/ACLManagerFactory.php b/lib/ACL/ACLManagerFactory.php index cd5915d3a..93108b572 100644 --- a/lib/ACL/ACLManagerFactory.php +++ b/lib/ACL/ACLManagerFactory.php @@ -15,11 +15,11 @@ class ACLManagerFactory { public function __construct( - private RuleManager $ruleManager, - private TrashManager $trashManager, - private IAppConfig $config, - private LoggerInterface $logger, - private \Closure $rootFolderProvider, + private readonly RuleManager $ruleManager, + private readonly TrashManager $trashManager, + private readonly IAppConfig $config, + private readonly LoggerInterface $logger, + private readonly \Closure $rootFolderProvider, ) { } diff --git a/lib/ACL/ACLStorageWrapper.php b/lib/ACL/ACLStorageWrapper.php index a1e1ae1fb..87a615632 100644 --- a/lib/ACL/ACLStorageWrapper.php +++ b/lib/ACL/ACLStorageWrapper.php @@ -17,8 +17,8 @@ use OCP\Files\Storage\IStorage; class ACLStorageWrapper extends Wrapper implements IConstructableStorage { - private ACLManager $aclManager; - private bool $inShare; + private readonly ACLManager $aclManager; + private readonly bool $inShare; public function __construct($arguments) { parent::__construct($arguments); diff --git a/lib/ACL/Rule.php b/lib/ACL/Rule.php index d06f2212a..528151e5c 100644 --- a/lib/ACL/Rule.php +++ b/lib/ACL/Rule.php @@ -40,8 +40,8 @@ class Rule implements XmlSerializable, XmlDeserializable, \JsonSerializable { * and one that specifies the permissions to set for non inherited values (1-> allow, 0 -> deny) */ public function __construct( - private IUserMapping $userMapping, - private int $fileId, + private readonly IUserMapping $userMapping, + private readonly int $fileId, private int $mask, int $permissions, ) { @@ -86,9 +86,6 @@ public function applyPermissions(int $permissions): int { * Apply the deny permissions this rule to an existing permission set, returning the resulting permissions * * Only the deny permissions included in the current mask will overwrite the existing permissions - * - * @param int $permissions - * @return int */ public function applyDenyPermissions(int $permissions): int { $invertedMask = ~$this->mask; @@ -98,9 +95,6 @@ public function applyDenyPermissions(int $permissions): int { return $permissions & $denyMask; } - /** - * @return void - */ public function xmlSerialize(Writer $writer): void { $data = [ self::ACL => [ diff --git a/lib/ACL/RuleManager.php b/lib/ACL/RuleManager.php index 491464860..7997c544f 100644 --- a/lib/ACL/RuleManager.php +++ b/lib/ACL/RuleManager.php @@ -19,9 +19,9 @@ class RuleManager { public function __construct( - private IDBConnection $connection, - private IUserMappingManager $userMappingManager, - private IEventDispatcher $eventDispatcher, + private readonly IDBConnection $connection, + private readonly IUserMappingManager $userMappingManager, + private readonly IEventDispatcher $eventDispatcher, ) { } diff --git a/lib/ACL/UserMapping/UserMapping.php b/lib/ACL/UserMapping/UserMapping.php index 2a9b2e207..c0309c264 100644 --- a/lib/ACL/UserMapping/UserMapping.php +++ b/lib/ACL/UserMapping/UserMapping.php @@ -9,14 +9,14 @@ namespace OCA\GroupFolders\ACL\UserMapping; class UserMapping implements IUserMapping { - private string $displayName; + private readonly string $displayName; /** * @param 'user'|'group'|'dummy' $type */ public function __construct( - private string $type, - private string $id, + private readonly string $type, + private readonly string $id, ?string $displayName = null, ) { $this->displayName = $displayName ?? $id; diff --git a/lib/ACL/UserMapping/UserMappingManager.php b/lib/ACL/UserMapping/UserMappingManager.php index 33a607666..dac155c45 100644 --- a/lib/ACL/UserMapping/UserMappingManager.php +++ b/lib/ACL/UserMapping/UserMappingManager.php @@ -15,8 +15,8 @@ class UserMappingManager implements IUserMappingManager { public function __construct( - private IGroupManager $groupManager, - private IUserManager $userManager, + private readonly IGroupManager $groupManager, + private readonly IUserManager $userManager, ) { } diff --git a/lib/AppInfo/Capabilities.php b/lib/AppInfo/Capabilities.php index 32a2dbb14..6369e58cd 100644 --- a/lib/AppInfo/Capabilities.php +++ b/lib/AppInfo/Capabilities.php @@ -15,9 +15,9 @@ class Capabilities implements ICapability { public function __construct( - private IUserSession $userSession, - private FolderManager $folderManager, - private IAppManager $appManager, + private readonly IUserSession $userSession, + private readonly FolderManager $folderManager, + private readonly IAppManager $appManager, ) { } diff --git a/lib/AuthorizedAdminSettingMiddleware.php b/lib/AuthorizedAdminSettingMiddleware.php index 0d50af602..7a9a9bd05 100644 --- a/lib/AuthorizedAdminSettingMiddleware.php +++ b/lib/AuthorizedAdminSettingMiddleware.php @@ -21,8 +21,8 @@ class AuthorizedAdminSettingMiddleware extends Middleware { public function __construct( - private DelegationService $delegatedService, - private IRequest $request, + private readonly DelegationService $delegatedService, + private readonly IRequest $request, ) { } diff --git a/lib/BackgroundJob/ExpireGroupTrash.php b/lib/BackgroundJob/ExpireGroupTrash.php index f42b06e2b..8d7732fcc 100644 --- a/lib/BackgroundJob/ExpireGroupTrash.php +++ b/lib/BackgroundJob/ExpireGroupTrash.php @@ -16,9 +16,9 @@ class ExpireGroupTrash extends TimedJob { public function __construct( - private TrashBackend $trashBackend, - private Expiration $expiration, - private IAppConfig $config, + private readonly TrashBackend $trashBackend, + private readonly Expiration $expiration, + private readonly IAppConfig $config, ITimeFactory $timeFactory, ) { parent::__construct($timeFactory); diff --git a/lib/BackgroundJob/ExpireGroupVersions.php b/lib/BackgroundJob/ExpireGroupVersions.php index 96c7461f1..1ae23153a 100644 --- a/lib/BackgroundJob/ExpireGroupVersions.php +++ b/lib/BackgroundJob/ExpireGroupVersions.php @@ -19,10 +19,10 @@ class ExpireGroupVersions extends TimedJob { public function __construct( ITimeFactory $time, - private GroupVersionsExpireManager $expireManager, - private IAppConfig $appConfig, - private FolderManager $folderManager, - private LoggerInterface $logger, + private readonly GroupVersionsExpireManager $expireManager, + private readonly IAppConfig $appConfig, + private readonly FolderManager $folderManager, + private readonly LoggerInterface $logger, ) { parent::__construct($time); diff --git a/lib/CacheListener.php b/lib/CacheListener.php index c84af2e3c..fb3c9c264 100644 --- a/lib/CacheListener.php +++ b/lib/CacheListener.php @@ -16,7 +16,7 @@ class CacheListener { public function __construct( - private IEventDispatcher $eventDispatcher, + private readonly IEventDispatcher $eventDispatcher, ) { } diff --git a/lib/Command/ACL.php b/lib/Command/ACL.php index f2456fe81..ba3571a5b 100644 --- a/lib/Command/ACL.php +++ b/lib/Command/ACL.php @@ -27,10 +27,10 @@ class ACL extends FolderCommand { public function __construct( FolderManager $folderManager, IRootFolder $rootFolder, - private RuleManager $ruleManager, + private readonly RuleManager $ruleManager, MountProvider $mountProvider, - private ACLManagerFactory $aclManagerFactory, - private IUserManager $userManager, + private readonly ACLManagerFactory $aclManagerFactory, + private readonly IUserManager $userManager, ) { parent::__construct($folderManager, $rootFolder, $mountProvider); } @@ -117,7 +117,7 @@ protected function execute(InputInterface $input, OutputInterface $output): int $mappingType = $input->getOption('user') ? 'user' : 'group'; $mappingId = $input->getOption('user') ?: $input->getOption('group'); $path = $input->getArgument('path'); - $path = trim($path, '/'); + $path = trim((string)$path, '/'); $permissionStrings = $input->getArgument('permissions'); $mount = $this->mountProvider->getMount( @@ -152,7 +152,7 @@ protected function execute(InputInterface $input, OutputInterface $output): int return -3; } - $name = substr($permission, 1); + $name = substr((string)$permission, 1); if (!isset(Rule::PERMISSIONS_MAP[$name])) { $output->writeln('incorrect format for permissions2 "' . $permission . '"'); return -3; @@ -221,7 +221,7 @@ private function parsePermissions(array $permissions): array { $result = 0; foreach ($permissions as $permission) { - $permissionValue = Rule::PERMISSIONS_MAP[substr($permission, 1)]; + $permissionValue = Rule::PERMISSIONS_MAP[substr((string)$permission, 1)]; $mask |= $permissionValue; if ($permission[0] === '+') { $result |= $permissionValue; diff --git a/lib/Command/Create.php b/lib/Command/Create.php index 64fe6192c..d93a423f5 100644 --- a/lib/Command/Create.php +++ b/lib/Command/Create.php @@ -16,7 +16,7 @@ class Create extends Base { public function __construct( - private FolderManager $folderManager, + private readonly FolderManager $folderManager, ) { parent::__construct(); } diff --git a/lib/Command/ExpireGroup/ExpireGroupTrash.php b/lib/Command/ExpireGroup/ExpireGroupTrash.php index 99ab7809c..d2ce37dbe 100644 --- a/lib/Command/ExpireGroup/ExpireGroupTrash.php +++ b/lib/Command/ExpireGroup/ExpireGroupTrash.php @@ -15,8 +15,8 @@ class ExpireGroupTrash extends ExpireGroupBase { public function __construct( - private TrashBackend $trashBackend, - private Expiration $expiration, + private readonly TrashBackend $trashBackend, + private readonly Expiration $expiration, ) { parent::__construct(); } diff --git a/lib/Command/ExpireGroup/ExpireGroupVersions.php b/lib/Command/ExpireGroup/ExpireGroupVersions.php index f092d183c..63d53fcf8 100644 --- a/lib/Command/ExpireGroup/ExpireGroupVersions.php +++ b/lib/Command/ExpireGroup/ExpireGroupVersions.php @@ -21,8 +21,8 @@ */ class ExpireGroupVersions extends ExpireGroupBase { public function __construct( - private GroupVersionsExpireManager $expireManager, - private IEventDispatcher $eventDispatcher, + private readonly GroupVersionsExpireManager $expireManager, + private readonly IEventDispatcher $eventDispatcher, ) { parent::__construct(); } diff --git a/lib/Command/ExpireGroup/ExpireGroupVersionsTrash.php b/lib/Command/ExpireGroup/ExpireGroupVersionsTrash.php index 80f73459e..a7a243c1a 100644 --- a/lib/Command/ExpireGroup/ExpireGroupVersionsTrash.php +++ b/lib/Command/ExpireGroup/ExpireGroupVersionsTrash.php @@ -19,8 +19,8 @@ class ExpireGroupVersionsTrash extends ExpireGroupVersions { public function __construct( GroupVersionsExpireManager $expireManager, IEventDispatcher $eventDispatcher, - private TrashBackend $trashBackend, - private Expiration $expiration, + private readonly TrashBackend $trashBackend, + private readonly Expiration $expiration, ) { parent::__construct($expireManager, $eventDispatcher); } diff --git a/lib/Command/Group.php b/lib/Command/Group.php index 823502966..a4ce1705e 100644 --- a/lib/Command/Group.php +++ b/lib/Command/Group.php @@ -29,7 +29,7 @@ class Group extends FolderCommand { public function __construct( FolderManager $folderManager, IRootFolder $rootFolder, - private IGroupManager $groupManager, + private readonly IGroupManager $groupManager, MountProvider $mountProvider, ) { parent::__construct($folderManager, $rootFolder, $mountProvider); diff --git a/lib/Command/ListCommand.php b/lib/Command/ListCommand.php index 2b5eafcc8..202679e95 100644 --- a/lib/Command/ListCommand.php +++ b/lib/Command/ListCommand.php @@ -30,10 +30,10 @@ class ListCommand extends Base { public function __construct( - private FolderManager $folderManager, - private IRootFolder $rootFolder, - private IGroupManager $groupManager, - private IUserManager $userManager, + private readonly FolderManager $folderManager, + private readonly IRootFolder $rootFolder, + private readonly IGroupManager $groupManager, + private readonly IUserManager $userManager, ) { parent::__construct(); } diff --git a/lib/Command/Quota.php b/lib/Command/Quota.php index cf0cd0d43..227c191eb 100644 --- a/lib/Command/Quota.php +++ b/lib/Command/Quota.php @@ -29,7 +29,7 @@ protected function execute(InputInterface $input, OutputInterface $output): int return -1; } - $quotaString = strtolower($input->getArgument('quota')); + $quotaString = strtolower((string)$input->getArgument('quota')); $quota = ($quotaString === 'unlimited') ? FileInfo::SPACE_UNLIMITED : \OCP\Util::computerFileSize($quotaString); if ($quota) { $this->folderManager->setFolderQuota($folder['id'], (int)$quota); diff --git a/lib/Command/Scan.php b/lib/Command/Scan.php index b294afb91..a5ec31c5f 100644 --- a/lib/Command/Scan.php +++ b/lib/Command/Scan.php @@ -72,7 +72,7 @@ protected function execute(InputInterface $input, OutputInterface $output): int $inputPath = $input->getOption('path'); if ($inputPath) { - $inputPath = '/' . trim($inputPath, '/'); + $inputPath = '/' . trim((string)$inputPath, '/'); } else { $inputPath = ''; } diff --git a/lib/Command/Trashbin/Cleanup.php b/lib/Command/Trashbin/Cleanup.php index 9f595ea60..12391d3fe 100644 --- a/lib/Command/Trashbin/Cleanup.php +++ b/lib/Command/Trashbin/Cleanup.php @@ -24,7 +24,7 @@ class Cleanup extends Base { private ?TrashBackend $trashBackend = null; public function __construct( - private FolderManager $folderManager, + private readonly FolderManager $folderManager, ) { parent::__construct(); if (Server::get(IAppManager::class)->isEnabledForUser('files_trashbin')) { diff --git a/lib/Controller/FolderController.php b/lib/Controller/FolderController.php index 0293a2019..a4d5caa50 100644 --- a/lib/Controller/FolderController.php +++ b/lib/Controller/FolderController.php @@ -35,18 +35,18 @@ * @psalm-import-type InternalFolderOut from FolderManager */ class FolderController extends OCSController { - private ?IUser $user; + private readonly ?IUser $user; public function __construct( string $AppName, IRequest $request, - private FolderManager $manager, - private MountProvider $mountProvider, - private IRootFolder $rootFolder, + private readonly FolderManager $manager, + private readonly MountProvider $mountProvider, + private readonly IRootFolder $rootFolder, IUserSession $userSession, - private FoldersFilter $foldersFilter, - private DelegationService $delegationService, - private IGroupManager $groupManager, + private readonly FoldersFilter $foldersFilter, + private readonly DelegationService $delegationService, + private readonly IGroupManager $groupManager, ) { parent::__construct($AppName, $request); $this->user = $userSession->getUser(); diff --git a/lib/DAV/ACLPlugin.php b/lib/DAV/ACLPlugin.php index a27a68e16..9ad8dd4fd 100644 --- a/lib/DAV/ACLPlugin.php +++ b/lib/DAV/ACLPlugin.php @@ -37,10 +37,10 @@ class ACLPlugin extends ServerPlugin { private ?IUser $user = null; public function __construct( - private RuleManager $ruleManager, - private IUserSession $userSession, - private FolderManager $folderManager, - private IEventDispatcher $eventDispatcher, + private readonly RuleManager $ruleManager, + private readonly IUserSession $userSession, + private readonly FolderManager $folderManager, + private readonly IEventDispatcher $eventDispatcher, ) { } diff --git a/lib/DAV/GroupFolderNode.php b/lib/DAV/GroupFolderNode.php index 481531651..e63adc038 100644 --- a/lib/DAV/GroupFolderNode.php +++ b/lib/DAV/GroupFolderNode.php @@ -16,7 +16,7 @@ class GroupFolderNode extends Directory { public function __construct( View $view, FileInfo $info, - private int $folderId, + private readonly int $folderId, ) { parent::__construct($view, $info); } diff --git a/lib/DAV/GroupFoldersHome.php b/lib/DAV/GroupFoldersHome.php index ea5595280..54c3d221e 100644 --- a/lib/DAV/GroupFoldersHome.php +++ b/lib/DAV/GroupFoldersHome.php @@ -23,9 +23,9 @@ class GroupFoldersHome implements ICollection { public function __construct( private array $principalInfo, - private FolderManager $folderManager, - private IRootFolder $rootFolder, - private IUser $user, + private readonly FolderManager $folderManager, + private readonly IRootFolder $rootFolder, + private readonly IUser $user, ) { } diff --git a/lib/DAV/RootCollection.php b/lib/DAV/RootCollection.php index e1d162af7..1861870a0 100644 --- a/lib/DAV/RootCollection.php +++ b/lib/DAV/RootCollection.php @@ -16,10 +16,10 @@ class RootCollection extends AbstractPrincipalCollection { public function __construct( - private IUserSession $userSession, + private readonly IUserSession $userSession, PrincipalBackend\BackendInterface $principalBackend, - private FolderManager $folderManager, - private IRootFolder $rootFolder, + private readonly FolderManager $folderManager, + private readonly IRootFolder $rootFolder, ) { parent::__construct($principalBackend, 'principals/users'); } diff --git a/lib/Folder/FolderManager.php b/lib/Folder/FolderManager.php index 971aaaea3..0f1c04efc 100644 --- a/lib/Folder/FolderManager.php +++ b/lib/Folder/FolderManager.php @@ -66,12 +66,12 @@ class FolderManager { public const SPACE_DEFAULT = -4; public function __construct( - private IDBConnection $connection, - private IGroupManager $groupManager, - private IMimeTypeLoader $mimeTypeLoader, - private LoggerInterface $logger, - private IEventDispatcher $eventDispatcher, - private IConfig $config, + private readonly IDBConnection $connection, + private readonly IGroupManager $groupManager, + private readonly IMimeTypeLoader $mimeTypeLoader, + private readonly LoggerInterface $logger, + private readonly IEventDispatcher $eventDispatcher, + private readonly IConfig $config, ) { } diff --git a/lib/Listeners/CircleDestroyedEventListener.php b/lib/Listeners/CircleDestroyedEventListener.php index aeb3f00a7..f1ae1a660 100644 --- a/lib/Listeners/CircleDestroyedEventListener.php +++ b/lib/Listeners/CircleDestroyedEventListener.php @@ -19,7 +19,7 @@ */ class CircleDestroyedEventListener implements IEventListener { public function __construct( - private FolderManager $folderManager, + private readonly FolderManager $folderManager, ) { } diff --git a/lib/Listeners/NodeRenamedListener.php b/lib/Listeners/NodeRenamedListener.php index b3281519f..c692d1f20 100644 --- a/lib/Listeners/NodeRenamedListener.php +++ b/lib/Listeners/NodeRenamedListener.php @@ -21,7 +21,7 @@ */ class NodeRenamedListener implements IEventListener { public function __construct( - private TrashManager $trashManager, + private readonly TrashManager $trashManager, ) { } diff --git a/lib/Migration/Version103000Date20180806161724.php b/lib/Migration/Version103000Date20180806161724.php index d6fc5e7a6..25af58890 100644 --- a/lib/Migration/Version103000Date20180806161724.php +++ b/lib/Migration/Version103000Date20180806161724.php @@ -16,7 +16,7 @@ class Version103000Date20180806161724 extends SimpleMigrationStep { private array $applicableData = []; public function __construct( - private IDBConnection $connection, + private readonly IDBConnection $connection, ) { } diff --git a/lib/Migration/WrongDefaultQuotaRepairStep.php b/lib/Migration/WrongDefaultQuotaRepairStep.php index 3d3a367bb..60eb7487a 100644 --- a/lib/Migration/WrongDefaultQuotaRepairStep.php +++ b/lib/Migration/WrongDefaultQuotaRepairStep.php @@ -16,7 +16,7 @@ class WrongDefaultQuotaRepairStep implements IRepairStep { public function __construct( - private FolderManager $manager, + private readonly FolderManager $manager, ) { } diff --git a/lib/Mount/CacheRootPermissionsMask.php b/lib/Mount/CacheRootPermissionsMask.php index 9ea66dda4..d68f4b661 100644 --- a/lib/Mount/CacheRootPermissionsMask.php +++ b/lib/Mount/CacheRootPermissionsMask.php @@ -15,14 +15,14 @@ class CacheRootPermissionsMask extends CacheWrapper { public function __construct( ICache $cache, - private int $mask, + private readonly int $mask, ) { parent::__construct($cache); } protected function formatCacheEntry($entry): ICacheEntry|false { $path = $entry['path']; - $isRoot = $path === '' || (str_starts_with($path, '__groupfolders') && count(explode('/', $path)) === 2); + $isRoot = $path === '' || (str_starts_with((string)$path, '__groupfolders') && count(explode('/', (string)$path)) === 2); if (isset($entry['permissions']) && $isRoot) { $entry['scan_permissions'] = $entry['permissions']; $entry['permissions'] &= $this->mask; diff --git a/lib/Mount/GroupFolderStorage.php b/lib/Mount/GroupFolderStorage.php index c8ca119fb..58d95d7b1 100644 --- a/lib/Mount/GroupFolderStorage.php +++ b/lib/Mount/GroupFolderStorage.php @@ -19,10 +19,10 @@ use OCP\IUserSession; class GroupFolderStorage extends Quota implements IConstructableStorage { - private int $folderId; - private ?ICacheEntry $rootEntry; - private IUserSession $userSession; - private ?IUser $mountOwner; + private readonly int $folderId; + private readonly ?ICacheEntry $rootEntry; + private readonly IUserSession $userSession; + private readonly ?IUser $mountOwner; /** @var ICache|null */ public $cache; diff --git a/lib/Mount/GroupMountPoint.php b/lib/Mount/GroupMountPoint.php index 4facb1f11..1ace47faa 100644 --- a/lib/Mount/GroupMountPoint.php +++ b/lib/Mount/GroupMountPoint.php @@ -15,7 +15,7 @@ class GroupMountPoint extends MountPoint implements ISystemMountPoint, IShareOwnerlessMount { public function __construct( - private int $folderId, + private readonly int $folderId, IStorage $storage, string $mountpoint, ?array $arguments = null, diff --git a/lib/Mount/MountProvider.php b/lib/Mount/MountProvider.php index f5bc74acb..80e006af7 100644 --- a/lib/Mount/MountProvider.php +++ b/lib/Mount/MountProvider.php @@ -37,16 +37,16 @@ class MountProvider implements IMountProvider { private ?int $rootStorageId = null; public function __construct( - private FolderManager $folderManager, - private \Closure $rootProvider, - private ACLManagerFactory $aclManagerFactory, - private IUserSession $userSession, - private IRequest $request, - private IMountProviderCollection $mountProviderCollection, - private IDBConnection $connection, - private ICache $cache, - private bool $allowRootShare, - private bool $enableEncryption, + private readonly FolderManager $folderManager, + private readonly \Closure $rootProvider, + private readonly ACLManagerFactory $aclManagerFactory, + private readonly IUserSession $userSession, + private readonly IRequest $request, + private readonly IMountProviderCollection $mountProviderCollection, + private readonly IDBConnection $connection, + private readonly ICache $cache, + private readonly bool $allowRootShare, + private readonly bool $enableEncryption, ) { } diff --git a/lib/Mount/RootPermissionsMask.php b/lib/Mount/RootPermissionsMask.php index fd55de8c7..ab3eb2d71 100644 --- a/lib/Mount/RootPermissionsMask.php +++ b/lib/Mount/RootPermissionsMask.php @@ -20,7 +20,7 @@ class RootPermissionsMask extends Wrapper { /** * the permissions bits we want to keep */ - private int $mask; + private readonly int $mask; /** * @param array $arguments ['storage' => $storage, 'mask' => $mask] diff --git a/lib/Service/ApplicationService.php b/lib/Service/ApplicationService.php index 4e3492e04..d9973c272 100644 --- a/lib/Service/ApplicationService.php +++ b/lib/Service/ApplicationService.php @@ -12,7 +12,7 @@ class ApplicationService { public function __construct( - private IAppManager $appManager, + private readonly IAppManager $appManager, ) { } diff --git a/lib/Service/DelegationService.php b/lib/Service/DelegationService.php index 3d642aa62..0569850f9 100644 --- a/lib/Service/DelegationService.php +++ b/lib/Service/DelegationService.php @@ -26,9 +26,9 @@ class DelegationService { private const CLASS_API_ACCESS = DelegationController::class; public function __construct( - private AuthorizedGroupMapper $groupAuthorizationMapper, - private IGroupManager $groupManager, - private IUserSession $userSession, + private readonly AuthorizedGroupMapper $groupAuthorizationMapper, + private readonly IGroupManager $groupManager, + private readonly IUserSession $userSession, ) { } diff --git a/lib/Service/FoldersFilter.php b/lib/Service/FoldersFilter.php index 2f3af74d2..415bd2942 100644 --- a/lib/Service/FoldersFilter.php +++ b/lib/Service/FoldersFilter.php @@ -16,8 +16,8 @@ */ class FoldersFilter { public function __construct( - private IUserSession $userSession, - private IGroupManager $groupManager, + private readonly IUserSession $userSession, + private readonly IGroupManager $groupManager, ) { } diff --git a/lib/Settings/Admin.php b/lib/Settings/Admin.php index 9658cd96a..faee6b94c 100644 --- a/lib/Settings/Admin.php +++ b/lib/Settings/Admin.php @@ -16,10 +16,10 @@ class Admin implements IDelegatedSettings { public function __construct( - private IInitialState $initialState, - private ApplicationService $applicationService, - private DelegationService $delegationService, - private IAppManager $appManager, + private readonly IInitialState $initialState, + private readonly ApplicationService $applicationService, + private readonly DelegationService $delegationService, + private readonly IAppManager $appManager, ) { } diff --git a/lib/Settings/Section.php b/lib/Settings/Section.php index c87e0527f..7a0bf9fa0 100644 --- a/lib/Settings/Section.php +++ b/lib/Settings/Section.php @@ -13,8 +13,8 @@ class Section implements IIconSection { public function __construct( - private IL10N $l, - private IURLGenerator $url, + private readonly IL10N $l, + private readonly IURLGenerator $url, ) { } diff --git a/lib/Trash/GroupTrashItem.php b/lib/Trash/GroupTrashItem.php index c3f8f9911..a16e65497 100644 --- a/lib/Trash/GroupTrashItem.php +++ b/lib/Trash/GroupTrashItem.php @@ -14,12 +14,12 @@ class GroupTrashItem extends TrashItem { public function __construct( ITrashBackend $backend, - private string $internalOriginalLocation, + private readonly string $internalOriginalLocation, int $deletedTime, string $trashPath, FileInfo $fileInfo, IUser $user, - private string $mountPoint, + private readonly string $mountPoint, ?IUser $deletedBy, ) { parent::__construct($backend, $this->mountPoint . '/' . $this->internalOriginalLocation, $deletedTime, $trashPath, $fileInfo, $user, $deletedBy); diff --git a/lib/Trash/TrashBackend.php b/lib/Trash/TrashBackend.php index e964815f5..fc2efa65f 100644 --- a/lib/Trash/TrashBackend.php +++ b/lib/Trash/TrashBackend.php @@ -16,7 +16,6 @@ use OCA\GroupFolders\ACL\ACLManagerFactory; use OCA\GroupFolders\Folder\FolderManager; use OCA\GroupFolders\Mount\GroupFolderStorage; -use OCA\GroupFolders\Mount\MountProvider; use OCA\GroupFolders\Versions\VersionsBackend; use OCP\Constants; use OCP\Files\Folder; @@ -37,15 +36,14 @@ class TrashBackend implements ITrashBackend { private ?VersionsBackend $versionsBackend = null; public function __construct( - private FolderManager $folderManager, - private TrashManager $trashManager, - private Folder $appFolder, - private MountProvider $mountProvider, - private ACLManagerFactory $aclManagerFactory, - private IRootFolder $rootFolder, - private LoggerInterface $logger, - private IUserManager $userManager, - private IUserSession $userSession, + private readonly FolderManager $folderManager, + private readonly TrashManager $trashManager, + private readonly Folder $appFolder, + private readonly ACLManagerFactory $aclManagerFactory, + private readonly IRootFolder $rootFolder, + private readonly LoggerInterface $logger, + private readonly IUserManager $userManager, + private readonly IUserSession $userSession, ) { } @@ -166,7 +164,7 @@ public function restoreItem(ITrashItem $item): void { try { $targetStorage->moveFromStorage($trashStorage, $trashLocation, $targetLocation); $targetStorage->getUpdater()->renameFromStorage($trashStorage, $trashLocation, $targetLocation); - } catch (DecryptionFailedException $e) { + } catch (DecryptionFailedException) { // Before https://github.com/nextcloud/groupfolders/pull/3425 the key would be in the wrong place, leading to the decryption failure. // for those we fall back to the old restore behavior [$unwrappedTargetStorage, $unwrappedTargetLocation] = $this->unwrapJails($targetStorage, $targetLocation); @@ -442,7 +440,7 @@ private function getTrashForFolders(IUser $user, array $folders): array { // if a parent of the original location has also been deleted, we also need to check it based on the now-deleted parent path foreach ($this->getParentOriginalPaths($originalLocation, $trashItemsByOriginalLocation) as $parentOriginalPath) { $parentTrashItem = $trashItemsByOriginalLocation[$parentOriginalPath]; - $relativePath = substr($originalLocation, strlen($parentOriginalPath)); + $relativePath = substr((string)$originalLocation, strlen((string)$parentOriginalPath)); $parentTrashItemPath = "__groupfolders/trash/{$parentTrashItem['folder_id']}/{$parentTrashItem['name']}.d{$parentTrashItem['deleted_time']}"; if (!$this->userHasAccessToPath($user, $parentTrashItemPath . $relativePath)) { continue 2; @@ -495,7 +493,7 @@ public function getTrashNodeById(IUser $user, int $fileId): ?Node { $absolutePath = $this->appFolder->getMountPoint()->getMountPoint() . $path; $relativePath = $trashFolder->getRelativePath($absolutePath); - [, $folderId, $nameAndTime] = explode('/', $relativePath); + [, $folderId, $nameAndTime] = explode('/', (string)$relativePath); if ($this->userHasAccessToFolder($user, (int)$folderId) && $this->userHasAccessToPath($user, $absolutePath)) { return $trashFolder->get($relativePath); diff --git a/lib/Trash/TrashManager.php b/lib/Trash/TrashManager.php index a88f4e225..309e98c0e 100644 --- a/lib/Trash/TrashManager.php +++ b/lib/Trash/TrashManager.php @@ -11,7 +11,7 @@ class TrashManager { public function __construct( - private IDBConnection $connection, + private readonly IDBConnection $connection, ) { } diff --git a/lib/Versions/ExpireManager.php b/lib/Versions/ExpireManager.php index 9f82e42d3..29c8202bb 100644 --- a/lib/Versions/ExpireManager.php +++ b/lib/Versions/ExpireManager.php @@ -32,7 +32,7 @@ class ExpireManager { ]; public function __construct( - private Expiration $expiration, + private readonly Expiration $expiration, ) { } diff --git a/lib/Versions/GroupVersion.php b/lib/Versions/GroupVersion.php index 10f66851a..953a496f4 100644 --- a/lib/Versions/GroupVersion.php +++ b/lib/Versions/GroupVersion.php @@ -26,8 +26,8 @@ public function __construct( IVersionBackend $backend, IUser $user, array $metadata, - private File $versionFile, - private int $folderId, + private readonly File $versionFile, + private readonly int $folderId, ) { parent::__construct($timestamp, $revisionId, $name, $size, $mimetype, $path, $sourceFileInfo, $backend, $user, $metadata); } diff --git a/lib/Versions/GroupVersionsExpireManager.php b/lib/Versions/GroupVersionsExpireManager.php index 12dbf5ecb..8e9878eab 100644 --- a/lib/Versions/GroupVersionsExpireManager.php +++ b/lib/Versions/GroupVersionsExpireManager.php @@ -24,11 +24,11 @@ */ class GroupVersionsExpireManager { public function __construct( - private FolderManager $folderManager, - private ExpireManager $expireManager, - private VersionsBackend $versionsBackend, - private ITimeFactory $timeFactory, - private IEventDispatcher $dispatcher, + private readonly FolderManager $folderManager, + private readonly ExpireManager $expireManager, + private readonly VersionsBackend $versionsBackend, + private readonly ITimeFactory $timeFactory, + private readonly IEventDispatcher $dispatcher, ) { } diff --git a/lib/Versions/VersionsBackend.php b/lib/Versions/VersionsBackend.php index 057990678..0000e9401 100644 --- a/lib/Versions/VersionsBackend.php +++ b/lib/Versions/VersionsBackend.php @@ -38,13 +38,13 @@ */ class VersionsBackend implements IVersionBackend, IMetadataVersionBackend, IDeletableVersionBackend, INeedSyncVersionBackend, IVersionsImporterBackend { public function __construct( - private IRootFolder $rootFolder, - private Folder $appFolder, - private MountProvider $mountProvider, - private LoggerInterface $logger, - private GroupVersionsMapper $groupVersionsMapper, - private IMimeTypeLoader $mimeTypeLoader, - private IUserSession $userSession, + private readonly IRootFolder $rootFolder, + private readonly Folder $appFolder, + private readonly MountProvider $mountProvider, + private readonly LoggerInterface $logger, + private readonly GroupVersionsMapper $groupVersionsMapper, + private readonly IMimeTypeLoader $mimeTypeLoader, + private readonly IUserSession $userSession, ) { } diff --git a/tests/ACL/ACLManagerTest.php b/tests/ACL/ACLManagerTest.php index 136d4865b..64d032548 100644 --- a/tests/ACL/ACLManagerTest.php +++ b/tests/ACL/ACLManagerTest.php @@ -51,11 +51,7 @@ protected function setUp(): void { }); $this->ruleManager->method('getRulesForPrefix') - ->willReturnCallback(function (IUser $user, int $storageId, string $prefix) { - return array_filter($this->rules, function (string $path) use ($prefix) { - return $prefix === $path || str_starts_with($path, $prefix . '/'); - }, ARRAY_FILTER_USE_KEY); - }); + ->willReturnCallback(fn (IUser $user, int $storageId, string $prefix): array => array_filter($this->rules, fn (string $path): bool => $prefix === $path || str_starts_with($path, $prefix . '/'), ARRAY_FILTER_USE_KEY)); } private function createMapping(string $id): IUserMapping&MockObject { diff --git a/tests/Folder/FolderManagerTest.php b/tests/Folder/FolderManagerTest.php index 8698b33d7..973e470cf 100644 --- a/tests/Folder/FolderManagerTest.php +++ b/tests/Folder/FolderManagerTest.php @@ -61,7 +61,7 @@ private function clean(): void { private function assertHasFolders(array $folders): void { $existingFolders = array_values($this->manager->getAllFolders()); usort($existingFolders, fn (array $a, array $b): int => strcmp($a['mount_point'], $b['mount_point'])); - usort($folders, fn (array $a, array $b): int => strcmp($a['mount_point'], $b['mount_point'])); + usort($folders, fn (array $a, array $b): int => strcmp((string)$a['mount_point'], (string)$b['mount_point'])); foreach ($folders as &$folder) { if (!isset($folder['size'])) {