Class Sabre_CalDAV_Plugin

Description

CalDAV plugin

This plugin provides functionality added by CalDAV (RFC 4791) It implements new reports, and the MKCALENDAR method.

  • author: Evert Pot (http://www.rooftopsolutions.nl/)
  • copyright: Copyright (C) 2007-2010 Rooftop Solutions. All rights reserved.
  • license: Modified BSD License

Located in /sources_custom/Sabre/CalDAV/Plugin.php (line 15)

Sabre_DAV_ServerPlugin
   |
   --Sabre_CalDAV_Plugin
Class Constant Summary
 CALENDAR_ROOT = 'calendars'
 NS_CALDAV = 'urn:ietf:params:xml:ns:caldav'
 NS_CALENDARSERVER = 'http://calendarserver.org/ns/'
Method Summary
void afterGetProperties (string $path,  &$properties, array $properties)
void calendarMultiGetReport (DOMNode $dom)
void calendarQueryReport (DOMNode $dom)
array getFeatures ()
array getHTTPMethods (string $uri)
void httpMkCalendar (string $uri)
void initialize (Sabre_DAV_Server $server)
bool report (string $reportName, DOMNode $dom)
void substringMatch ( $haystack,  $needle,  $collation)
bool unknownMethod (string $method,  $uri)
bool validateFilters (string $calendarData, array $filters)
Methods
afterGetProperties (line 215)

afterGetProperties

This method handler is invoked after properties for a specific resource are received. This allows us to add any properties that might have been missing.

  • access: public
void afterGetProperties (string $path,  &$properties, array $properties)
  • string $path
  • array $properties
  • &$properties
calendarMultiGetReport (line 273)

This function handles the calendar-multiget REPORT.

This report is used by the client to fetch the content of a series of urls. Effectively avoiding a lot of redundant requests.

  • access: public
void calendarMultiGetReport (DOMNode $dom)
  • DOMNode $dom
calendarQueryReport (line 300)

This function handles the calendar-query REPORT

This report is used by clients to request calendar objects based on complex conditions.

  • access: public
void calendarQueryReport (DOMNode $dom)
  • DOMNode $dom
getFeatures (line 84)

Returns a list of features for the DAV: HTTP header.

  • access: public
array getFeatures ()

Redefinition of:
Sabre_DAV_ServerPlugin::getFeatures()
This method should return a list of server-features.
getHTTPMethods (line 60)

Use this method to tell the server this plugin defines additional HTTP methods.

This method is passed a uri. It should only return HTTP methods that are available for the specified uri.

  • access: public
array getHTTPMethods (string $uri)
  • string $uri

Redefinition of:
Sabre_DAV_ServerPlugin::getHTTPMethods()
Use this method to tell the server this plugin defines additional HTTP methods.
httpMkCalendar (line 174)

This function handles the MKCALENDAR HTTP method, which creates a new calendar.

  • access: public
void httpMkCalendar (string $uri)
  • string $uri
initialize (line 96)

Initializes the plugin

  • access: public
void initialize (Sabre_DAV_Server $server)

Redefinition of:
Sabre_DAV_ServerPlugin::initialize()
This initializes the plugin.
report (line 150)

This functions handles REPORT requests specific to CalDAV

  • access: public
bool report (string $reportName, DOMNode $dom)
  • string $reportName
  • DOMNode $dom
substringMatch (line 688)
  • access: public
void substringMatch ( $haystack,  $needle,  $collation)
  • $haystack
  • $needle
  • $collation
unknownMethod (line 133)

This function handles support for the MKCALENDAR method

  • access: public
bool unknownMethod (string $method,  $uri)
  • string $method
  • $uri
validateFilters (line 358)

Verify if a list of filters applies to the calendar data object

The calendarData object must be a valid iCalendar blob. The list of filters must be formatted as parsed by Sabre_CalDAV_Plugin::parseCalendarQueryFilters

  • access: public
bool validateFilters (string $calendarData, array $filters)
  • string $calendarData
  • array $filters

Inherited Methods

Inherited From Sabre_DAV_ServerPlugin

Sabre_DAV_ServerPlugin::getFeatures()
Sabre_DAV_ServerPlugin::getHTTPMethods()
Sabre_DAV_ServerPlugin::initialize()
Class Constants
CALENDAR_ROOT = 'calendars' (line 41)

The hardcoded root for calendar objects. It is unfortunate

that we're stuck with it, but it will have to do for now

FILTER_COMPFILTER = 1 (line 31)

The following constants are used to differentiate

the various filters for the calendar-query report

FILTER_PARAMFILTER = 5 (line 34)
FILTER_PROPFILTER = 4 (line 33)
FILTER_TEXTMATCH = 6 (line 35)
FILTER_TIMERANGE = 3 (line 32)
NS_CALDAV = 'urn:ietf:params:xml:ns:caldav' (line 20)

This is the official CalDAV namespace

NS_CALENDARSERVER = 'http://calendarserver.org/ns/' (line 25)

This is the namespace for the proprietary calendarserver extensions

Documentation generated on Sun, 02 Jan 2011 23:22:20 +0000 by phpDocumentor 1.4.3