/**
  * Creates a new addressbook
  *
  * @param string $name
  * @param array $resourceType
  * @param array $properties
  * @return void
  */
 public function createExtendedCollection($name, array $resourceType, array $properties)
 {
     if (!in_array('{' . Plugin::NS_CARDDAV . '}addressbook', $resourceType) || count($resourceType) !== 2) {
         throw new DAV\Exception\InvalidResourceType('Unknown resourceType for this collection');
     }
     $this->carddavBackend->createAddressBook($this->principalUri, $name, $properties);
 }
예제 #2
0
 /**
  * Deletes the card
  *
  * @return void
  */
 public function delete()
 {
     $this->carddavBackend->deleteCard($this->addressBookInfo['id'], $this->cardData['uri']);
 }
예제 #3
0
 /**
  * Updates properties on this node,
  *
  * The properties array uses the propertyName in clark-notation as key,
  * and the array value for the property value. In the case a property
  * should be deleted, the property value will be null.
  *
  * This method must be atomic. If one property cannot be changed, the
  * entire operation must fail.
  *
  * If the operation was successful, true can be returned.
  * If the operation failed, false can be returned.
  *
  * Deletion of a non-existent property is always successful.
  *
  * Lastly, it is optional to return detailed information about any
  * failures. In this case an array should be returned with the following
  * structure:
  *
  * array(
  *   403 => array(
  *      '{DAV:}displayname' => null,
  *   ),
  *   424 => array(
  *      '{DAV:}owner' => null,
  *   )
  * )
  *
  * In this example it was forbidden to update {DAV:}displayname.
  * (403 Forbidden), which in turn also caused {DAV:}owner to fail
  * (424 Failed Dependency) because the request needs to be atomic.
  *
  * @param array $mutations
  * @return bool|array
  */
 public function updateProperties($mutations)
 {
     return $this->carddavBackend->updateAddressBook($this->addressBookInfo['id'], $mutations);
 }