From fe58e4b1a6a0f3b63afe74690986493facdad2c4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Schie=C3=9Fle?= Date: Thu, 18 Apr 2013 17:46:04 +0200 Subject: [PATCH] we need to add the owner of the file as parameter in case someone else like the owner edits the file; if $includeOwner is set than add owner also if no other recipient was found. This changes enable all user with write access to the file to edit it and to encrypt it to the right list of users again --- lib/public/share.php | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/lib/public/share.php b/lib/public/share.php index 876de89257..acdf895c92 100644 --- a/lib/public/share.php +++ b/lib/public/share.php @@ -127,21 +127,21 @@ class Share { /** * @brief Find which users can access a shared item * @param $path to the file + * @param $user owner of the file * @param include owner to the list of users with access to the file * @return array * @note $path needs to be relative to user data dir, e.g. 'file.txt' * not '/admin/data/file.txt' */ - public static function getUsersSharingFile( $path, $includeOwner = false, $removeDuplicates = true ) { + public static function getUsersSharingFile( $path, $user, $includeOwner = false, $removeDuplicates = true ) { - $user = \OCP\User::getUser(); $path_parts = explode(DIRECTORY_SEPARATOR, trim($path, DIRECTORY_SEPARATOR)); $path = ''; $shares = array(); - + $view = new \OC\Files\View('/'.$user.'/files/'); foreach ($path_parts as $p) { $path .= '/'.$p; - $meta = \OC\Files\Filesystem::getFileInfo(\OC_Filesystem::normalizePath($path)); + $meta = $view->getFileInfo(\OC_Filesystem::normalizePath($path)); $source = $meta['fileid']; // Fetch all shares of this file path from DB @@ -203,12 +203,9 @@ class Share { $shares[] = "ownCloud"; } } - - if ( ! empty( $shares ) ) { - // Include owner in list of users, if requested - if ( $includeOwner ) { - $shares[] = $user; - } + // Include owner in list of users, if requested + if ( $includeOwner ) { + $shares[] = $user; } return array_unique($shares);