Class CalDAVClient

Description

A class for accessing DAViCal via CalDAV, as a client

Located in /inc/caldav-client.php (line 21)


	
			
Variable Summary
 string $base_url
 mixed $body
 mixed $calendar
 mixed $entry
 mixed $headers
 mixed $httpRequest
 mixed $pass
 mixed $port
 mixed $protocol
 mixed $server
 mixed $user
 string $user_agent
 mixed $xmlRequest
 mixed $xmlResponse
Method Summary
 CalDAVClient CalDAVClient (string $base_url, string $user, string $pass, [string $calendar = ''])
 array DoCalendarQuery (string $filter, [string $relative_url = ''], string $report_type)
 int DoDELETERequest (string $relative_url, [string $etag = null])
 void DoGETRequest (string $relative_url)
 array DoOptionsRequest ([string $relative_url = ""])
 string DoPUTRequest (string $relative_url, string $icalendar, [string $etag = null])
 string DoRequest ([string $relative_url = ""])
 array DoXMLRequest ( $request_method, string $xml, [string $relative_url = ''], string $method)
 string GetEntryByHref (string $href, [string $relative_url = ''])
 array GetEntryByUid (uid $uid, [string $relative_url = ''])
 array GetEvents ([timestamp $start = null], [timestamp $finish = null], [string $relative_url = ''])
 HTTP GetHttpRequest ()
 HTTP GetHttpResponse ()
 array GetTodos (timestamp $start, timestamp $finish, [boolean $completed = false], [boolean $cancelled = false], [string $relative_url = ""])
 raw GetXmlRequest ()
 void ParseResponse (string $response)
 void SetContentType (int $type)
 void SetDepth ([ $depth = '0'])
 void SetMatch (bool $match, [string $etag = '*'])
 void SetUserAgent ([ $user_agent = null], int $depth)
Variables
string $base_url (line 27)

Server, username, password, calendar

mixed $body = "" (line 37)
mixed $calendar (line 27)
mixed $entry (line 27)
mixed $headers = array() (line 36)
mixed $httpRequest = "" (line 39)
mixed $httpResponse = "" (line 41)
mixed $pass (line 27)
mixed $port (line 27)
mixed $protocol (line 27)
mixed $requestMethod = "GET" (line 38)
mixed $server (line 27)
mixed $user (line 27)
string $user_agent = 'DAViCalClient' (line 34)

The useragent which is send to the caldav server

mixed $xmlRequest = "" (line 40)
mixed $xmlResponse = "" (line 42)
Methods
Constructor CalDAVClient (line 52)

Constructor, initialises the class

CalDAVClient CalDAVClient (string $base_url, string $user, string $pass, [string $calendar = ''])
  • string $base_url: The URL for the calendar server
  • string $user: The name of the user logging in
  • string $pass: The password for that user
  • string $calendar: The name of the calendar (not currently used)
DoCalendarQuery (line 312)

Given XML for a calendar query, return an array of the events (/todos) in the response. Each event in the array will have a 'href', 'etag' and '$response_type' part, where the 'href' is relative to the calendar and the '$response_type' contains the definition of the calendar data in iCalendar format.

  • return: An array of the relative URLs, etags, and events from the server. Each element of the array will be an array with 'href', 'etag' and 'data' elements, corresponding to the URL, the server-supplied etag (which only varies when the data changes) and the calendar data in iCalendar format.
array DoCalendarQuery (string $filter, [string $relative_url = ''], string $report_type)
  • string $filter: XML fragment which is the <filter> element of a calendar-query
  • string $relative_url: The URL relative to the base_url specified when the calendar was opened. Default ''.
  • string $report_type: Used as a name for the array element containing the calendar data. @deprecated
DoDELETERequest (line 286)

DELETE a text/icalendar resource

  • return: The HTTP Result Code for the DELETE
int DoDELETERequest (string $relative_url, [string $etag = null])
  • string $relative_url: The URL to make the request to, relative to $base_url
  • string $etag: The etag of an existing resource to be deleted, or '*' for any resource at that URL.
DoGETRequest (line 243)

Get a single item from the server.

void DoGETRequest (string $relative_url)
  • string $relative_url: The part of the URL after the calendar
DoOptionsRequest (line 209)

Send an OPTIONS request to the server

  • return: The allowed options
array DoOptionsRequest ([string $relative_url = ""])
  • string $relative_url: The URL to make the request to, relative to $base_url
DoPUTRequest (line 259)

PUT a text/icalendar resource, returning the etag

  • return: The content of the response from the server
string DoPUTRequest (string $relative_url, string $icalendar, [string $etag = null])
  • string $relative_url: The URL to make the request to, relative to $base_url
  • string $icalendar: The iCalendar resource to send to the server
  • string $etag: The etag of an existing resource to be overwritten, or '*' for a new resource.
DoRequest (line 172)

Send a request to the server

  • return: The content of the response from the server
string DoRequest ([string $relative_url = ""])
  • string $relative_url: The URL to make the request to, relative to $base_url
DoXMLRequest (line 229)

Send an XML request to the server (e.g. PROPFIND, REPORT, MKCALENDAR)

  • return: An array of the allowed methods
array DoXMLRequest ( $request_method, string $xml, [string $relative_url = ''], string $method)
  • string $method: The method (PROPFIND, REPORT, etc) to use with the request
  • string $xml: The XML to send along with the request
  • string $relative_url: The URL to make the request to, relative to $base_url
  • $request_method
GetEntryByHref (line 473)

Get the calendar entry by HREF

  • return: The iCalendar of the calendar entry
string GetEntryByHref (string $href, [string $relative_url = ''])
  • string $href: The href from a call to GetEvents or GetTodos etc.
  • string $relative_url: The URL relative to the base_url specified when the calendar was opened. Default ''.
GetEntryByUid (line 445)

Get the calendar entry by UID

  • return: An array of the relative URL, etag, and calendar data returned from DoCalendarQuery() @see DoCalendarQuery()
array GetEntryByUid (uid $uid, [string $relative_url = ''])
  • string $relative_url: The URL relative to the base_url specified when the calendar was opened. Default ''.
  • uid $uid
GetEvents (line 370)

Get the events in a range from $start to $finish. The dates should be in the

format yyyymmddThhmmssZ and should be in GMT. The events are returned as an array of event arrays. Each event array will have a 'href', 'etag' and 'event' part, where the 'href' is relative to the calendar and the event contains the definition of the event in iCalendar format.

  • return: An array of the relative URLs, etags, and events, returned from DoCalendarQuery() @see DoCalendarQuery()
array GetEvents ([timestamp $start = null], [timestamp $finish = null], [string $relative_url = ''])
  • timestamp $start: The start time for the period
  • timestamp $finish: The finish time for the period
  • string $relative_url: The URL relative to the base_url specified when the calendar was opened. Default ''.
GetHttpRequest (line 137)

Output http request headers

  • return: headers
HTTP GetHttpRequest ()
GetHttpResponse (line 145)

Output http response headers

  • return: headers
HTTP GetHttpResponse ()
GetTodos (line 406)

Get the todo's in a range from $start to $finish. The dates should be in the

format yyyymmddThhmmssZ and should be in GMT. The events are returned as an array of event arrays. Each event array will have a 'href', 'etag' and 'event' part, where the 'href' is relative to the calendar and the event contains the definition of the event in iCalendar format.

  • return: An array of the relative URLs, etags, and events, returned from DoCalendarQuery() @see DoCalendarQuery()
array GetTodos (timestamp $start, timestamp $finish, [boolean $completed = false], [boolean $cancelled = false], [string $relative_url = ""])
  • timestamp $start: The start time for the period
  • timestamp $finish: The finish time for the period
  • boolean $completed: Whether to include completed tasks
  • boolean $cancelled: Whether to include cancelled tasks
  • string $relative_url: The URL relative to the base_url specified when the calendar was opened. Default ''.
GetXmlRequest (line 153)

Output xml request

  • return: xml
raw GetXmlRequest ()
GetXmlResponse (line 161)

Output xml response

  • return: xml
raw GetXmlResponse ()
ParseResponse (line 121)

Split response into httpResponse and xmlResponse

void ParseResponse (string $response)
  • string $response: Response from server
SetContentType (line 112)

Add a Content-type: header.

void SetContentType (int $type)
  • int $type: The content type
SetDepth (line 93)
void SetDepth ([ $depth = '0'])
  • $depth
SetMatch (line 84)

Adds an If-Match or If-None-Match header

void SetMatch (bool $match, [string $etag = '*'])
  • bool $match: to Match or Not to Match, that is the question!
  • string $etag: The etag to match / not match against.
SetUserAgent (line 102)

Add a Depth: header. Valid values are 1 or infinity

void SetUserAgent ([ $user_agent = null], int $depth)
  • int $depth: The depth, default to infinity
  • $user_agent

Documentation generated on Fri, 13 Jan 2012 23:44:52 +1300 by phpDocumentor 1.4.3