diff options
Diffstat (limited to 'lib/public')
-rw-r--r-- | lib/public/share.php | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/lib/public/share.php b/lib/public/share.php index 37cf0838ed1..f3c1da74761 100644 --- a/lib/public/share.php +++ b/lib/public/share.php @@ -198,6 +198,29 @@ class Share { } /** + * Get all users an item is shared with + * @param string Item type + * @param string Item source + * @param string Owner + * @param bool Include collections + * @return Return array of users + */ + public static function getUsersItemShared($itemType, $itemSource, $uidOwner, $includeCollections = false) { + $users = array(); + $items = self::getItems($itemType, $itemSource, null, null, $uidOwner, self::FORMAT_NONE, null, -1, $includeCollections); + if ($items) { + foreach ($items as $item) { + if ((int)$item['share_type'] === self::SHARE_TYPE_USER) { + $users[] = $item['share_with']; + } else if ((int)$item['share_type'] === self::SHARE_TYPE_GROUP) { + $users = array_merge($users, \OC_Group::usersInGroup($item['share_with'])); + } + } + } + return $users; + } + + /** * @brief Share an item with a user, group, or via private link * @param string Item type * @param string Item source |