From 84d36df70b7bfb5e7cf79c7a089675d79943084d Mon Sep 17 00:00:00 2001
From: Bjoern Schiessle <schiessle@owncloud.com>
Date: Tue, 24 Jun 2014 13:39:37 +0200
Subject: [PATCH] make sure that we always return the correct permissions

---
 apps/files_sharing/lib/cache.php | 6 +++---
 lib/private/files/view.php       | 4 ++--
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/apps/files_sharing/lib/cache.php b/apps/files_sharing/lib/cache.php
index 7a6b70d82b..6bc9e13194 100644
--- a/apps/files_sharing/lib/cache.php
+++ b/apps/files_sharing/lib/cache.php
@@ -95,9 +95,9 @@ class Shared_Cache extends Cache {
 				}
 				$data['uid_owner'] = $this->storage->getOwner($file);
 				if (isset($data['permissions'])) {
-					$data['permissions'] &= $this->storage->getPermissions('');
+					$data['permissions'] &= $this->storage->getPermissions($file);
 				} else {
-					$data['permissions'] = $this->storage->getPermissions('');
+					$data['permissions'] = $this->storage->getPermissions($file);
 				}
 				return $data;
 			}
@@ -163,7 +163,7 @@ class Shared_Cache extends Cache {
 				$sourceFolderContent[$key]['path'] = $dir . $c['name'];
 				$sourceFolderContent[$key]['uid_owner'] = $parent['uid_owner'];
 				$sourceFolderContent[$key]['displayname_owner'] = $parent['uid_owner'];
-				$sourceFolderContent[$key]['permissions'] = $sourceFolderContent[$key]['permissions'] & $this->storage->getPermissions('');
+				$sourceFolderContent[$key]['permissions'] = $sourceFolderContent[$key]['permissions'] & $this->storage->getPermissions($dir . $c['name']);
 			}
 
 			return $sourceFolderContent;
diff --git a/lib/private/files/view.php b/lib/private/files/view.php
index 91d7ea260d..48e7cb85be 100644
--- a/lib/private/files/view.php
+++ b/lib/private/files/view.php
@@ -884,8 +884,8 @@ class View {
 							if ($extOnly && $subStorage instanceof \OC\Files\Storage\Shared) {
 								continue;
 							}
-							$subCache = $subStorage->getCache('');
-							$rootEntry = $subCache->get('');
+							$subCache = $subStorage->getCache($internalPath);
+							$rootEntry = $subCache->get($internalPath);
 							$data['size'] += isset($rootEntry['size']) ? $rootEntry['size'] : 0;
 						}
 					}
-- 
GitLab