Browse Source

use modern event dispatch

Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
Julien Veyssier 1 year ago
parent
commit
2d860d2c39
2 changed files with 31 additions and 2 deletions
  1. 6 2
      apps/dav/appinfo/v1/publicwebdav.php
  2. 25 0
      lib/public/SabrePublicPluginEvent.php

+ 6 - 2
apps/dav/appinfo/v1/publicwebdav.php

@@ -30,6 +30,8 @@
  *
  */
 
+use OCP\EventDispatcher\IEventDispatcher;
+use OCP\SabrePublicPluginEvent;
 use Psr\Log\LoggerInterface;
 
 // load needed apps
@@ -112,8 +114,10 @@ $server = $serverFactory->createServer($baseuri, $requestUri, $authPlugin, funct
 $server->addPlugin($linkCheckPlugin);
 $server->addPlugin($filesDropPlugin);
 // allow setup of additional plugins
-$event = new \OCP\SabrePluginEvent($server);
-\OC::$server->getEventDispatcher()->dispatch('OCA\DAV\Connector\Sabre::addPublicPlugin', $event);
+$event = new SabrePublicPluginEvent($server);
+/** @var IEventDispatcher $eventDispatcher */
+$eventDispatcher = \OC::$server->get(IEventDispatcher::class);
+$eventDispatcher->dispatchTyped($event);
 
 // And off we go!
 $server->exec();

+ 25 - 0
lib/public/SabrePublicPluginEvent.php

@@ -0,0 +1,25 @@
+<?php
+/**
+ * @copyright Julien Veyssier <eneiluj@posteo.net> 2022
+ *
+ * @author Julien Veyssier <eneiluj@posteo.net>
+ *
+ * @license AGPL-3.0-or-later
+ *
+ * This code is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License, version 3,
+ * as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License, version 3,
+ * along with this program. If not, see <http://www.gnu.org/licenses/>
+ *
+ */
+namespace OCP;
+
+class SabrePublicPluginEvent extends SabrePluginEvent {
+}