use OCP\ICacheFactory;
use OCP\IUser;
use OCP\IUserManager;
+use OCP\Server;
use Psr\Log\LoggerInterface;
/**
$pathRelativeToMount = substr($internalPath, strlen($rootInternalPath));
$pathRelativeToMount = ltrim($pathRelativeToMount, '/');
$absolutePath = rtrim($mount->getMountPoint() . $pathRelativeToMount, '/');
+ $storage = $mount->getStorage();
+ if ($storage === null) {
+ return null;
+ }
+ $ownerId = $storage->getOwner($pathRelativeToMount);
+ if ($ownerId !== false) {
+ $owner = Server::get(IUserManager::class)->get($ownerId);
+ } else {
+ $owner = null;
+ }
return $this->createNode($absolutePath, new FileInfo(
- $absolutePath, $mount->getStorage(), $cacheEntry->getPath(), $cacheEntry, $mount,
- \OC::$server->getUserManager()->get($mount->getStorage()->getOwner($pathRelativeToMount))
+ $absolutePath,
+ $storage,
+ $cacheEntry->getPath(),
+ $cacheEntry,
+ $mount,
+ $owner,
));
}, $mountsContainingFile);
use OCP\Files\NotFoundException;
use OCP\Files\ReservedWordException;
use OCP\IUser;
+use OCP\IUserManager;
use OCP\Lock\ILockingProvider;
use OCP\Lock\LockedException;
use OCP\Server;
$ownerId = $storage->getOwner($internalPath);
$owner = null;
- if ($ownerId !== null && $ownerId !== false) {
+ if ($ownerId !== false) {
// ownerId might be null if files are accessed with an access token without file system access
$owner = $this->getUserObjectForOwner($ownerId);
}
if ($sharingDisabled) {
$content['permissions'] = $content['permissions'] & ~\OCP\Constants::PERMISSION_SHARE;
}
- $owner = $this->getUserObjectForOwner($storage->getOwner($content['path']));
+ $ownerId = $storage->getOwner($content['path']);
+ if ($ownerId !== false) {
+ $owner = $this->getUserObjectForOwner($ownerId);
+ } else {
+ $owner = null;
+ }
return new FileInfo($path . '/' . $content['name'], $storage, $content['path'], $content, $mount, $owner);
}, $contents);
$files = array_combine($fileNames, $fileInfos);
$rootEntry['permissions'] = $rootEntry['permissions'] & ~\OCP\Constants::PERMISSION_SHARE;
}
- $owner = $this->getUserObjectForOwner($subStorage->getOwner(''));
+ $ownerId = $subStorage->getOwner('');
+ if ($ownerId !== false) {
+ $owner = $this->getUserObjectForOwner($ownerId);
+ } else {
+ $owner = null;
+ }
$files[$rootEntry->getName()] = new FileInfo($path . '/' . $rootEntry['name'], $subStorage, '', $rootEntry, $mount, $owner);
}
}
$internalPath = $result['path'];
$path = $mountPoint . $result['path'];
$result['path'] = substr($mountPoint . $result['path'], $rootLength);
- $owner = $userManager->get($storage->getOwner($internalPath));
+ $ownerId = $storage->getOwner($internalPath);
+ if ($ownerId !== false) {
+ $owner = $userManager->get($ownerId);
+ } else {
+ $owner = null;
+ }
$files[] = new FileInfo($path, $storage, $internalPath, $result, $mount, $owner);
}
}
$internalPath = $result['path'];
$result['path'] = rtrim($relativeMountPoint . $result['path'], '/');
$path = rtrim($mountPoint . $internalPath, '/');
- $owner = $userManager->get($storage->getOwner($internalPath));
+ $ownerId = $storage->getOwner($internalPath);
+ if ($ownerId !== false) {
+ $owner = $userManager->get($ownerId);
+ } else {
+ $owner = null;
+ }
$files[] = new FileInfo($path, $storage, $internalPath, $result, $mount, $owner);
}
}
$mount = $this->getMount($path);
$storage = $mount->getStorage();
$internalPath = $mount->getInternalPath($this->getAbsolutePath($path));
- $owner = \OC::$server->getUserManager()->get($storage->getOwner($internalPath));
+ $ownerId = $storage->getOwner($internalPath);
+ if ($ownerId !== false) {
+ $owner = Server::get(IUserManager::class)->get($ownerId);
+ } else {
+ $owner = null;
+ }
return new FileInfo(
$this->getAbsolutePath($path),
$storage,
// Short cut for read-only validation
if ($readonly) {
- $validator = \OCP\Server::get(FilenameValidator::class);
+ $validator = Server::get(FilenameValidator::class);
if ($validator->isForbidden($fileName)) {
$l = \OCP\Util::getL10N('lib');
throw new InvalidPathException($l->t('Filename is a reserved word'));