/** * Creates a new calendar * * @param string $name * @param array $resourceType * @param array $properties * @return void */ public function createExtendedCollection($name, array $resourceType, array $properties) { if (!in_array('{urn:ietf:params:xml:ns:caldav}calendar', $resourceType) || count($resourceType) !== 2) { throw new Sabre_DAV_Exception_InvalidResourceType('Unknown resourceType for this collection'); } $this->caldavBackend->createCalendar($this->principalInfo['uri'], $name, $properties); }
/** * Creates a new calendar * * @param string $name * @param array $resourceType * @param array $properties * @return void */ public function createExtendedCollection($name, array $resourceType, array $properties) { $isCalendar = false; foreach ($resourceType as $rt) { switch ($rt) { case '{DAV:}collection': case '{http://calendarserver.org/ns/}shared-owner': // ignore break; case '{urn:ietf:params:xml:ns:caldav}calendar': $isCalendar = true; break; default: throw new Sabre_DAV_Exception_InvalidResourceType('Unknown resourceType: ' . $rt); } } if (!$isCalendar) { throw new Sabre_DAV_Exception_InvalidResourceType('You can only create calendars in this collection'); } $this->caldavBackend->createCalendar($this->principalInfo['uri'], $name, $properties); }