summaryrefslogtreecommitdiffstats
path: root/apps/dav/appinfo/app.php
diff options
context:
space:
mode:
Diffstat (limited to 'apps/dav/appinfo/app.php')
-rw-r--r--apps/dav/appinfo/app.php15
1 files changed, 15 insertions, 0 deletions
diff --git a/apps/dav/appinfo/app.php b/apps/dav/appinfo/app.php
index d33545222b0..5202e3d38b8 100644
--- a/apps/dav/appinfo/app.php
+++ b/apps/dav/appinfo/app.php
@@ -20,6 +20,7 @@
*/
use OCA\Dav\AppInfo\Application;
+use Symfony\Component\EventDispatcher\GenericEvent;
$app = new Application();
$app->registerHooks();
@@ -28,6 +29,20 @@ $app->registerHooks();
return $app->getSyncService();
});
+$eventDispatcher = \OC::$server->getEventDispatcher();
+
+$eventDispatcher->addListener('OCP\Federation\TrustedServerEvent::remove',
+ function(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);
+ if (!is_null($addressBook)) {
+ $cardDavBackend->deleteAddressBook($addressBook['id']);
+ }
+ }
+);
+
$cm = \OC::$server->getContactsManager();
$cm->register(function() use ($cm, $app) {
$userId = \OC::$server->getUserSession()->getUser()->getUID();