Lines Matching +full:- +full:- +full:strip +full:- +full:components

8  * PDO CalDAV backend for DokuWiki - based on Sabre's CalDAV backend
10 * This backend is used to store calendar-data in a PDO database, such as
13 * @copyright Copyright (C) 2007-2015 fruux GmbH (https://fruux.com/).
31 * Note that only string-based properties are supported here.
37 '{urn:ietf:params:xml:ns:caldav}calendar-description' => 'description',
38 '{urn:ietf:params:xml:ns:caldav}calendar-timezone' => 'timezone',
39 //'{http://apple.com/ns/ical/}calendar-order' => 'calendarorder',
40 //'{http://apple.com/ns/ical/}calendar-color' => 'calendarcolor',
51 $this->hlp = $hlp;
69 * {urn:ietf:params:xml:ns:caldav}supported-calendar-component-set
73 * If you return {http://sabredav.org/ns}read-only and set the value to 1,
74 * ACL will automatically be put in read-only mode.
82 $fields = array_values($this->propertyMap);
86 $fields[] = 'components';
90 $idInfo = $this->hlp->getCalendarIdsForUser($principalUri);
94 $row = $this->hlp->getCalendarSettings($id);
98 …\dokuwiki\Logger::debug('DAVCAL', 'Skipping calendar '.$id.' - settings not found', __FILE__, __LI…
102 $components = array();
103 if ($row['components'])
105 $components = explode(',', $row['components']);
113 …'{http://sabredav.org/ns}sync-token' => $row['synctoken'] ? $row['…
114 …lugin::NS_CALDAV . '}supported-calendar-component-set' => new CalDAV\Xml\Property\SupportedCalenda…
115 …//'{' . CalDAV\Plugin::NS_CALDAV . '}schedule-calendar-transp' => new CalDAV\Xml\Property\…
118 $calendar['{http://sabredav.org/ns}read-only'] = '1';
121 foreach ($this->propertyMap as $xmlName => $dbName)
170 $supportedProperties = array_keys($this->propertyMap);
172 $propPatch->handle($supportedProperties, function($mutations) use ($calendarId)
181 $this->hlp->updateCalendarName($calendarId, $propertyValue);
183 case '{urn:ietf:params:xml:ns:caldav}calendar-description':
185 $this->hlp->updateCalendarDescription($calendarId, $propertyValue);
187 case '{urn:ietf:params:xml:ns:caldav}calendar-timezone':
189 $this->hlp->updateCalendarTimezone($calendarId, $propertyValue);
218 * * calendardata - The iCalendar-compatible calendar data
219 * * uri - a unique key which will be used to construct the uri. This can
223 * * lastmodified - a timestamp of the last modification time
224 * * etag - An arbitrary string, surrounded by double-quotes. (e.g.:
226 * * size - The size of the calendar objects, in bytes.
227 * * component - optional, a string containing the type of object, such
229 * the Content-Type header.
248 $arr = $this->hlp->getCalendarObjects($calendarId);
286 $row = $this->hlp->getCalendarObjectByUri($calendarId, $objectUri);
310 * If the backend supports this, it may allow for some speed-ups.
320 $arr = $this->hlp->getMultipleCalendarObjectsByUri($calendarId, $uris);
351 * by double-quotes.
354 * calendar-data. If the result of a subsequent GET to this object is not
366 $etag = $this->hlp->addCalendarEntryToCalendarByICS($calendarId, $objectUri, $calendarData);
379 * by double-quotes.
382 * calendar-data. If the result of a subsequent GET to this object is not
394 … $etag = $this->hlp->editCalendarEntryToCalendarByICS($calendarId, $objectUri, $calendarData);
414 $this->hlp->deleteCalendarEntryForCalendarByUri($calendarId, $objectUri);
419 * Performs a calendar-query on the contents of this calendar.
421 * The calendar-query is defined in RFC4791 : CalDAV. Using the
422 * calendar-query it is possible for a client to request a specific set of
423 * object, based on contents of iCalendar properties, date-ranges and
449 * * requests with a time-range-filter on a VEVENT.
455 * Note that especially time-range-filters may be difficult to parse. A
456 * time-range filter specified on a VEVENT must for instance also handle
464 * specific components, and VEVENT time-ranges.
474 $result = $this->hlp->calendarQuery($calendarId, $filters);
501 $calids = array_keys($this->hlp->getCalendarIsForUser($principalUri));
502 $event = $this->hlp->getEventWithUid($uid);
506 $settings = $this->hlp->getCalendarSettings($event['calendarid']);
533 * of the calendar, as reported in the {http://sabredav.org/ns}sync-token
571 $result = $this->hlp->getChangesForCalendar($calendarId, $syncToken, $syncLevel, $limit);
591 * 3. {http://calendarserver.org/ns/}subscribed-strip-todos (omit if todos
593 * 4. {http://calendarserver.org/ns/}subscribed-strip-alarms (omit if alarms
595 * 5. {http://calendarserver.org/ns/}subscribed-strip-attachments (omit if
597 * 7. {http://apple.com/ns/ical/}calendar-color
598 * 8. {http://apple.com/ns/ical/}calendar-order
599 * 9. {urn:ietf:params:xml:ns:caldav}supported-calendar-component-set
602 * default components).
671 * * uri - A unique basename for the object. This will be used to
673 * * calendardata - The iCalendar object
674 * * lastmodified - The last modification date. Can be an int for a unix
676 * * etag - A unique token that must change if the object changed.
677 * * size - The size of the object, in bytes.