diff options
Diffstat (limited to 'lib/files/cache/permissions.php')
-rw-r--r-- | lib/files/cache/permissions.php | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/lib/files/cache/permissions.php b/lib/files/cache/permissions.php index faa5ff5eacc..73473142c74 100644 --- a/lib/files/cache/permissions.php +++ b/lib/files/cache/permissions.php @@ -86,6 +86,25 @@ class Permissions { } /** + * get the permissions for all files in a folder + * + * @param int $parentId + * @return int[] + */ + public function getDirectoryPermissions($parentId) { + $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 = ?'); + + $result = $query->execute(array($parentId)); + $filePermissions = array(); + while ($row = $result->fetchRow()) { + $filePermissions[$row['fileid']] = $row['permissions']; + } + return $filePermissions; + } + + /** * remove the permissions for a file * * @param int $fileId |