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)
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.
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
DELETE a text/icalendar resource
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.
Get a single item from the server.
void
DoGETRequest
(string $relative_url)
-
string
$relative_url: The part of the URL after the calendar
Send an OPTIONS request to the server
array
DoOptionsRequest
([string $relative_url = ""])
-
string
$relative_url: The URL to make the request to, relative to $base_url
PUT a text/icalendar resource, returning the etag
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.
Send a request to the server
string
DoRequest
([string $relative_url = ""])
-
string
$relative_url: The URL to make the request to, relative to $base_url
Send an XML request to the server (e.g. PROPFIND, REPORT, MKCALENDAR)
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
Get the calendar entry by HREF
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 ''.
Get the calendar entry by UID
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
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.
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 ''.
Output http request headers
HTTP
GetHttpRequest
()
Output http response headers
HTTP
GetHttpResponse
()
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.
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 ''.
Output xml request
raw
GetXmlRequest
()
Output xml response
raw
GetXmlResponse
()
Split response into httpResponse and xmlResponse
void
ParseResponse
(string $response)
-
string
$response: Response from server
Add a Content-type: header.
void
SetContentType
(int $type)
-
int
$type: The content type
void
SetDepth
([ $depth = '0'])
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.
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