aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorprovokateurin <kate@provokateurin.de>2025-02-24 11:28:28 +0100
committerprovokateurin <kate@provokateurin.de>2025-03-04 07:58:21 +0100
commit194f5eae1eae6c0d03dee50ee8908a2ac80f9411 (patch)
treedba92316792c63d9d57027684a0260ff0bd77eee /lib
parent7b5c9feca1268477a318728515180918d3c37367 (diff)
downloadnextcloud-server-194f5eae1eae6c0d03dee50ee8908a2ac80f9411.tar.gz
nextcloud-server-194f5eae1eae6c0d03dee50ee8908a2ac80f9411.zip
fix(Share20\Manager): Propagate user and group deletion to remote share providers
Signed-off-by: provokateurin <kate@provokateurin.de>
Diffstat (limited to 'lib')
-rw-r--r--lib/private/Share20/Manager.php20
1 files changed, 16 insertions, 4 deletions
diff --git a/lib/private/Share20/Manager.php b/lib/private/Share20/Manager.php
index 4f3b6385074..4eb27d611cd 100644
--- a/lib/private/Share20/Manager.php
+++ b/lib/private/Share20/Manager.php
@@ -1536,8 +1536,14 @@ class Manager implements IManager {
* @inheritdoc
*/
public function groupDeleted($gid) {
- $provider = $this->factory->getProviderForType(IShare::TYPE_GROUP);
- $provider->groupDeleted($gid);
+ foreach ([IShare::TYPE_GROUP, IShare::TYPE_REMOTE_GROUP] as $type) {
+ try {
+ $provider = $this->factory->getProviderForType($type);
+ } catch (ProviderException $e) {
+ continue;
+ }
+ $provider->groupDeleted($gid);
+ }
$excludedGroups = $this->config->getAppValue('core', 'shareapi_exclude_groups_list', '');
if ($excludedGroups === '') {
@@ -1557,8 +1563,14 @@ class Manager implements IManager {
* @inheritdoc
*/
public function userDeletedFromGroup($uid, $gid) {
- $provider = $this->factory->getProviderForType(IShare::TYPE_GROUP);
- $provider->userDeletedFromGroup($uid, $gid);
+ foreach ([IShare::TYPE_GROUP, IShare::TYPE_REMOTE_GROUP] as $type) {
+ try {
+ $provider = $this->factory->getProviderForType($type);
+ } catch (ProviderException $e) {
+ continue;
+ }
+ $provider->userDeletedFromGroup($uid, $gid);
+ }
}
/**