diff options
author | Joas Schilling <coding@schilljs.com> | 2020-03-16 18:08:07 +0300 |
---|---|---|
committer | Joas Schilling <coding@schilljs.com> | 2020-03-16 18:08:07 +0300 |
commit | 73827c97e43336468e217d3ba43549818bac44c2 (patch) | |
tree | e1b1ba76a65fda1470642355f5dfe9347d5799b2 | |
parent | e3b0817ec9472132c8ed4c4b3dc418a6b63b9931 (diff) |
Try to return the owner of the mountpoint before returning no owner
Signed-off-by: Joas Schilling <coding@schilljs.com>
-rw-r--r-- | lib/Mount/GroupFolderStorage.php | 9 | ||||
-rw-r--r-- | lib/Mount/MountProvider.php | 3 |
2 files changed, 10 insertions, 2 deletions
diff --git a/lib/Mount/GroupFolderStorage.php b/lib/Mount/GroupFolderStorage.php index 9c885101..803146bb 100644 --- a/lib/Mount/GroupFolderStorage.php +++ b/lib/Mount/GroupFolderStorage.php @@ -24,6 +24,7 @@ namespace OCA\GroupFolders\Mount; use OC\Files\Storage\Wrapper\Quota; use OCP\Files\Cache\ICacheEntry; +use OCP\IUser; use OCP\IUserSession; class GroupFolderStorage extends Quota { @@ -35,6 +36,8 @@ class GroupFolderStorage extends Quota { /** @var IUserSession */ private $userSession; + /** @var IUser */ + private $mountOwner; public $cache; @@ -43,6 +46,7 @@ class GroupFolderStorage extends Quota { $this->folderId = $parameters['folder_id']; $this->rootEntry = $parameters['rootCacheEntry']; $this->userSession = $parameters['userSession']; + $this->mountOwner = $parameters['mountOwner']; } public function getFolderId() { @@ -51,7 +55,10 @@ class GroupFolderStorage extends Quota { public function getOwner($path) { $user = $this->userSession->getUser(); - return $user !== null ? $user->getUID() : false; + if ($user !== null) { + return $user->getUID(); + } + return $this->mountOwner !== null ? $this->mountOwner->getUID() : false; } public function instanceOfStorage($class) { diff --git a/lib/Mount/MountProvider.php b/lib/Mount/MountProvider.php index cb5adc20..065a4369 100644 --- a/lib/Mount/MountProvider.php +++ b/lib/Mount/MountProvider.php @@ -150,7 +150,8 @@ class MountProvider implements IMountProvider { 'quota' => $quota, 'folder_id' => $id, 'rootCacheEntry' => $cacheEntry, - 'userSession' => $this->userSession + 'userSession' => $this->userSession, + 'mountOwner' => $user, ]); $maskedStore = new PermissionsMask([ 'storage' => $quotaStorage, |