Esempio n. 1
0
 /**
  * Creates a new collection.
  *
  * This method will receive a MkCol object with all the information about
  * the new collection that's being created.
  *
  * The MkCol object contains information about the resourceType of the new
  * collection. If you don't support the specified resourceType, you should
  * throw Exception\InvalidResourceType.
  *
  * The object also contains a list of WebDAV properties for the new
  * collection.
  *
  * You should call the handle() method on this object to specify exactly
  * which properties you are storing. This allows the system to figure out
  * exactly which properties you didn't store, which in turn allows other
  * plugins (such as the propertystorage plugin) to handle storing the
  * property for you.
  *
  * @param string $name
  * @param MkCol $mkCol
  * @throws Exception\InvalidResourceType
  * @return void
  */
 function createExtendedCollection($name, MkCol $mkCol)
 {
     if (!$mkCol->hasResourceType('{DAV:}principal')) {
         throw new InvalidResourceType('Only resources of type {DAV:}principal may be created here');
     }
     $this->principalBackend->createPrincipal($this->principalPrefix . '/' . $name, $mkCol);
 }
Esempio n. 2
0
 /**
  * Creates a new address book.
  *
  * @param string $name
  * @param MkCol $mkCol
  * @throws DAV\Exception\InvalidResourceType
  * @return void
  */
 function createExtendedCollection($name, MkCol $mkCol)
 {
     if (!$mkCol->hasResourceType('{' . Plugin::NS_CARDDAV . '}addressbook')) {
         throw new DAV\Exception\InvalidResourceType('Unknown resourceType for this collection');
     }
     $properties = $mkCol->getRemainingValues();
     $mkCol->setRemainingResultCode(201);
     $this->carddavBackend->createAddressBook($this->principalUri, $name, $properties);
 }