storage->getUnjailedPath($path); $data['permissions'] = $this->storage->getSourceStorage()->getPermissions($internalPath); return $data; } private function getSourceScanner() { if ($this->sourceScanner) { return $this->sourceScanner; } if ($this->storage->instanceOfStorage('\OCA\Files_Sharing\SharedStorage')) { /** @var \OC\Files\Storage\Storage $storage */ [$storage] = $this->storage->resolvePath(''); $this->sourceScanner = $storage->getScanner(); return $this->sourceScanner; } else { return null; } } public function scanFile($file, $reuseExisting = 0, $parentId = -1, $cacheData = null, $lock = true, $data = null) { $sourceScanner = $this->getSourceScanner(); if ($sourceScanner instanceof ObjectStoreScanner) { // ObjectStoreScanner doesn't scan return []; } else { return parent::scanFile($file, $reuseExisting, $parentId, $cacheData, $lock); } } }