backend = $backend; $this->l10n = $l10n; } /** * @param IManager $cm * @param string $userId * @param IURLGenerator $urlGenerator */ public function setupContactsProvider(IManager $cm, $userId, IURLGenerator $urlGenerator) { $addressBooks = $this->backend->getAddressBooksForUser("principals/users/$userId"); $this->register($cm, $addressBooks, $urlGenerator); $this->setupSystemContactsProvider($cm, $urlGenerator); } /** * @param IManager $cm * @param IURLGenerator $urlGenerator */ public function setupSystemContactsProvider(IManager $cm, IURLGenerator $urlGenerator) { $addressBooks = $this->backend->getAddressBooksForUser('principals/system/system'); $this->register($cm, $addressBooks, $urlGenerator); } /** * @param IManager $cm * @param $addressBooks * @param IURLGenerator $urlGenerator */ private function register(IManager $cm, $addressBooks, $urlGenerator) { foreach ($addressBooks as $addressBookInfo) { $addressBook = new \OCA\DAV\CardDAV\AddressBook($this->backend, $addressBookInfo, $this->l10n); $cm->registerAddressBook( new AddressBookImpl( $addressBook, $addressBookInfo, $this->backend, $urlGenerator ) ); } } }