From cc6c940b9ab814b6674a36b218b1be26e94a26bd Mon Sep 17 00:00:00 2001 From: Michael Gapczynski Date: Sat, 14 Jul 2012 11:55:22 -0400 Subject: [PATCH] Implement post_removeFromGroup() --- lib/public/share.php | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/lib/public/share.php b/lib/public/share.php index 50f2ff1c8a2..b1f7468c83e 100644 --- a/lib/public/share.php +++ b/lib/public/share.php @@ -761,7 +761,16 @@ class Share { } public static function post_removeFromGroup($arguments) { - // TODO + $query = \OC_DB::prepare('SELECT id, share_type FROM *PREFIX*share WHERE (share_type = ? AND share_with = ?) OR (share_type = ? AND share_with = ?)'); + $result = $query->execute(array(self::SHARE_TYPE_GROUP, $arguments['gid'], self::$shareTypeGroupUserUnique, $arguments['uid'])); + while ($item = $result->fetchRow()) { + if ($item['share_type'] == self::SHARE_TYPE_GROUP) { + // Delete all reshares by this user of the group share + self::delete($item['id'], true, $arguments['uid']); + } else { + self::delete($item['id']); + } + } } }