Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/server.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorben-denham <bend@catalyst.net.nz>2014-01-06 02:14:43 +0400
committerBjoern Schiessle <schiessle@owncloud.com>2014-01-16 15:14:37 +0400
commit3093c63024434085f31ef355fef88ba91357a9f7 (patch)
treeadf9d9554091b67f348c2587881a041b28316cc0 /lib
parentb0edbd8ebd431cffddd30d1e3232807afcd537b4 (diff)
Unshare all will now delete all shares for the item, instead of only for a single owner.
Diffstat (limited to 'lib')
-rw-r--r--lib/public/share.php10
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,