aboutsummaryrefslogtreecommitdiffstats
path: root/lib/private
diff options
context:
space:
mode:
authorJoas Schilling <213943+nickvergessen@users.noreply.github.com>2023-07-27 18:59:42 +0200
committerGitHub <noreply@github.com>2023-07-27 18:59:42 +0200
commit6b7221756cac889a5b781e826656ee903a0cddcb (patch)
tree1d8d2332add80e12a07640ac1414d160218f568b /lib/private
parent5fb5d85067bfc06a10cd8dbd2a21052a21ec2d81 (diff)
parent35c313e280a63ef96ec321dec07853a7b90cb415 (diff)
downloadnextcloud-server-6b7221756cac889a5b781e826656ee903a0cddcb.tar.gz
nextcloud-server-6b7221756cac889a5b781e826656ee903a0cddcb.zip
Merge pull request #39571 from nextcloud/bugfix/noid/move-lib-to-IEventDispatcher
Move lib/ events to IEventDispatcher where possible
Diffstat (limited to 'lib/private')
-rw-r--r--lib/private/App/AppManager.php10
-rw-r--r--lib/private/AppFramework/Middleware/AdditionalScriptsMiddleware.php35
-rw-r--r--lib/private/Authentication/TwoFactorAuth/Manager.php15
-rw-r--r--lib/private/Files/Node/HookConnector.php38
-rw-r--r--lib/private/Preview/Generator.php10
-rw-r--r--lib/private/PreviewManager.php5
-rw-r--r--lib/private/Server.php3
-rw-r--r--lib/private/Share20/LegacyHooks.php50
-rw-r--r--lib/private/Share20/Manager.php4
-rw-r--r--lib/private/SystemTag/ManagerFactory.php5
-rw-r--r--lib/private/SystemTag/SystemTagManager.php28
-rw-r--r--lib/private/SystemTag/SystemTagObjectMapper.php27
-rw-r--r--lib/private/User/User.php4
13 files changed, 65 insertions, 169 deletions
diff --git a/lib/private/App/AppManager.php b/lib/private/App/AppManager.php
index b881d37440e..88044fbf7b6 100644
--- a/lib/private/App/AppManager.php
+++ b/lib/private/App/AppManager.php
@@ -59,7 +59,6 @@ use OCP\IUser;
use OCP\IUserSession;
use OCP\Settings\IManager as ISettingsManager;
use Psr\Log\LoggerInterface;
-use Symfony\Component\EventDispatcher\EventDispatcherInterface;
class AppManager implements IAppManager {
/**
@@ -79,7 +78,6 @@ class AppManager implements IAppManager {
private AppConfig $appConfig;
private IGroupManager $groupManager;
private ICacheFactory $memCacheFactory;
- private EventDispatcherInterface $legacyDispatcher;
private IEventDispatcher $dispatcher;
private LoggerInterface $logger;
@@ -110,7 +108,6 @@ class AppManager implements IAppManager {
AppConfig $appConfig,
IGroupManager $groupManager,
ICacheFactory $memCacheFactory,
- EventDispatcherInterface $legacyDispatcher,
IEventDispatcher $dispatcher,
LoggerInterface $logger) {
$this->userSession = $userSession;
@@ -118,7 +115,6 @@ class AppManager implements IAppManager {
$this->appConfig = $appConfig;
$this->groupManager = $groupManager;
$this->memCacheFactory = $memCacheFactory;
- $this->legacyDispatcher = $legacyDispatcher;
$this->dispatcher = $dispatcher;
$this->logger = $logger;
}
@@ -543,7 +539,7 @@ class AppManager implements IAppManager {
$this->installedAppsCache[$appId] = 'yes';
$this->appConfig->setValue($appId, 'enabled', 'yes');
$this->dispatcher->dispatchTyped(new AppEnableEvent($appId));
- $this->legacyDispatcher->dispatch(ManagerEvent::EVENT_APP_ENABLE, new ManagerEvent(
+ $this->dispatcher->dispatch(ManagerEvent::EVENT_APP_ENABLE, new ManagerEvent(
ManagerEvent::EVENT_APP_ENABLE, $appId
));
$this->clearAppsCache();
@@ -597,7 +593,7 @@ class AppManager implements IAppManager {
$this->installedAppsCache[$appId] = json_encode($groupIds);
$this->appConfig->setValue($appId, 'enabled', json_encode($groupIds));
$this->dispatcher->dispatchTyped(new AppEnableEvent($appId, $groupIds));
- $this->legacyDispatcher->dispatch(ManagerEvent::EVENT_APP_ENABLE_FOR_GROUPS, new ManagerEvent(
+ $this->dispatcher->dispatch(ManagerEvent::EVENT_APP_ENABLE_FOR_GROUPS, new ManagerEvent(
ManagerEvent::EVENT_APP_ENABLE_FOR_GROUPS, $appId, $groups
));
$this->clearAppsCache();
@@ -633,7 +629,7 @@ class AppManager implements IAppManager {
}
$this->dispatcher->dispatchTyped(new AppDisableEvent($appId));
- $this->legacyDispatcher->dispatch(ManagerEvent::EVENT_APP_DISABLE, new ManagerEvent(
+ $this->dispatcher->dispatch(ManagerEvent::EVENT_APP_DISABLE, new ManagerEvent(
ManagerEvent::EVENT_APP_DISABLE, $appId
));
$this->clearAppsCache();
diff --git a/lib/private/AppFramework/Middleware/AdditionalScriptsMiddleware.php b/lib/private/AppFramework/Middleware/AdditionalScriptsMiddleware.php
index ec52dde0ecd..f3f9b07f2a8 100644
--- a/lib/private/AppFramework/Middleware/AdditionalScriptsMiddleware.php
+++ b/lib/private/AppFramework/Middleware/AdditionalScriptsMiddleware.php
@@ -32,44 +32,19 @@ use OCP\AppFramework\Http\Response;
use OCP\AppFramework\Http\StandaloneTemplateResponse;
use OCP\AppFramework\Http\TemplateResponse;
use OCP\AppFramework\Middleware;
-use OCP\AppFramework\PublicShareController;
-use OCP\EventDispatcher\GenericEvent;
use OCP\EventDispatcher\IEventDispatcher;
use OCP\IUserSession;
-use Symfony\Component\EventDispatcher\EventDispatcherInterface;
class AdditionalScriptsMiddleware extends Middleware {
- /** @var EventDispatcherInterface */
- private $legacyDispatcher;
- /** @var IUserSession */
- private $userSession;
- /** @var IEventDispatcher */
- private $dispatcher;
-
- public function __construct(EventDispatcherInterface $legacyDispatcher, IUserSession $userSession, IEventDispatcher $dispatcher) {
- $this->legacyDispatcher = $legacyDispatcher;
- $this->userSession = $userSession;
- $this->dispatcher = $dispatcher;
+ public function __construct(
+ private IUserSession $userSession,
+ private IEventDispatcher $dispatcher,
+ ) {
}
public function afterController($controller, $methodName, Response $response): Response {
if ($response instanceof TemplateResponse) {
- if (!$controller instanceof PublicShareController) {
- /*
- * The old event was not dispatched on the public share controller as there was
- * OCA\Files_Sharing::loadAdditionalScripts for that. This is kept for compatibility reasons
- * only for the old event as this is now also included in BeforeTemplateRenderedEvent
- */
- $this->legacyDispatcher->dispatch(TemplateResponse::EVENT_LOAD_ADDITIONAL_SCRIPTS, new GenericEvent());
- }
-
- if (!($response instanceof StandaloneTemplateResponse) && $this->userSession->isLoggedIn()) {
- $this->legacyDispatcher->dispatch(TemplateResponse::EVENT_LOAD_ADDITIONAL_SCRIPTS_LOGGEDIN, new GenericEvent());
- $isLoggedIn = true;
- } else {
- $isLoggedIn = false;
- }
-
+ $isLoggedIn = !($response instanceof StandaloneTemplateResponse) && $this->userSession->isLoggedIn();
$this->dispatcher->dispatchTyped(new BeforeTemplateRenderedEvent($isLoggedIn, $response));
}
diff --git a/lib/private/Authentication/TwoFactorAuth/Manager.php b/lib/private/Authentication/TwoFactorAuth/Manager.php
index 17937de4e44..8ae08ca65ae 100644
--- a/lib/private/Authentication/TwoFactorAuth/Manager.php
+++ b/lib/private/Authentication/TwoFactorAuth/Manager.php
@@ -46,8 +46,6 @@ use OCP\ISession;
use OCP\IUser;
use OCP\Session\Exceptions\SessionNotAvailableException;
use Psr\Log\LoggerInterface;
-use Symfony\Component\EventDispatcher\EventDispatcherInterface;
-use Symfony\Component\EventDispatcher\GenericEvent;
use function array_diff;
use function array_filter;
@@ -87,9 +85,6 @@ class Manager {
/** @var IEventDispatcher */
private $dispatcher;
- /** @var EventDispatcherInterface */
- private $legacyDispatcher;
-
/** @psalm-var array<string, bool> */
private $userIsTwoFactorAuthenticated = [];
@@ -102,8 +97,7 @@ class Manager {
LoggerInterface $logger,
TokenProvider $tokenProvider,
ITimeFactory $timeFactory,
- IEventDispatcher $eventDispatcher,
- EventDispatcherInterface $legacyDispatcher) {
+ IEventDispatcher $eventDispatcher) {
$this->providerLoader = $providerLoader;
$this->providerRegistry = $providerRegistry;
$this->mandatoryTwoFactor = $mandatoryTwoFactor;
@@ -114,7 +108,6 @@ class Manager {
$this->tokenProvider = $tokenProvider;
$this->timeFactory = $timeFactory;
$this->dispatcher = $eventDispatcher;
- $this->legacyDispatcher = $legacyDispatcher;
}
/**
@@ -284,9 +277,6 @@ class Manager {
$tokenId = $token->getId();
$this->config->deleteUserValue($user->getUID(), 'login_token_2fa', (string)$tokenId);
- $dispatchEvent = new GenericEvent($user, ['provider' => $provider->getDisplayName()]);
- $this->legacyDispatcher->dispatch(IProvider::EVENT_SUCCESS, $dispatchEvent);
-
$this->dispatcher->dispatchTyped(new TwoFactorProviderForUserEnabled($user, $provider));
$this->dispatcher->dispatchTyped(new TwoFactorProviderChallengePassed($user, $provider));
@@ -294,9 +284,6 @@ class Manager {
'provider' => $provider->getDisplayName(),
]);
} else {
- $dispatchEvent = new GenericEvent($user, ['provider' => $provider->getDisplayName()]);
- $this->legacyDispatcher->dispatch(IProvider::EVENT_FAILED, $dispatchEvent);
-
$this->dispatcher->dispatchTyped(new TwoFactorProviderForUserDisabled($user, $provider));
$this->dispatcher->dispatchTyped(new TwoFactorProviderChallengeFailed($user, $provider));
diff --git a/lib/private/Files/Node/HookConnector.php b/lib/private/Files/Node/HookConnector.php
index c61e098c227..a8e76d95c22 100644
--- a/lib/private/Files/Node/HookConnector.php
+++ b/lib/private/Files/Node/HookConnector.php
@@ -46,7 +46,6 @@ use OCP\Files\Events\Node\NodeWrittenEvent;
use OCP\Files\FileInfo;
use OCP\Files\IRootFolder;
use OCP\Util;
-use Symfony\Component\EventDispatcher\EventDispatcherInterface;
class HookConnector {
/** @var IRootFolder */
@@ -58,26 +57,15 @@ class HookConnector {
/** @var FileInfo[] */
private $deleteMetaCache = [];
- /** @var EventDispatcherInterface */
- private $legacyDispatcher;
-
/** @var IEventDispatcher */
private $dispatcher;
- /**
- * HookConnector constructor.
- *
- * @param Root $root
- * @param View $view
- */
public function __construct(
IRootFolder $root,
View $view,
- EventDispatcherInterface $legacyDispatcher,
IEventDispatcher $dispatcher) {
$this->root = $root;
$this->view = $view;
- $this->legacyDispatcher = $legacyDispatcher;
$this->dispatcher = $dispatcher;
}
@@ -106,7 +94,7 @@ class HookConnector {
public function write($arguments) {
$node = $this->getNodeForPath($arguments['path']);
$this->root->emit('\OC\Files', 'preWrite', [$node]);
- $this->legacyDispatcher->dispatch('\OCP\Files::preWrite', new GenericEvent($node));
+ $this->dispatcher->dispatch('\OCP\Files::preWrite', new GenericEvent($node));
$event = new BeforeNodeWrittenEvent($node);
$this->dispatcher->dispatchTyped($event);
@@ -115,7 +103,7 @@ class HookConnector {
public function postWrite($arguments) {
$node = $this->getNodeForPath($arguments['path']);
$this->root->emit('\OC\Files', 'postWrite', [$node]);
- $this->legacyDispatcher->dispatch('\OCP\Files::postWrite', new GenericEvent($node));
+ $this->dispatcher->dispatch('\OCP\Files::postWrite', new GenericEvent($node));
$event = new NodeWrittenEvent($node);
$this->dispatcher->dispatchTyped($event);
@@ -124,7 +112,7 @@ class HookConnector {
public function create($arguments) {
$node = $this->getNodeForPath($arguments['path']);
$this->root->emit('\OC\Files', 'preCreate', [$node]);
- $this->legacyDispatcher->dispatch('\OCP\Files::preCreate', new GenericEvent($node));
+ $this->dispatcher->dispatch('\OCP\Files::preCreate', new GenericEvent($node));
$event = new BeforeNodeCreatedEvent($node);
$this->dispatcher->dispatchTyped($event);
@@ -133,7 +121,7 @@ class HookConnector {
public function postCreate($arguments) {
$node = $this->getNodeForPath($arguments['path']);
$this->root->emit('\OC\Files', 'postCreate', [$node]);
- $this->legacyDispatcher->dispatch('\OCP\Files::postCreate', new GenericEvent($node));
+ $this->dispatcher->dispatch('\OCP\Files::postCreate', new GenericEvent($node));
$event = new NodeCreatedEvent($node);
$this->dispatcher->dispatchTyped($event);
@@ -143,7 +131,7 @@ class HookConnector {
$node = $this->getNodeForPath($arguments['path']);
$this->deleteMetaCache[$node->getPath()] = $node->getFileInfo();
$this->root->emit('\OC\Files', 'preDelete', [$node]);
- $this->legacyDispatcher->dispatch('\OCP\Files::preDelete', new GenericEvent($node));
+ $this->dispatcher->dispatch('\OCP\Files::preDelete', new GenericEvent($node));
$event = new BeforeNodeDeletedEvent($node);
$this->dispatcher->dispatchTyped($event);
@@ -153,7 +141,7 @@ class HookConnector {
$node = $this->getNodeForPath($arguments['path']);
unset($this->deleteMetaCache[$node->getPath()]);
$this->root->emit('\OC\Files', 'postDelete', [$node]);
- $this->legacyDispatcher->dispatch('\OCP\Files::postDelete', new GenericEvent($node));
+ $this->dispatcher->dispatch('\OCP\Files::postDelete', new GenericEvent($node));
$event = new NodeDeletedEvent($node);
$this->dispatcher->dispatchTyped($event);
@@ -162,7 +150,7 @@ class HookConnector {
public function touch($arguments) {
$node = $this->getNodeForPath($arguments['path']);
$this->root->emit('\OC\Files', 'preTouch', [$node]);
- $this->legacyDispatcher->dispatch('\OCP\Files::preTouch', new GenericEvent($node));
+ $this->dispatcher->dispatch('\OCP\Files::preTouch', new GenericEvent($node));
$event = new BeforeNodeTouchedEvent($node);
$this->dispatcher->dispatchTyped($event);
@@ -171,7 +159,7 @@ class HookConnector {
public function postTouch($arguments) {
$node = $this->getNodeForPath($arguments['path']);
$this->root->emit('\OC\Files', 'postTouch', [$node]);
- $this->legacyDispatcher->dispatch('\OCP\Files::postTouch', new GenericEvent($node));
+ $this->dispatcher->dispatch('\OCP\Files::postTouch', new GenericEvent($node));
$event = new NodeTouchedEvent($node);
$this->dispatcher->dispatchTyped($event);
@@ -181,7 +169,7 @@ class HookConnector {
$source = $this->getNodeForPath($arguments['oldpath']);
$target = $this->getNodeForPath($arguments['newpath']);
$this->root->emit('\OC\Files', 'preRename', [$source, $target]);
- $this->legacyDispatcher->dispatch('\OCP\Files::preRename', new GenericEvent([$source, $target]));
+ $this->dispatcher->dispatch('\OCP\Files::preRename', new GenericEvent([$source, $target]));
$event = new BeforeNodeRenamedEvent($source, $target);
$this->dispatcher->dispatchTyped($event);
@@ -191,7 +179,7 @@ class HookConnector {
$source = $this->getNodeForPath($arguments['oldpath']);
$target = $this->getNodeForPath($arguments['newpath']);
$this->root->emit('\OC\Files', 'postRename', [$source, $target]);
- $this->legacyDispatcher->dispatch('\OCP\Files::postRename', new GenericEvent([$source, $target]));
+ $this->dispatcher->dispatch('\OCP\Files::postRename', new GenericEvent([$source, $target]));
$event = new NodeRenamedEvent($source, $target);
$this->dispatcher->dispatchTyped($event);
@@ -201,7 +189,7 @@ class HookConnector {
$source = $this->getNodeForPath($arguments['oldpath']);
$target = $this->getNodeForPath($arguments['newpath']);
$this->root->emit('\OC\Files', 'preCopy', [$source, $target]);
- $this->legacyDispatcher->dispatch('\OCP\Files::preCopy', new GenericEvent([$source, $target]));
+ $this->dispatcher->dispatch('\OCP\Files::preCopy', new GenericEvent([$source, $target]));
$event = new BeforeNodeCopiedEvent($source, $target);
$this->dispatcher->dispatchTyped($event);
@@ -211,7 +199,7 @@ class HookConnector {
$source = $this->getNodeForPath($arguments['oldpath']);
$target = $this->getNodeForPath($arguments['newpath']);
$this->root->emit('\OC\Files', 'postCopy', [$source, $target]);
- $this->legacyDispatcher->dispatch('\OCP\Files::postCopy', new GenericEvent([$source, $target]));
+ $this->dispatcher->dispatch('\OCP\Files::postCopy', new GenericEvent([$source, $target]));
$event = new NodeCopiedEvent($source, $target);
$this->dispatcher->dispatchTyped($event);
@@ -220,7 +208,7 @@ class HookConnector {
public function read($arguments) {
$node = $this->getNodeForPath($arguments['path']);
$this->root->emit('\OC\Files', 'read', [$node]);
- $this->legacyDispatcher->dispatch('\OCP\Files::read', new GenericEvent([$node]));
+ $this->dispatcher->dispatch('\OCP\Files::read', new GenericEvent([$node]));
$event = new BeforeNodeReadEvent($node);
$this->dispatcher->dispatchTyped($event);
diff --git a/lib/private/Preview/Generator.php b/lib/private/Preview/Generator.php
index c9949c82a97..4e4571f0857 100644
--- a/lib/private/Preview/Generator.php
+++ b/lib/private/Preview/Generator.php
@@ -44,8 +44,6 @@ use OCP\IStreamImage;
use OCP\Preview\BeforePreviewFetchedEvent;
use OCP\Preview\IProviderV2;
use OCP\Preview\IVersionedPreviewFile;
-use Symfony\Component\EventDispatcher\EventDispatcherInterface;
-use Symfony\Component\EventDispatcher\GenericEvent;
class Generator {
public const SEMAPHORE_ID_ALL = 0x0a11;
@@ -59,8 +57,6 @@ class Generator {
private $appData;
/** @var GeneratorHelper */
private $helper;
- /** @var EventDispatcherInterface */
- private $legacyEventDispatcher;
/** @var IEventDispatcher */
private $eventDispatcher;
@@ -69,14 +65,12 @@ class Generator {
IPreview $previewManager,
IAppData $appData,
GeneratorHelper $helper,
- EventDispatcherInterface $legacyEventDispatcher,
IEventDispatcher $eventDispatcher
) {
$this->config = $config;
$this->previewManager = $previewManager;
$this->appData = $appData;
$this->helper = $helper;
- $this->legacyEventDispatcher = $legacyEventDispatcher;
$this->eventDispatcher = $eventDispatcher;
}
@@ -104,10 +98,6 @@ class Generator {
'mode' => $mode,
];
- $this->legacyEventDispatcher->dispatch(
- IPreview::EVENT,
- new GenericEvent($file, $specification)
- );
$this->eventDispatcher->dispatchTyped(new BeforePreviewFetchedEvent(
$file,
$width,
diff --git a/lib/private/PreviewManager.php b/lib/private/PreviewManager.php
index 814235f4212..3af6848686e 100644
--- a/lib/private/PreviewManager.php
+++ b/lib/private/PreviewManager.php
@@ -46,7 +46,6 @@ use OCP\IConfig;
use OCP\IPreview;
use OCP\IServerContainer;
use OCP\Preview\IProviderV2;
-use Symfony\Component\EventDispatcher\EventDispatcherInterface;
use function array_key_exists;
class PreviewManager implements IPreview {
@@ -54,7 +53,6 @@ class PreviewManager implements IPreview {
protected IRootFolder $rootFolder;
protected IAppData $appData;
protected IEventDispatcher $eventDispatcher;
- protected EventDispatcherInterface $legacyEventDispatcher;
private ?Generator $generator = null;
private GeneratorHelper $helper;
protected bool $providerListDirty = false;
@@ -81,7 +79,6 @@ class PreviewManager implements IPreview {
IRootFolder $rootFolder,
IAppData $appData,
IEventDispatcher $eventDispatcher,
- EventDispatcherInterface $legacyEventDispatcher,
GeneratorHelper $helper,
?string $userId,
Coordinator $bootstrapCoordinator,
@@ -93,7 +90,6 @@ class PreviewManager implements IPreview {
$this->rootFolder = $rootFolder;
$this->appData = $appData;
$this->eventDispatcher = $eventDispatcher;
- $this->legacyEventDispatcher = $legacyEventDispatcher;
$this->helper = $helper;
$this->userId = $userId;
$this->bootstrapCoordinator = $bootstrapCoordinator;
@@ -161,7 +157,6 @@ class PreviewManager implements IPreview {
$this->rootFolder,
$this->config
),
- $this->legacyEventDispatcher,
$this->eventDispatcher
);
}
diff --git a/lib/private/Server.php b/lib/private/Server.php
index 03c03e1b6ed..86f5192a39d 100644
--- a/lib/private/Server.php
+++ b/lib/private/Server.php
@@ -340,7 +340,6 @@ class Server extends ServerContainer implements IServerContainer {
$c->get(SystemConfig::class)
),
$c->get(IEventDispatcher::class),
- $c->get(SymfonyAdapter::class),
$c->get(GeneratorHelper::class),
$c->get(ISession::class)->get('user_id'),
$c->get(Coordinator::class),
@@ -466,7 +465,6 @@ class Server extends ServerContainer implements IServerContainer {
return new HookConnector(
$c->get(IRootFolder::class),
new View(),
- $c->get(\OC\EventDispatcher\SymfonyAdapter::class),
$c->get(IEventDispatcher::class)
);
});
@@ -940,7 +938,6 @@ class Server extends ServerContainer implements IServerContainer {
$c->get(\OC\AppConfig::class),
$c->get(IGroupManager::class),
$c->get(ICacheFactory::class),
- $c->get(SymfonyAdapter::class),
$c->get(IEventDispatcher::class),
$c->get(LoggerInterface::class)
);
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());
}
diff --git a/lib/private/SystemTag/ManagerFactory.php b/lib/private/SystemTag/ManagerFactory.php
index ca0508fe19b..6670922407e 100644
--- a/lib/private/SystemTag/ManagerFactory.php
+++ b/lib/private/SystemTag/ManagerFactory.php
@@ -26,6 +26,7 @@ declare(strict_types=1);
*/
namespace OC\SystemTag;
+use OCP\EventDispatcher\IEventDispatcher;
use OCP\IServerContainer;
use OCP\SystemTag\ISystemTagManager;
use OCP\SystemTag\ISystemTagManagerFactory;
@@ -64,7 +65,7 @@ class ManagerFactory implements ISystemTagManagerFactory {
return new SystemTagManager(
$this->serverContainer->getDatabaseConnection(),
$this->serverContainer->getGroupManager(),
- $this->serverContainer->getEventDispatcher()
+ $this->serverContainer->get(IEventDispatcher::class),
);
}
@@ -79,7 +80,7 @@ class ManagerFactory implements ISystemTagManagerFactory {
return new SystemTagObjectMapper(
$this->serverContainer->getDatabaseConnection(),
$this->getManager(),
- $this->serverContainer->getEventDispatcher()
+ $this->serverContainer->get(IEventDispatcher::class),
);
}
}
diff --git a/lib/private/SystemTag/SystemTagManager.php b/lib/private/SystemTag/SystemTagManager.php
index 1d5bc10fc2c..c52c350b6f8 100644
--- a/lib/private/SystemTag/SystemTagManager.php
+++ b/lib/private/SystemTag/SystemTagManager.php
@@ -31,6 +31,7 @@ namespace OC\SystemTag;
use Doctrine\DBAL\Exception\UniqueConstraintViolationException;
use OCP\DB\QueryBuilder\IQueryBuilder;
+use OCP\EventDispatcher\IEventDispatcher;
use OCP\IDBConnection;
use OCP\IGroupManager;
use OCP\IUser;
@@ -39,7 +40,6 @@ use OCP\SystemTag\ISystemTagManager;
use OCP\SystemTag\ManagerEvent;
use OCP\SystemTag\TagAlreadyExistsException;
use OCP\SystemTag\TagNotFoundException;
-use Symfony\Component\EventDispatcher\EventDispatcherInterface;
/**
* Manager class for system tags
@@ -48,15 +48,6 @@ class SystemTagManager implements ISystemTagManager {
public const TAG_TABLE = 'systemtag';
public const TAG_GROUP_TABLE = 'systemtag_group';
- /** @var IDBConnection */
- protected $connection;
-
- /** @var EventDispatcherInterface */
- protected $dispatcher;
-
- /** @var IGroupManager */
- protected $groupManager;
-
/**
* Prepared query for selecting tags directly
*
@@ -64,22 +55,11 @@ class SystemTagManager implements ISystemTagManager {
*/
private $selectTagQuery;
- /**
- * Constructor.
- *
- * @param IDBConnection $connection database connection
- * @param IGroupManager $groupManager
- * @param EventDispatcherInterface $dispatcher
- */
public function __construct(
- IDBConnection $connection,
- IGroupManager $groupManager,
- EventDispatcherInterface $dispatcher
+ protected IDBConnection $connection,
+ protected IGroupManager $groupManager,
+ protected IEventDispatcher $dispatcher,
) {
- $this->connection = $connection;
- $this->groupManager = $groupManager;
- $this->dispatcher = $dispatcher;
-
$query = $this->connection->getQueryBuilder();
$this->selectTagQuery = $query->select('*')
->from(self::TAG_TABLE)
diff --git a/lib/private/SystemTag/SystemTagObjectMapper.php b/lib/private/SystemTag/SystemTagObjectMapper.php
index 864ba3e91a8..66a21e58609 100644
--- a/lib/private/SystemTag/SystemTagObjectMapper.php
+++ b/lib/private/SystemTag/SystemTagObjectMapper.php
@@ -29,37 +29,22 @@ namespace OC\SystemTag;
use Doctrine\DBAL\Exception\UniqueConstraintViolationException;
use OCP\DB\QueryBuilder\IQueryBuilder;
+use OCP\EventDispatcher\IEventDispatcher;
use OCP\IDBConnection;
use OCP\SystemTag\ISystemTag;
use OCP\SystemTag\ISystemTagManager;
use OCP\SystemTag\ISystemTagObjectMapper;
use OCP\SystemTag\MapperEvent;
use OCP\SystemTag\TagNotFoundException;
-use Symfony\Component\EventDispatcher\EventDispatcherInterface;
class SystemTagObjectMapper implements ISystemTagObjectMapper {
public const RELATION_TABLE = 'systemtag_object_mapping';
- /** @var ISystemTagManager */
- protected $tagManager;
-
- /** @var IDBConnection */
- protected $connection;
-
- /** @var EventDispatcherInterface */
- protected $dispatcher;
-
- /**
- * Constructor.
- *
- * @param IDBConnection $connection database connection
- * @param ISystemTagManager $tagManager system tag manager
- * @param EventDispatcherInterface $dispatcher
- */
- public function __construct(IDBConnection $connection, ISystemTagManager $tagManager, EventDispatcherInterface $dispatcher) {
- $this->connection = $connection;
- $this->tagManager = $tagManager;
- $this->dispatcher = $dispatcher;
+ public function __construct(
+ protected IDBConnection $connection,
+ protected ISystemTagManager $tagManager,
+ protected IEventDispatcher $dispatcher,
+ ) {
}
/**
diff --git a/lib/private/User/User.php b/lib/private/User/User.php
index dc4cdec1235..2530173bea4 100644
--- a/lib/private/User/User.php
+++ b/lib/private/User/User.php
@@ -271,8 +271,6 @@ class User implements IUser {
* @return bool
*/
public function delete() {
- /** @deprecated 21.0.0 use BeforeUserDeletedEvent event with the IEventDispatcher instead */
- $this->legacyDispatcher->dispatch(IUser::class . '::preDelete', new GenericEvent($this));
if ($this->emitter) {
/** @deprecated 21.0.0 use BeforeUserDeletedEvent event with the IEventDispatcher instead */
$this->emitter->emit('\OC\User', 'preDelete', [$this]);
@@ -310,8 +308,6 @@ class User implements IUser {
$accountManager = \OCP\Server::get(AccountManager::class);
$accountManager->deleteUser($this);
- /** @deprecated 21.0.0 use UserDeletedEvent event with the IEventDispatcher instead */
- $this->legacyDispatcher->dispatch(IUser::class . '::postDelete', new GenericEvent($this));
if ($this->emitter) {
/** @deprecated 21.0.0 use UserDeletedEvent event with the IEventDispatcher instead */
$this->emitter->emit('\OC\User', 'postDelete', [$this]);