示例#1
0
 /**
  * @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);
 }
示例#2
0
 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');
 }
示例#3
0
 /**
  * @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);
     });
 }
示例#4
0
 public function getProjectBook()
 {
     $principal = 'principals/users/' . $this->fakeUser;
     return $this->cardDavBackend->getAddressBooksByUri($principal, 'project_contacts');
 }