summaryrefslogtreecommitdiffstats
path: root/lib/private/files/fileinfo.php
diff options
context:
space:
mode:
authorVincent Petry <pvince81@owncloud.com>2015-12-08 11:32:18 +0100
committerVincent Petry <pvince81@owncloud.com>2015-12-08 13:04:22 +0100
commite241d2631672836d7a512cd890b14d7523fbc756 (patch)
tree16c5a97538a6f430d6963c56f0f9546a640b90dd /lib/private/files/fileinfo.php
parentbec34f12757517a784f6e35fc6b7294ab1673c59 (diff)
downloadnextcloud-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.php8
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;
}
/**