aboutsummaryrefslogtreecommitdiffstats
path: root/lib/base.php
diff options
context:
space:
mode:
authorStephan Orbaugh <62374139+sorbaugh@users.noreply.github.com>2025-03-03 16:29:10 +0100
committerGitHub <noreply@github.com>2025-03-03 16:29:10 +0100
commit3bc3d030482fc5116ad83da6223a723d729fc1b0 (patch)
treef3f24e537be546bba048913071ec540f53fa4b40 /lib/base.php
parenta9a839c40fbf345d5aab95b138ab04973543da99 (diff)
parentf5b5aec296800e32c426bb9446494e2c0454ef19 (diff)
downloadnextcloud-server-3bc3d030482fc5116ad83da6223a723d729fc1b0.tar.gz
nextcloud-server-3bc3d030482fc5116ad83da6223a723d729fc1b0.zip
Merge pull request #51000 from nextcloud/fix/federatedfilesharing/group-cleanup
fix(FederatedShareProvider): Delete external shares when groups are deleted or users removed from a group
Diffstat (limited to 'lib/base.php')
-rw-r--r--lib/base.php12
1 files changed, 8 insertions, 4 deletions
diff --git a/lib/base.php b/lib/base.php
index a1ff2f0b4dd..44b78ff713e 100644
--- a/lib/base.php
+++ b/lib/base.php
@@ -7,8 +7,12 @@ declare(strict_types=1);
* SPDX-License-Identifier: AGPL-3.0-only
*/
use OC\Encryption\HookManager;
+use OC\Share20\GroupDeletedListener;
use OC\Share20\Hooks;
+use OC\Share20\UserDeletedListener;
+use OC\Share20\UserRemovedListener;
use OCP\EventDispatcher\IEventDispatcher;
+use OCP\Group\Events\GroupDeletedEvent;
use OCP\Group\Events\UserRemovedEvent;
use OCP\ILogger;
use OCP\IRequest;
@@ -18,6 +22,7 @@ use OCP\Security\Bruteforce\IThrottler;
use OCP\Server;
use OCP\Share;
use OCP\User\Events\UserChangedEvent;
+use OCP\User\Events\UserDeletedEvent;
use OCP\Util;
use Psr\Log\LoggerInterface;
use Symfony\Component\Routing\Exception\MethodNotAllowedException;
@@ -945,12 +950,11 @@ class OC {
*/
public static function registerShareHooks(\OC\SystemConfig $systemConfig): void {
if ($systemConfig->getValue('installed')) {
- OC_Hook::connect('OC_User', 'post_deleteUser', Hooks::class, 'post_deleteUser');
- OC_Hook::connect('OC_User', 'post_deleteGroup', Hooks::class, 'post_deleteGroup');
- /** @var IEventDispatcher $dispatcher */
$dispatcher = Server::get(IEventDispatcher::class);
- $dispatcher->addServiceListener(UserRemovedEvent::class, \OC\Share20\UserRemovedListener::class);
+ $dispatcher->addServiceListener(UserRemovedEvent::class, UserRemovedListener::class);
+ $dispatcher->addServiceListener(GroupDeletedEvent::class, GroupDeletedListener::class);
+ $dispatcher->addServiceListener(UserDeletedEvent::class, UserDeletedListener::class);
}
}