Constructor, initialises the class
CalDAVClient
__construct
(string $base_url, string $user, string $pass)
-
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
Get/Set the calendar-home-set URL
void
CalendarHomeSet
([$url $urls = null])
-
$url
$urls: array of string The calendar-home-set URLs to set
Get/Set the calendar-home-set URL
void
CalendarUrls
([$urls $urls = null])
-
$urls
$urls: array of string The calendar URLs to set
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 $url, [string $etag = null])
-
string
$url: The URL to make the request to
-
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 $url)
-
string
$url: The URL to GET
Send an OPTIONS request to the server
array
DoOptionsRequest
([string $url = null])
-
string
$url: The URL to make the request to
Get a single item from the server.
void
DoPROPFINDRequest
(string $url, $props, [ $depth = 0])
-
string
$url: The URL to PROPFIND on
-
$props
-
$depth
PUT a text/icalendar resource, returning the etag
string
DoPUTRequest
(string $url, string $icalendar, [string $etag = null])
-
string
$url: The URL to make the request to
-
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 $url = null])
-
string
$url: The URL to make the request to
Send an XML request to the server (e.g. PROPFIND, REPORT, MKCALENDAR)
array
DoXMLRequest
( $request_method, string $xml, [string $url = null], 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
$url: The URL to make the request to
-
$request_method
Attack the given URL in an attempt to find a principal URL
void
FindCalendarHome
([ $recursed = false], string $url)
-
string
$url: The URL to find the calendar-home-set from
-
$recursed
Find the calendars, from the calendar_home_set
void
FindCalendars
([ $recursed = false])
Attack the given URL in an attempt to find a principal URL
void
FindPrincipal
(string $url)
-
string
$url: The URL to find the principal-URL from
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
()
Return the <prop> ... </prop> of a propstat where the status is OK
void
GetOKProps
(string $nodenum)
-
string
$nodenum: The node number in the xmlnodes which is the href
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
()
Return the href which has a resourcetype of the specified type
void
HrefForResourcetype
(string $tagname, [ $i = 0], integer $which)
-
string
$tagname: The tag name of the resourcetype to find the href for
-
integer
$which: Which instance of the tag should we use
-
$i
Return the first occurrence of an href inside the named tag.
void
HrefValueInside
(string $tagname)
-
string
$tagname: The tag name to find the href inside of
Split response into httpResponse and xmlResponse
void
ParseResponse
(string $response)
-
string
$response: Response from server
Get/Set the Principal URL
void
PrincipalURL
([$url $url = null])
-
$url
$url: string The Principal URL to set
Add a Content-type: header.
void
SetContentType
(int $type)
-
int
$type: The content type
Add a Depth: header. Valid values are 0, 1 or infinity
void
SetDepth
([int $depth = '0'])
-
int
$depth: The depth, default to infinity
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