Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/server.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--apps/files_sharing/lib/AppInfo/Application.php10
-rw-r--r--apps/lookup_server_connector/lib/AppInfo/Application.php4
-rw-r--r--core/Application.php6
-rw-r--r--lib/public/EventDispatcher/IEventDispatcher.php2
4 files changed, 14 insertions, 8 deletions
diff --git a/apps/files_sharing/lib/AppInfo/Application.php b/apps/files_sharing/lib/AppInfo/Application.php
index 6448d0fab4d..fd71f58f121 100644
--- a/apps/files_sharing/lib/AppInfo/Application.php
+++ b/apps/files_sharing/lib/AppInfo/Application.php
@@ -59,6 +59,7 @@ use OCP\IServerContainer;
use OCP\Share\Events\ShareCreatedEvent;
use OCP\Util;
use Psr\Container\ContainerInterface;
+use Symfony\Component\EventDispatcher\EventDispatcherInterface;
use Symfony\Component\EventDispatcher\GenericEvent;
class Application extends App {
@@ -74,6 +75,7 @@ class Application extends App {
/** @var IEventDispatcher $dispatcher */
$dispatcher = $container->query(IEventDispatcher::class);
+ $oldDispatcher = $container->getServer()->getEventDispatcher();
$mountProviderCollection = $server->getMountProviderCollection();
$notifications = $server->getNotificationManager();
@@ -124,7 +126,7 @@ class Application extends App {
$notifications->registerNotifierService(Notifier::class);
$this->registerMountProviders($mountProviderCollection);
- $this->registerEventsScripts($dispatcher);
+ $this->registerEventsScripts($dispatcher, $oldDispatcher);
$this->setupSharingMenus();
/**
@@ -138,7 +140,7 @@ class Application extends App {
$mountProviderCollection->registerProvider($this->getContainer()->query('ExternalMountProvider'));
}
- protected function registerEventsScripts(IEventDispatcher $dispatcher) {
+ protected function registerEventsScripts(IEventDispatcher $dispatcher, EventDispatcherInterface $oldDispatcher) {
// sidebar and files scripts
$dispatcher->addServiceListener(LoadAdditionalScriptsEvent::class, LoadAdditionalListener::class);
$dispatcher->addServiceListener(BeforeTemplateRenderedEvent::class, LegacyBeforeTemplateRenderedListener::class);
@@ -151,12 +153,12 @@ class Application extends App {
$dispatcher->addServiceListener(UserAddedEvent::class, UserAddedToGroupListener::class);
// notifications api to accept incoming user shares
- $dispatcher->addListener('OCP\Share::postShare', function (GenericEvent $event) {
+ $oldDispatcher->addListener('OCP\Share::postShare', function (GenericEvent $event) {
/** @var Listener $listener */
$listener = $this->getContainer()->query(Listener::class);
$listener->shareNotification($event);
});
- $dispatcher->addListener(IGroup::class . '::postAddUser', function (GenericEvent $event) {
+ $oldDispatcher->addListener(IGroup::class . '::postAddUser', function (GenericEvent $event) {
/** @var Listener $listener */
$listener = $this->getContainer()->query(Listener::class);
$listener->userAddedToGroup($event);
diff --git a/apps/lookup_server_connector/lib/AppInfo/Application.php b/apps/lookup_server_connector/lib/AppInfo/Application.php
index 1cd999eae8d..707a06af6fb 100644
--- a/apps/lookup_server_connector/lib/AppInfo/Application.php
+++ b/apps/lookup_server_connector/lib/AppInfo/Application.php
@@ -35,9 +35,9 @@ use OCP\AppFramework\App;
use OCP\AppFramework\Bootstrap\IBootContext;
use OCP\AppFramework\Bootstrap\IBootstrap;
use OCP\AppFramework\Bootstrap\IRegistrationContext;
-use OCP\EventDispatcher\IEventDispatcher;
use OCP\AppFramework\IAppContainer;
use OCP\IUser;
+use Symfony\Component\EventDispatcher\EventDispatcher;
use Symfony\Component\EventDispatcher\GenericEvent;
class Application extends App implements IBootstrap {
@@ -57,7 +57,7 @@ class Application extends App implements IBootstrap {
/**
* @todo move the OCP events and then move the registration to `register`
*/
- private function registerEventListeners(IEventDispatcher $dispatcher,
+ private function registerEventListeners(EventDispatcher $dispatcher,
IAppContainer $appContainer): void {
$dispatcher->addListener('OC\AccountManager::userUpdated', function (GenericEvent $event) use ($appContainer) {
/** @var IUser $user */
diff --git a/core/Application.php b/core/Application.php
index 2e2579f094e..a452ca9677f 100644
--- a/core/Application.php
+++ b/core/Application.php
@@ -73,7 +73,9 @@ class Application extends App {
$notificationManager->registerNotifierService(RemoveLinkSharesNotifier::class);
$notificationManager->registerNotifierService(AuthenticationNotifier::class);
- $eventDispatcher->addListener(IDBConnection::CHECK_MISSING_INDEXES_EVENT,
+ $oldEventDispatcher = $server->getEventDispatcher();
+
+ $oldEventDispatcher->addListener(IDBConnection::CHECK_MISSING_INDEXES_EVENT,
function (GenericEvent $event) use ($container) {
/** @var MissingIndexInformation $subject */
$subject = $event->getSubject();
@@ -179,7 +181,7 @@ class Application extends App {
}
);
- $eventDispatcher->addListener(IDBConnection::CHECK_MISSING_COLUMNS_EVENT,
+ $oldEventDispatcher->addListener(IDBConnection::CHECK_MISSING_COLUMNS_EVENT,
function (GenericEvent $event) use ($container) {
/** @var MissingColumnInformation $subject */
$subject = $event->getSubject();
diff --git a/lib/public/EventDispatcher/IEventDispatcher.php b/lib/public/EventDispatcher/IEventDispatcher.php
index 095178f16e1..6f3adf159c0 100644
--- a/lib/public/EventDispatcher/IEventDispatcher.php
+++ b/lib/public/EventDispatcher/IEventDispatcher.php
@@ -39,6 +39,7 @@ interface IEventDispatcher {
* @param string $eventName preferably the fully-qualified class name of the Event sub class
* @psalm-param string|class-string<T> $eventName preferably the fully-qualified class name of the Event sub class
* @param callable $listener the object that is invoked when a matching event is dispatched
+ * @psalm-param callable(T):void $listener
* @param int $priority
*
* @since 17.0.0
@@ -50,6 +51,7 @@ interface IEventDispatcher {
* @param string $eventName preferably the fully-qualified class name of the Event sub class
* @psalm-param string|class-string<T> $eventName preferably the fully-qualified class name of the Event sub class
* @param callable $listener the object that is invoked when a matching event is dispatched
+ * @psalm-param callable(T):void $listener
*
* @since 19.0.0
*/