Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/server.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/lib/files
diff options
context:
space:
mode:
authorMichael Gapczynski <mtgap@owncloud.com>2013-05-30 02:08:18 +0400
committerPhilipp Dreimann <philipp@dreimann.net>2013-07-06 23:34:38 +0400
commit3244d23bcfc997e8136424a7747b830eff3e47a2 (patch)
tree7716b04846206016f9e3420348f827e189b1f5fe /lib/files
parent918b1b77a2f09798070e9a2513a65b70f65d6f25 (diff)
Only retrieve the current user's permissions
Diffstat (limited to 'lib/files')
-rw-r--r--lib/files/cache/permissions.php9
-rw-r--r--lib/files/view.php2
2 files changed, 6 insertions, 5 deletions
diff --git a/lib/files/cache/permissions.php b/lib/files/cache/permissions.php
index 03f9292a932..58a07aad0bf 100644
--- a/lib/files/cache/permissions.php
+++ b/lib/files/cache/permissions.php
@@ -89,14 +89,15 @@ class Permissions {
* get the permissions for all files in a folder
*
* @param int $parentId
+ * @param string $user
* @return int[]
*/
- public function getDirectoryPermissions($parentId) {
+ public function getDirectoryPermissions($parentId, $user) {
$query = \OC_DB::prepare('SELECT `*PREFIX*permissions`.`fileid`, `permissions`
- FROM `*PREFIX*permissions` INNER JOIN `*PREFIX*filecache` ON `*PREFIX*permissions`.fileid = `*PREFIX*filecache`.fileid
- WHERE `*PREFIX*filecache`.parent = ?');
+ FROM `*PREFIX*permissions` INNER JOIN `*PREFIX*filecache` ON `*PREFIX*permissions`.`fileid` = `*PREFIX*filecache`.`fileid`
+ WHERE `*PREFIX*filecache`.`parent` = ? AND `*PREFIX*permissions`.`user` = ?');
- $result = $query->execute(array($parentId));
+ $result = $query->execute(array($parentId, $user));
$filePermissions = array();
while ($row = $result->fetchRow()) {
$filePermissions[$row['fileid']] = $row['permissions'];
diff --git a/lib/files/view.php b/lib/files/view.php
index 0cd404a5282..1753d9a89ba 100644
--- a/lib/files/view.php
+++ b/lib/files/view.php
@@ -812,7 +812,7 @@ class View {
}
$files = $cache->getFolderContents($internalPath); //TODO: mimetype_filter
- $permissions = $permissionsCache->getDirectoryPermissions($cache->getId($internalPath));
+ $permissions = $permissionsCache->getDirectoryPermissions($cache->getId($internalPath), $user);
$ids = array();
foreach ($files as $i => $file) {