summaryrefslogtreecommitdiffstats
path: root/apps/dav
diff options
context:
space:
mode:
authorBjoern Schiessle <schiessle@owncloud.com>2016-02-26 16:59:53 +0100
committerBjoern Schiessle <schiessle@owncloud.com>2016-02-29 16:50:33 +0100
commit7189c72c33a03d57473f7e3443193d07bece7c15 (patch)
tree8b61c06e4006f2426037e92d1d65008d6976022c /apps/dav
parenteccd7cf6548e1ea639aea48cbf7e52e95dc98c11 (diff)
downloadnextcloud-server-7189c72c33a03d57473f7e3443193d07bece7c15.tar.gz
nextcloud-server-7189c72c33a03d57473f7e3443193d07bece7c15.zip
remove remote address book if the admin removes the server from the trusted servers list
Diffstat (limited to 'apps/dav')
-rw-r--r--apps/dav/appinfo/app.php12
1 files changed, 12 insertions, 0 deletions
diff --git a/apps/dav/appinfo/app.php b/apps/dav/appinfo/app.php
index d33545222b0..a38bee9824a 100644
--- a/apps/dav/appinfo/app.php
+++ b/apps/dav/appinfo/app.php
@@ -28,6 +28,18 @@ $app->registerHooks();
return $app->getSyncService();
});
+$eventDispatcher = \OC::$server->getEventDispatcher();
+
+$eventDispatcher->addListener('OCP\Federation\TrustedServerEvent::remove',
+ function(\Symfony\Component\EventDispatcher\GenericEvent $event) use ($app) {
+ /** @var \OCA\DAV\CardDAV\CardDavBackend $cardDavBackend */
+ $cardDavBackend = $app->getContainer()->query('CardDavBackend');
+ $addressBookUri = $event->getSubject();
+ $addressBook = $cardDavBackend->getAddressBooksByUri('principals/system/system', $addressBookUri);
+ $cardDavBackend->deleteAddressBook($addressBook['id']);
+ }
+);
+
$cm = \OC::$server->getContactsManager();
$cm->register(function() use ($cm, $app) {
$userId = \OC::$server->getUserSession()->getUser()->getUID();