diff options
author | Git'Fellow <12234510+solracsf@users.noreply.github.com> | 2025-02-12 11:30:14 +0100 |
---|---|---|
committer | Git'Fellow <12234510+solracsf@users.noreply.github.com> | 2025-02-14 17:54:02 +0100 |
commit | 59a0bc99824402fc126e58dfcc8da68fc6e41349 (patch) | |
tree | 3f9d33c35fdfc4502ee4e88a27da75a30e1635f0 | |
parent | 7bf1126b1fa3687b9cfc7c400e71f7bb22fe608f (diff) | |
download | nextcloud-server-backport/50769/stable30.tar.gz nextcloud-server-backport/50769/stable30.zip |
fix(SharedStorage): Check if storage ID is set on cachebackport/50769/stable30
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
-rw-r--r-- | apps/files_sharing/lib/SharedStorage.php | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/apps/files_sharing/lib/SharedStorage.php b/apps/files_sharing/lib/SharedStorage.php index 2ac157f7970..a70632d6faa 100644 --- a/apps/files_sharing/lib/SharedStorage.php +++ b/apps/files_sharing/lib/SharedStorage.php @@ -29,6 +29,7 @@ use OCP\Files\Storage\IDisableEncryptionStorage; use OCP\Files\Storage\ISharedStorage; use OCP\Files\Storage\IStorage; use OCP\Lock\ILockingProvider; +use OCP\Server; use OCP\Share\IShare; use Psr\Log\LoggerInterface; @@ -82,7 +83,7 @@ class SharedStorage extends \OC\Files\Storage\Wrapper\Jail implements LegacyISha public function __construct($arguments) { $this->ownerView = $arguments['ownerView']; - $this->logger = \OC::$server->get(LoggerInterface::class); + $this->logger = Server::get(LoggerInterface::class); $this->superShare = $arguments['superShare']; $this->groupedShares = $arguments['groupedShares']; @@ -142,7 +143,7 @@ class SharedStorage extends \OC\Files\Storage\Wrapper\Jail implements LegacyISha } /** @var IRootFolder $rootFolder */ - $rootFolder = \OC::$server->get(IRootFolder::class); + $rootFolder = Server::get(IRootFolder::class); $this->ownerUserFolder = $rootFolder->getUserFolder($this->superShare->getShareOwner()); $sourceId = $this->superShare->getNodeId(); $ownerNodes = $this->ownerUserFolder->getById($sourceId); @@ -431,7 +432,7 @@ class SharedStorage extends \OC\Files\Storage\Wrapper\Jail implements LegacyISha $this->cache = new \OCA\Files_Sharing\Cache( $storage, $sourceRoot, - \OC::$server->get(CacheDependencies::class), + Server::get(CacheDependencies::class), $this->getShare() ); return $this->cache; @@ -456,16 +457,15 @@ class SharedStorage extends \OC\Files\Storage\Wrapper\Jail implements LegacyISha // Get node information $node = $this->getShare()->getNodeCacheEntry(); if ($node instanceof CacheEntry) { - $storageId = $node->getData()['storage_string_id']; + $storageId = $node->getData()['storage_string_id'] ?? null; // for shares from the home storage we can rely on the home storage to keep itself up to date // for other storages we need use the proper watcher - if (!(str_starts_with($storageId, 'home::') || str_starts_with($storageId, 'object::user'))) { + if ($storageId !== null && !(str_starts_with($storageId, 'home::') || str_starts_with($storageId, 'object::user'))) { $cache = $this->getCache(); $this->watcher = parent::getWatcher($path, $storage); if ($cache instanceof Cache && $this->watcher instanceof Watcher) { $this->watcher->onUpdate([$cache, 'markRootChanged']); } - return $this->watcher; } } |