diff options
author | Joas Schilling <coding@schilljs.com> | 2023-07-25 19:30:15 +0200 |
---|---|---|
committer | Joas Schilling <coding@schilljs.com> | 2023-07-27 09:57:53 +0200 |
commit | c67c067ee796d8a466c47458d06a8a0c20f8d5c2 (patch) | |
tree | 70ee4ddbfc886038cb58a26e9226e1aeb1b1e3fd /lib/private | |
parent | 44a0a621075962fecd9a3c94e724e2b544f7ce38 (diff) | |
download | nextcloud-server-c67c067ee796d8a466c47458d06a8a0c20f8d5c2.tar.gz nextcloud-server-c67c067ee796d8a466c47458d06a8a0c20f8d5c2.zip |
fix: Move Sharing events to IEventDispatcher
Signed-off-by: Joas Schilling <coding@schilljs.com>
Diffstat (limited to 'lib/private')
-rw-r--r-- | lib/private/Share20/LegacyHooks.php | 50 | ||||
-rw-r--r-- | lib/private/Share20/Manager.php | 4 |
2 files changed, 30 insertions, 24 deletions
diff --git a/lib/private/Share20/LegacyHooks.php b/lib/private/Share20/LegacyHooks.php index feb4604e884..688b2273384 100644 --- a/lib/private/Share20/LegacyHooks.php +++ b/lib/private/Share20/LegacyHooks.php @@ -26,34 +26,46 @@ */ namespace OC\Share20; +use OCP\EventDispatcher\IEventDispatcher; use OCP\Files\File; use OCP\Share; use OCP\Share\IShare; -use Symfony\Component\EventDispatcher\EventDispatcherInterface; use Symfony\Component\EventDispatcher\GenericEvent; class LegacyHooks { - /** @var EventDispatcherInterface */ + /** @var IEventDispatcher */ private $eventDispatcher; - /** - * LegacyHooks constructor. - * - * @param EventDispatcherInterface $eventDispatcher - */ - public function __construct(EventDispatcherInterface $eventDispatcher) { + public function __construct(IEventDispatcher $eventDispatcher) { $this->eventDispatcher = $eventDispatcher; - $this->eventDispatcher->addListener('OCP\Share::preUnshare', [$this, 'preUnshare']); - $this->eventDispatcher->addListener('OCP\Share::postUnshare', [$this, 'postUnshare']); - $this->eventDispatcher->addListener('OCP\Share::postUnshareFromSelf', [$this, 'postUnshareFromSelf']); - $this->eventDispatcher->addListener('OCP\Share::preShare', [$this, 'preShare']); - $this->eventDispatcher->addListener('OCP\Share::postShare', [$this, 'postShare']); + $this->eventDispatcher->addListener('OCP\Share::preUnshare', function ($event) { + if ($event instanceof GenericEvent) { + $this->preUnshare($event); + } + }); + $this->eventDispatcher->addListener('OCP\Share::postUnshare', function ($event) { + if ($event instanceof GenericEvent) { + $this->postUnshare($event); + } + }); + $this->eventDispatcher->addListener('OCP\Share::postUnshareFromSelf', function ($event) { + if ($event instanceof GenericEvent) { + $this->postUnshareFromSelf($event); + } + }); + $this->eventDispatcher->addListener('OCP\Share::preShare', function ($event) { + if ($event instanceof GenericEvent) { + $this->preShare($event); + } + }); + $this->eventDispatcher->addListener('OCP\Share::postShare', function ($event) { + if ($event instanceof GenericEvent) { + $this->postShare($event); + } + }); } - /** - * @param GenericEvent $e - */ public function preUnshare(GenericEvent $e) { /** @var IShare $share */ $share = $e->getSubject(); @@ -62,9 +74,6 @@ class LegacyHooks { \OC_Hook::emit(Share::class, 'pre_unshare', $formatted); } - /** - * @param GenericEvent $e - */ public function postUnshare(GenericEvent $e) { /** @var IShare $share */ $share = $e->getSubject(); @@ -83,9 +92,6 @@ class LegacyHooks { \OC_Hook::emit(Share::class, 'post_unshare', $formatted); } - /** - * @param GenericEvent $e - */ public function postUnshareFromSelf(GenericEvent $e) { /** @var IShare $share */ $share = $e->getSubject(); diff --git a/lib/private/Share20/Manager.php b/lib/private/Share20/Manager.php index 732bd5bb97d..3f5dbd7cd28 100644 --- a/lib/private/Share20/Manager.php +++ b/lib/private/Share20/Manager.php @@ -157,7 +157,7 @@ class Manager implements IManager { $this->sharingDisabledForUsersCache = new CappedMemoryCache(); // The constructor of LegacyHooks registers the listeners of share events // do not remove if those are not properly migrated - $this->legacyHooks = new LegacyHooks($this->legacyDispatcher); + $this->legacyHooks = new LegacyHooks($dispatcher); $this->mailer = $mailer; $this->urlGenerator = $urlGenerator; $this->defaults = $defaults; @@ -194,7 +194,7 @@ class Manager implements IManager { // Let others verify the password try { - $this->legacyDispatcher->dispatch(new ValidatePasswordPolicyEvent($password)); + $this->dispatcher->dispatchTyped(new ValidatePasswordPolicyEvent($password)); } catch (HintException $e) { throw new \Exception($e->getHint()); } |