diff options
author | Vincent Petry <pvince81@owncloud.com> | 2015-12-08 11:32:18 +0100 |
---|---|---|
committer | Vincent Petry <pvince81@owncloud.com> | 2015-12-08 13:04:22 +0100 |
commit | e241d2631672836d7a512cd890b14d7523fbc756 (patch) | |
tree | 16c5a97538a6f430d6963c56f0f9546a640b90dd /lib/private/files/fileinfo.php | |
parent | bec34f12757517a784f6e35fc6b7294ab1673c59 (diff) | |
download | nextcloud-server-e241d2631672836d7a512cd890b14d7523fbc756.tar.gz nextcloud-server-e241d2631672836d7a512cd890b14d7523fbc756.zip |
Compute share permissions in the view
The share permissions are now computed in the View/FileInfo instead of
storing them directly/permanently on the storage
Diffstat (limited to 'lib/private/files/fileinfo.php')
-rw-r--r-- | lib/private/files/fileinfo.php | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/lib/private/files/fileinfo.php b/lib/private/files/fileinfo.php index 5b5e8697004..0525c259604 100644 --- a/lib/private/files/fileinfo.php +++ b/lib/private/files/fileinfo.php @@ -100,6 +100,8 @@ class FileInfo implements \OCP\Files\FileInfo, \ArrayAccess { return $this->getType(); } else if ($offset === 'etag') { return $this->getEtag(); + } elseif ($offset === 'permissions') { + return $this->getPermissions(); } elseif (isset($this->data[$offset])) { return $this->data[$offset]; } else { @@ -193,7 +195,11 @@ class FileInfo implements \OCP\Files\FileInfo, \ArrayAccess { * @return int */ public function getPermissions() { - return $this->data['permissions']; + $perms = $this->data['permissions']; + if (\OCP\Util::isSharingDisabledForUser()) { + $perms = $perms & ~\OCP\Constants::PERMISSION_SHARE; + } + return $perms; } /** |