From fcde4c70a26c0149ca1c62958bae11e2cbec35ee Mon Sep 17 00:00:00 2001 From: Bjoern Schiessle Date: Mon, 17 Nov 2014 18:05:12 +0100 Subject: [PATCH] make sure that we only find the shares from the correct share type if users and groups with the same ID exists --- lib/private/share/share.php | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/lib/private/share/share.php b/lib/private/share/share.php index c5f3bf69b31..07c2641644d 100644 --- a/lib/private/share/share.php +++ b/lib/private/share/share.php @@ -288,9 +288,10 @@ class Share extends \OC\Share\Constants { * @param string $itemType * @param string $itemSource * @param string $user User user to whom the item was shared + * @param int $shareType only look for a specific share type * @return array Return list of items with file_target, permissions and expiration */ - public static function getItemSharedWithUser($itemType, $itemSource, $user) { + public static function getItemSharedWithUser($itemType, $itemSource, $user, $shareType = null) { $shares = array(); $fileDependend = false; @@ -314,6 +315,11 @@ class Share extends \OC\Share\Constants { $arguments[] = $user; } + if ($shareType !== null) { + $where .= ' AND `share_type` = ? '; + $arguments[] = $shareType; + } + $query = \OC_DB::prepare('SELECT ' . $select . ' FROM `*PREFIX*share` '. $where); $result = \OC_DB::executeAudited($query, $arguments); @@ -695,7 +701,7 @@ class Share extends \OC\Share\Constants { // check if it is a valid itemType self::getBackend($itemType); - $items = self::getItemSharedWithUser($itemType, $itemSource, $shareWith); + $items = self::getItemSharedWithUser($itemType, $itemSource, $shareWith, $shareType); $toDelete = array(); $newParent = null; -- 2.39.5