From b958725f78ade3f116001ee6dd66432bffa41748 Mon Sep 17 00:00:00 2001 From: Georg Ehrke Date: Wed, 11 Oct 2017 13:14:56 +0200 Subject: [PATCH] Make it possible to opt out of IMip Plugin for CalDAV Signed-off-by: Georg Ehrke --- apps/dav/appinfo/v1/caldav.php | 7 ++++++- apps/dav/lib/Server.php | 5 ++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/apps/dav/appinfo/v1/caldav.php b/apps/dav/appinfo/v1/caldav.php index bd9de775f4..b10143208e 100644 --- a/apps/dav/appinfo/v1/caldav.php +++ b/apps/dav/appinfo/v1/caldav.php @@ -52,6 +52,7 @@ $dispatcher = \OC::$server->getEventDispatcher(); $calDavBackend = new CalDavBackend($db, $principalBackend, $userManager, $random, $dispatcher, true); $debugging = \OC::$server->getConfig()->getSystemValue('debug', false); +$sendInvitations = \OC::$server->getConfig()->getAppValue('dav', 'sendInvitations', 'yes') === 'yes'; // Root nodes $principalCollection = new \Sabre\CalDAV\Principal\Collection($principalBackend); @@ -84,7 +85,11 @@ if ($debugging) { $server->addPlugin(new \Sabre\DAV\Sync\Plugin()); $server->addPlugin(new \Sabre\CalDAV\ICSExportPlugin()); $server->addPlugin(new \OCA\DAV\CalDAV\Schedule\Plugin()); -$server->addPlugin(new \OCA\DAV\CalDAV\Schedule\IMipPlugin( \OC::$server->getMailer(), \OC::$server->getLogger(), new \OC\AppFramework\Utility\TimeFactory())); + +if ($sendInvitations) { + $server->addPlugin(new \OCA\DAV\CalDAV\Schedule\IMipPlugin( \OC::$server->getMailer(), \OC::$server->getLogger(), new \OC\AppFramework\Utility\TimeFactory())); +} + $server->addPlugin(new ExceptionLoggerPlugin('caldav', \OC::$server->getLogger())); // And off we go! diff --git a/apps/dav/lib/Server.php b/apps/dav/lib/Server.php index 6f3ab3971e..bfb67e2e5f 100644 --- a/apps/dav/lib/Server.php +++ b/apps/dav/lib/Server.php @@ -76,6 +76,7 @@ class Server { $mailer = \OC::$server->getMailer(); $dispatcher = \OC::$server->getEventDispatcher(); $timezone = new TimeFactory(); + $sendInvitations = \OC::$server->getConfig()->getAppValue('dav', 'sendInvitations', 'yes') === 'yes'; $root = new RootCollection(); $this->server = new \OCA\DAV\Connector\Sabre\Server(new CachingTree($root)); @@ -137,7 +138,9 @@ class Server { $this->server->addPlugin(new \OCA\DAV\CalDAV\Plugin()); $this->server->addPlugin(new \Sabre\CalDAV\ICSExportPlugin()); $this->server->addPlugin(new \OCA\DAV\CalDAV\Schedule\Plugin()); - $this->server->addPlugin(new IMipPlugin($mailer, $logger, $timezone)); + if ($sendInvitations) { + $this->server->addPlugin(new IMipPlugin($mailer, $logger, $timezone)); + } $this->server->addPlugin(new \Sabre\CalDAV\Subscriptions\Plugin()); $this->server->addPlugin(new \Sabre\CalDAV\Notifications\Plugin()); $this->server->addPlugin(new DAV\Sharing\Plugin($authBackend, \OC::$server->getRequest()));