Class: Sabre_CalDAV_Plugin

Source Location: /includes/classes/SabreDAV/lib/Sabre/CalDAV/Plugin.php

Class Overview [line 15]

Sabre_DAV_ServerPlugin
   |
   --Sabre_CalDAV_Plugin

CalDAV plugin

Author(s):

  • Evert Pot (http://www.rooftopsolutions.nl/)

Version:

Copyright:

  • Copyright (C) 2007-2010 Rooftop Solutions. All rights reserved.

Variables

Constants

Methods


Inherited Variables

Inherited Constants

Inherited Methods

Class: Sabre_DAV_ServerPlugin

Sabre_DAV_ServerPlugin::getFeatures()
This method should return a list of server-features.
Sabre_DAV_ServerPlugin::getHTTPMethods()
Use this method to tell the server this plugin defines additional HTTP methods.
Sabre_DAV_ServerPlugin::initialize()
This initializes the plugin.


Class Details

CalDAV plugin

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

Tags:

[ Top ]


Class Variables


Class Methods

afterGetProperties

void afterGetProperties( string $path, &$properties, array $properties)

[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.

Tags:

  • access - public

Parameters:

  • string $path -
  • array $properties -
  • &$properties -

[ Top ]

calendarMultiGetReport

void calendarMultiGetReport( DOMNode $dom)

[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.

Tags:

  • access - public

Parameters:

  • DOMNode $dom -

[ Top ]

calendarQueryReport

void calendarQueryReport( DOMNode $dom)

[line 300]

This function handles the calendar-query REPORT

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

Tags:

  • access - public

Parameters:

  • DOMNode $dom -

[ Top ]

getFeatures

array getFeatures( )

[line 84]

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

Tags:

  • access - public

Overrides Sabre_DAV_ServerPlugin::getFeatures() (This method should return a list of server-features.)

Parameters:

[ Top ]

getHTTPMethods

array getHTTPMethods( string $uri)

[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.

Tags:

  • access - public

Overrides Sabre_DAV_ServerPlugin::getHTTPMethods() (Use this method to tell the server this plugin defines additional HTTP methods.)

Parameters:

  • string $uri -

[ Top ]

httpMkCalendar

void httpMkCalendar( )

[line 173]

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

Tags:

  • access - public

Parameters:

[ Top ]

initialize

void initialize( Sabre_DAV_Server $server)

[line 96]

Initializes the plugin

Tags:

  • access - public

Overrides Sabre_DAV_ServerPlugin::initialize() (This initializes the plugin.)

Parameters:

[ Top ]

parseCalendarQueryFilters

array parseCalendarQueryFilters( DOMNode $domNode, [ $basePath = '/c:iCalendar'], [ &$filters = array()])

[line 345]

This function parses the calendar-query report request body

The body is quite complicated, so we're turning it into a PHP array.

Tags:

  • access - public

Parameters:

  • DOMNode $domNode -
  • $basePath -
  • &$filters -

[ Top ]

parseICalendarDate

DateTime parseICalendarDate( string $date, DateTimeZone $tz)

[line 811]

Parses an iCalendar (rfc5545) formatted datetime and returns a DateTime object

Tags:

  • access - public

Parameters:

  • string $date -
  • DateTimeZone $tz -

[ Top ]

parseICalendarDateTime

DateTime parseICalendarDateTime( string $dt, [ $tz = null])

[line 784]

Parses an iCalendar (rfc5545) formatted datetime and returns a DateTime object

Specifying a reference timezone is optional. It will only be used if the non-UTC format is used. The argument is used as a reference, the returned DateTime object will still be in the UTC timezone.

Tags:

  • access - public

Parameters:

  • string $dt -
  • DateTimeZone $tz -

[ Top ]

parseICalendarDuration

string parseICalendarDuration( string $duration)

[line 838]

Parses an iCalendar (RFC5545) formatted duration and returns a string suitable for strtotime or DateTime::modify.

NOTE: When we require PHP 5.3 this can be replaced by the DateTimeInterval object, which supports ISO 8601 Intervals, which is a superset of ICalendar durations.

For now though, we're just gonna live with this messy system

Tags:

  • access - public

Parameters:

  • string $duration -

[ Top ]

report

bool report( string $reportName, DOMNode $dom)

[line 150]

This functions handles REPORT requests specific to CalDAV

Tags:

  • access - public

Parameters:

  • string $reportName -
  • DOMNode $dom -

[ Top ]

substringMatch

void substringMatch( $haystack, $needle, $collation)

[line 754]

Tags:

  • access - public

Parameters:

  • $haystack -
  • $needle -
  • $collation -

[ Top ]

unknownMethod

bool unknownMethod( string $method)

[line 133]

This function handles support for the MKCALENDAR method

Tags:

  • access - public

Parameters:

  • string $method -

[ Top ]

validateFilters

bool validateFilters( string $calendarData, array $filters)

[line 424]

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

Tags:

  • access - public

Parameters:

  • string $calendarData -
  • array $filters -

[ Top ]


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

[ Top ]

FILTER_COMPFILTER =  1

[line 31]

The following constants are used to differentiate

the various filters for the calendar-query report

[ Top ]

FILTER_PARAMFILTER =  5

[line 34]

[ Top ]

FILTER_PROPFILTER =  4

[line 33]

[ Top ]

FILTER_TEXTMATCH =  6

[line 35]

[ Top ]

FILTER_TIMERANGE =  3

[line 32]

[ Top ]

NS_CALDAV =  'urn:ietf:params:xml:ns:caldav'

[line 20]

This is the official CalDAV namespace

[ Top ]

NS_CALENDARSERVER =  'http://calendarserver.org/ns/'

[line 25]

This is the namespace for the proprietary calendarserver extensions

[ Top ]


Documentation generated on Mon, 31 May 2010 12:53:46 -0400 by phpDocumentor 1.4.3