aboutsummaryrefslogtreecommitdiffstats
path: root/lib/private
diff options
context:
space:
mode:
authorJoas Schilling <coding@schilljs.com>2023-07-25 19:30:15 +0200
committerJoas Schilling <coding@schilljs.com>2023-07-27 09:57:53 +0200
commitc67c067ee796d8a466c47458d06a8a0c20f8d5c2 (patch)
tree70ee4ddbfc886038cb58a26e9226e1aeb1b1e3fd /lib/private
parent44a0a621075962fecd9a3c94e724e2b544f7ce38 (diff)
downloadnextcloud-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.php50
-rw-r--r--lib/private/Share20/Manager.php4
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());
}