diff --git a/apps/files_sharing/lib/MountProvider.php b/apps/files_sharing/lib/MountProvider.php index 8047a0934a709..83f2846e1c9b4 100644 --- a/apps/files_sharing/lib/MountProvider.php +++ b/apps/files_sharing/lib/MountProvider.php @@ -9,6 +9,7 @@ use Exception; use InvalidArgumentException; +use OC\Files\Cache\CacheDependencies; use OC\Files\View; use OCA\Files_Sharing\Event\ShareMountedEvent; use OCP\EventDispatcher\IEventDispatcher; @@ -18,9 +19,11 @@ use OCP\Files\Mount\IMountManager; use OCP\Files\Mount\IMountPoint; use OCP\Files\Storage\IStorageFactory; +use OCP\IAppConfig; use OCP\ICacheFactory; use OCP\IConfig; use OCP\IUser; +use OCP\Server; use OCP\Share\IAttributes; use OCP\Share\IManager; use OCP\Share\IShare; @@ -257,6 +260,8 @@ public function getMountsFromSuperShares( $validShareCache = $this->cacheFactory->createLocal('share-valid-mountpoint-max'); $maxValidatedShare = $validShareCache->get($userId) ?? 0; $newMaxValidatedShare = $maxValidatedShare; + $appConfig = Server::get(IAppConfig::class); + $cacheDependencies = Server::get(CacheDependencies::class); foreach ($superShares as $share) { [$parentShare, $groupedShares] = $share; @@ -283,7 +288,11 @@ public function getMountsFromSuperShares( // children/component of the superShare 'groupedShares' => $groupedShares, 'ownerView' => $ownerViews[$owner], - 'sharingDisabledForUser' => $sharingDisabledForUser + 'sharingDisabledForUser' => $sharingDisabledForUser, + 'logger' => $this->logger, + 'shareManager' => $this->shareManager, + 'appConfig' => $appConfig, + 'cacheDependencies' => $cacheDependencies, ], $loader, $this->eventDispatcher, diff --git a/apps/files_sharing/lib/SharedStorage.php b/apps/files_sharing/lib/SharedStorage.php index c1e8faeae338b..0cd382d8aad68 100644 --- a/apps/files_sharing/lib/SharedStorage.php +++ b/apps/files_sharing/lib/SharedStorage.php @@ -89,12 +89,14 @@ class SharedStorage extends Jail implements LegacyISharedStorage, ISharedStorage private IShareManager $shareManager; private static int $initDepth = 0; + private CacheDependencies $cacheDependencies; public function __construct(array $parameters) { $this->ownerView = $parameters['ownerView']; - $this->logger = Server::get(LoggerInterface::class); - $this->appConfig = Server::get(IAppConfig::class); - $this->shareManager = Server::get(IShareManager::class); + $this->logger = $parameters['logger'] ?? Server::get(LoggerInterface::class); + $this->appConfig = $parameters['appConfig'] ?? Server::get(IAppConfig::class); + $this->shareManager = $parameters['shareManager'] ?? Server::get(IShareManager::class); + $this->cacheDependencies = $parameters['cacheDependencies'] ?? Server::get(CacheDependencies::class); $this->superShare = $parameters['superShare']; $this->groupedShares = $parameters['groupedShares']; @@ -430,7 +432,7 @@ public function getCache(string $path = '', ?IStorage $storage = null): ICache { $this->cache = new Cache( $storage, $sourceRoot, - Server::get(CacheDependencies::class), + $this->cacheDependencies, $this->getShare() ); return $this->cache; @@ -483,7 +485,7 @@ public function getWatcher(string $path = '', ?IStorage $storage = null): IWatch */ public function unshareStorage(): bool { foreach ($this->groupedShares as $share) { - Server::get(IShareManager::class)->deleteFromSelf($share, $this->user); + $this->shareManager->deleteFromSelf($share, $this->user); } return true; }