diff options
author | ben-denham <bend@catalyst.net.nz> | 2014-01-06 11:14:43 +1300 |
---|---|---|
committer | ben-denham <bend@catalyst.net.nz> | 2014-01-06 11:14:43 +1300 |
commit | baccc8f584940d607393ef2bdd9c6d3e511b75b8 (patch) | |
tree | 4d8c2cd71d1611cd2731431da548b504dc2f82ff /lib/public/share.php | |
parent | ce3df4469909852ddaa1b35addd4c0e8a9a68195 (diff) | |
download | nextcloud-server-baccc8f584940d607393ef2bdd9c6d3e511b75b8.tar.gz nextcloud-server-baccc8f584940d607393ef2bdd9c6d3e511b75b8.zip |
Unshare all will now delete all shares for the item, instead of only for a single owner.
Diffstat (limited to 'lib/public/share.php')
-rw-r--r-- | lib/public/share.php | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/lib/public/share.php b/lib/public/share.php index f0fd8e1ab1b..eb1dd8d1c95 100644 --- a/lib/public/share.php +++ b/lib/public/share.php @@ -655,7 +655,15 @@ class Share { * @return Returns true on success or false on failure */ public static function unshareAll($itemType, $itemSource) { - if ($shares = self::getItemShared($itemType, $itemSource)) { + // Get all of the owners of shares of this item. + $query = \OC_DB::prepare( 'SELECT `uid_owner` from `*PREFIX*share` WHERE `item_type`=? AND `item_source`=?' ); + $result = $query->execute(array($itemType, $itemSource)); + $shares = array(); + // Add each owner's shares to the array of all shares for this item. + while ($row = $result->fetchRow()) { + $shares = array_merge($shares, self::getItems($itemType, $itemSource, null, null, $row['uid_owner'])); + } + if (!empty($shares)) { // Pass all the vars we have for now, they may be useful $hookParams = array( 'itemType' => $itemType, |