diff options
author | Bjoern Schiessle <schiessle@owncloud.com> | 2016-02-26 16:59:53 +0100 |
---|---|---|
committer | Bjoern Schiessle <schiessle@owncloud.com> | 2016-02-29 16:50:33 +0100 |
commit | 7189c72c33a03d57473f7e3443193d07bece7c15 (patch) | |
tree | 8b61c06e4006f2426037e92d1d65008d6976022c /apps/dav | |
parent | eccd7cf6548e1ea639aea48cbf7e52e95dc98c11 (diff) | |
download | nextcloud-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.php | 12 |
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(); |