summaryrefslogtreecommitdiffstats
path: root/lib/public
diff options
context:
space:
mode:
authorBjörn Schießle <schiessle@owncloud.com>2013-04-18 17:46:04 +0200
committerBjörn Schießle <schiessle@owncloud.com>2013-04-18 17:48:16 +0200
commitfe58e4b1a6a0f3b63afe74690986493facdad2c4 (patch)
treea323ebbe6094221b69f075967c12863112b60acc /lib/public
parent1df36e0c889e9f80f821274f7f5d1e01a7cc01ae (diff)
downloadnextcloud-server-fe58e4b1a6a0f3b63afe74690986493facdad2c4.tar.gz
nextcloud-server-fe58e4b1a6a0f3b63afe74690986493facdad2c4.zip
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
Diffstat (limited to 'lib/public')
-rw-r--r--lib/public/share.php17
1 files changed, 7 insertions, 10 deletions
diff --git a/lib/public/share.php b/lib/public/share.php
index 876de892572..acdf895c920 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);