/** * @param string $principal * @param string $id * @param array $properties * @return array|null * @throws \Sabre\DAV\Exception\BadRequest */ protected function ensureSystemAddressBookExists($principal, $id, $properties) { $book = $this->backend->getAddressBooksByUri($id); if (!is_null($book)) { return $book; } $this->backend->createAddressBook($principal, $id, $properties); return $this->backend->getAddressBooksByUri($id); }
protected function ensureSystemAddressBookExists() { $book = $this->backend->getAddressBooksByUri('system'); if (!is_null($book)) { return $book; } $systemPrincipal = "principals/system/system"; $this->backend->createAddressBook($systemPrincipal, 'system', ['{' . Plugin::NS_CARDDAV . '}addressbook-description' => 'System addressbook which holds all users of this instance']); return $this->backend->getAddressBooksByUri('system'); }
/** * @param string $user */ public function migrateForUser($user) { $this->adapter->foreachBook($user, function ($book) use($user) { $principal = "principals/users/{$user}"; $knownBooks = $this->backend->getAddressBooksByUri($principal, $book['uri']); if (!is_null($knownBooks)) { return; } $newId = $this->backend->createAddressBook($principal, $book['uri'], ['{DAV:}displayname' => $book['displayname'], '{' . Plugin::NS_CARDDAV . '}addressbook-description' => $book['description']]); $this->migrateBook($book['id'], $newId); $this->migrateShares($book['id'], $newId); }); }
public function getProjectBook() { $principal = 'principals/users/' . $this->fakeUser; return $this->cardDavBackend->getAddressBooksByUri($principal, 'project_contacts'); }