ILIAS
release_5-4 Revision v5.4.26-12-gabc799a52e6
|
Public Member Functions | |
getHTTPMethods ($uri) | |
Use this method to tell the server this plugin defines additional HTTP methods. More... | |
getCalendarHomeForPrincipal ($principalUrl) | |
Returns the path to a principal's calendar home. More... | |
getFeatures () | |
Returns a list of features for the DAV: HTTP header. More... | |
getPluginName () | |
Returns a plugin name. More... | |
getSupportedReportSet ($uri) | |
Returns a list of reports this plugin supports. More... | |
initialize (DAV\Server $server) | |
Initializes the plugin. More... | |
report ($reportName, $report, $path) | |
This functions handles REPORT requests specific to CalDAV. More... | |
httpMkCalendar (RequestInterface $request, ResponseInterface $response) | |
This function handles the MKCALENDAR HTTP method, which creates a new calendar. More... | |
propFind (DAV\PropFind $propFind, DAV\INode $node) | |
PropFind. More... | |
calendarMultiGetReport ($report) | |
This function handles the calendar-multiget REPORT. More... | |
calendarQueryReport ($report) | |
This function handles the calendar-query REPORT. More... | |
beforeWriteContent ($path, DAV\IFile $node, &$data, &$modified) | |
This method is triggered before a file gets updated with new content. More... | |
beforeCreateFile ($path, &$data, DAV\ICollection $parentNode, &$modified) | |
This method is triggered before a new file is created. More... | |
getSupportedPrivilegeSet (INode $node, array &$supportedPrivilegeSet) | |
This method is triggered whenever a subsystem reqeuests the privileges that are supported on a particular node. More... | |
htmlActionsPanel (DAV\INode $node, &$output) | |
This method is used to generate HTML output for the DAV. More... | |
httpAfterGet (RequestInterface $request, ResponseInterface $response) | |
This event is triggered after GET requests. More... | |
getPluginInfo () | |
Returns a bunch of meta-data about the plugin. More... | |
Public Member Functions inherited from Sabre\DAV\ServerPlugin | |
initialize (Server $server) | |
This initializes the plugin. More... | |
getFeatures () | |
This method should return a list of server-features. More... | |
getHTTPMethods ($path) | |
Use this method to tell the server this plugin defines additional HTTP methods. More... | |
getPluginName () | |
Returns a plugin name. More... | |
getSupportedReportSet ($uri) | |
Returns a list of reports this plugin supports. More... | |
getPluginInfo () | |
Returns a bunch of meta-data about the plugin. More... | |
Data Fields | |
const | NS_CALDAV = 'urn:ietf:params:xml:ns:caldav' |
This is the official CalDAV namespace. More... | |
const | NS_CALENDARSERVER = 'http://calendarserver.org/ns/' |
This is the namespace for the proprietary calendarserver extensions. More... | |
const | CALENDAR_ROOT = 'calendars' |
The hardcoded root for calendar objects. More... | |
Protected Member Functions | |
freeBusyQueryReport (Xml\Request\FreeBusyQueryReport $report) | |
This method is responsible for parsing the request and generating the response for the CALDAV:free-busy-query REPORT. More... | |
validateICalendar (&$data, $path, &$modified, RequestInterface $request, ResponseInterface $response, $isNew) | |
Checks if the submitted iCalendar data is in fact, valid. More... | |
Protected Attributes | |
$server | |
$maxResourceSize = 10000000 | |
The default PDO storage uses a MySQL MEDIUMBLOB for iCalendar data, which can hold up to 2^24 = 16777216 bytes. More... | |
CalDAV plugin.
This plugin provides functionality added by CalDAV (RFC 4791) It implements new reports, and the MKCALENDAR method.
Definition at line 28 of file Plugin.php.
Sabre\CalDAV\Plugin::beforeCreateFile | ( | $path, | |
& | $data, | ||
DAV\ICollection | $parentNode, | ||
& | $modified | ||
) |
This method is triggered before a new file is created.
This plugin uses this method to ensure that newly created calendar objects contain valid calendar data.
string | $path | |
resource | $data | |
DAV\ICollection | $parentNode | |
bool | $modified | Should be set to true, if this event handler changed &$data. |
Definition at line 790 of file Plugin.php.
References $data, $path, and Sabre\CalDAV\Plugin\validateICalendar().
Sabre\CalDAV\Plugin::beforeWriteContent | ( | $path, | |
DAV\IFile | $node, | ||
& | $data, | ||
& | $modified | ||
) |
This method is triggered before a file gets updated with new content.
This plugin uses this method to ensure that CalDAV objects receive valid calendar data.
string | $path | |
DAV\IFile | $node | |
resource | $data | |
bool | $modified | Should be set to true, if this event handler changed &$data. |
Definition at line 752 of file Plugin.php.
References $data, $path, Sabre\Uri\split(), and Sabre\CalDAV\Plugin\validateICalendar().
Sabre\CalDAV\Plugin::calendarMultiGetReport | ( | $report | ) |
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.
CalendarMultiGetReport | $report |
Definition at line 435 of file Plugin.php.
References $paths, $timeZone, Sabre\VObject\Reader\read(), and Sabre\Uri\split().
Referenced by Sabre\CalDAV\Plugin\report().
Sabre\CalDAV\Plugin::calendarQueryReport | ( | $report | ) |
This function handles the calendar-query REPORT.
This report is used by clients to request calendar objects based on complex conditions.
Xml\Request\CalendarQueryReport | $report |
Definition at line 506 of file Plugin.php.
References $path, $result, and Sabre\VObject\Reader\read().
Referenced by Sabre\CalDAV\Plugin\report().
|
protected |
This method is responsible for parsing the request and generating the response for the CALDAV:free-busy-query REPORT.
Xml\Request\FreeBusyQueryReport | $report |
Definition at line 670 of file Plugin.php.
References $calendar, $result, $url, $urls, and Sabre\VObject\Reader\read().
Referenced by Sabre\CalDAV\Plugin\report().
Sabre\CalDAV\Plugin::getCalendarHomeForPrincipal | ( | $principalUrl | ) |
Returns the path to a principal's calendar home.
The return url must not end with a slash. This function should return null in case a principal did not have a calendar home.
string | $principalUrl |
Definition at line 99 of file Plugin.php.
Referenced by Sabre\CalDAV\Plugin\propFind().
Sabre\CalDAV\Plugin::getFeatures | ( | ) |
Returns a list of features for the DAV: HTTP header.
Definition at line 121 of file Plugin.php.
Sabre\CalDAV\Plugin::getHTTPMethods | ( | $uri | ) |
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.
string | $uri |
Definition at line 70 of file Plugin.php.
References $name, and Sabre\Uri\split().
Sabre\CalDAV\Plugin::getPluginInfo | ( | ) |
Returns a bunch of meta-data about the plugin.
Providing this information is optional, and is mainly displayed by the Browser plugin.
The description key in the returned array may contain html and will not be sanitized.
Definition at line 1058 of file Plugin.php.
References Sabre\CalDAV\Plugin\getPluginName().
Sabre\CalDAV\Plugin::getPluginName | ( | ) |
Returns a plugin name.
Using this name other plugins will be able to access other plugins using DAV::getPlugin
Definition at line 135 of file Plugin.php.
Referenced by Sabre\CalDAV\Subscriptions\Plugin\getPluginInfo(), Sabre\CalDAV\Schedule\Plugin\getPluginInfo(), and Sabre\CalDAV\Plugin\getPluginInfo().
Sabre\CalDAV\Plugin::getSupportedPrivilegeSet | ( | INode | $node, |
array & | $supportedPrivilegeSet | ||
) |
This method is triggered whenever a subsystem reqeuests the privileges that are supported on a particular node.
INode | $node | |
array | $supportedPrivilegeSet |
Definition at line 970 of file Plugin.php.
Sabre\CalDAV\Plugin::getSupportedReportSet | ( | $uri | ) |
Returns a list of reports this plugin supports.
This will be used in the {DAV:}supported-report-set property. Note that you still need to subscribe to the 'report' event to actually implement them
string | $uri |
Definition at line 151 of file Plugin.php.
Sabre\CalDAV\Plugin::htmlActionsPanel | ( | DAV\INode | $node, |
& | $output | ||
) |
This method is used to generate HTML output for the DAV.
This allows us to generate an interface users can use to create new calendars.
DAV\INode | $node | |
string | $output |
Definition at line 989 of file Plugin.php.
References Sabre\VObject\$output.
Sabre\CalDAV\Plugin::httpAfterGet | ( | RequestInterface | $request, |
ResponseInterface | $response | ||
) |
This event is triggered after GET requests.
This is used to transform data into jCal, if this was requested.
RequestInterface | $request | |
ResponseInterface | $response |
Definition at line 1017 of file Plugin.php.
References $result, $vobj, Sabre\HTTP\MessageInterface\getBody(), Sabre\HTTP\MessageInterface\getHeader(), Sabre\HTTP\Util\negotiate(), Sabre\VObject\Reader\read(), Sabre\HTTP\MessageInterface\setBody(), and Sabre\HTTP\MessageInterface\setHeader().
Sabre\CalDAV\Plugin::httpMkCalendar | ( | RequestInterface | $request, |
ResponseInterface | $response | ||
) |
This function handles the MKCALENDAR HTTP method, which creates a new calendar.
RequestInterface | $request | |
ResponseInterface | $response |
Definition at line 270 of file Plugin.php.
References $path, Sabre\HTTP\MessageInterface\getBodyAsString(), Sabre\HTTP\RequestInterface\getPath(), Sabre\HTTP\MessageInterface\setHeader(), and Sabre\HTTP\ResponseInterface\setStatus().
Sabre\CalDAV\Plugin::initialize | ( | DAV\Server | $server | ) |
Initializes the plugin.
DAV\Server | $server |
Definition at line 179 of file Plugin.php.
References $aclPlugin, and Sabre\CalDAV\Plugin\$server.
Sabre\CalDAV\Plugin::propFind | ( | DAV\PropFind | $propFind, |
DAV\INode | $node | ||
) |
PropFind.
This method handler is invoked before any after properties for a resource are fetched. This allows us to add in any CalDAV specific properties.
DAV\PropFind | $propFind | |
DAV\INode | $node |
Definition at line 323 of file Plugin.php.
References $aclPlugin, Sabre\CalDAV\Plugin\getCalendarHomeForPrincipal(), and Sabre\Uri\split().
Sabre\CalDAV\Plugin::report | ( | $reportName, | |
$report, | |||
$path | |||
) |
This functions handles REPORT requests specific to CalDAV.
string | $reportName | |
mixed | $report | |
mixed | $path |
Definition at line 241 of file Plugin.php.
References Sabre\CalDAV\Plugin\calendarMultiGetReport(), Sabre\CalDAV\Plugin\calendarQueryReport(), and Sabre\CalDAV\Plugin\freeBusyQueryReport().
|
protected |
Checks if the submitted iCalendar data is in fact, valid.
An exception is thrown if it's not.
resource | string | $data | |
string | $path | |
bool | $modified | Should be set to true, if this event handler changed &$data. |
RequestInterface | $request | The http request. |
ResponseInterface | $response | The http response. |
bool | $isNew | Is the item a new one, or an update. |
Definition at line 820 of file Plugin.php.
References $data, $message, $messages, PHPMailer\PHPMailer\$options, $path, $vobj, Sabre\VObject\Node\PROFILE_CALDAV, Sabre\VObject\Reader\read(), Sabre\VObject\Reader\readJson(), Sabre\VObject\Node\REPAIR, Sabre\HTTP\MessageInterface\setHeader(), and Sabre\Uri\split().
Referenced by Sabre\CalDAV\Plugin\beforeCreateFile(), and Sabre\CalDAV\Plugin\beforeWriteContent().
|
protected |
The default PDO storage uses a MySQL MEDIUMBLOB for iCalendar data, which can hold up to 2^24 = 16777216 bytes.
This is plenty. We're capping it to 10M here.
Definition at line 58 of file Plugin.php.
|
protected |
Definition at line 51 of file Plugin.php.
Referenced by Sabre\CalDAV\Schedule\Plugin\initialize(), and Sabre\CalDAV\Plugin\initialize().
const Sabre\CalDAV\Plugin::CALENDAR_ROOT = 'calendars' |
The hardcoded root for calendar objects.
It is unfortunate that we're stuck with it, but it will have to do for now
Definition at line 44 of file Plugin.php.
Referenced by Sabre\CalDAV\CalendarRoot\getName().
const Sabre\CalDAV\Plugin::NS_CALDAV = 'urn:ietf:params:xml:ns:caldav' |
This is the official CalDAV namespace.
Definition at line 33 of file Plugin.php.
Referenced by Sabre\CalDAV\Backend\Mock\createCalendar(), Sabre\CalDAV\Backend\PDO\createCalendar(), Sabre\CalDAV\ICSExportPlugin\generateResponse(), Sabre\CalDAV\Schedule\Outbox\getACL(), Sabre\CalDAV\SharedCalendar\getACL(), Sabre\CalDAV\Schedule\Inbox\getACL(), Sabre\CalDAV\Calendar\getACL(), Sabre\CalDAV\Backend\PDO\getCalendarsForUser(), Sabre\CalDAV\Backend\PDO\getSubscriptionsForUser(), Sabre\CalDAV\ICSExportPlugin\httpGet(), Sabre\CalDAV\Exception\InvalidComponentType\serialize(), Sabre\CalDAV\Xml\Property\ScheduleCalendarTranspTest\setUp(), Sabre\CalDAV\Xml\Property\SupportedCalendarComponentSetTest\setUp(), Sabre\CalDAV\Xml\Property\InviteTest\setUp(), Sabre\CalDAV\Schedule\FreeBusyRequestTest\setUp(), Sabre\CalDAV\FreeBusyReportTest\setUp(), Sabre\CalDAV\SharedCalendarTest\testGetACL(), Sabre\CalDAV\CalendarTest\testGetACL(), Sabre\CalDAV\Schedule\ScheduleDeliverTest\testInviteNoCalendarHomeSet(), Sabre\CalDAV\Schedule\ScheduleDeliverTest\testInviteNoDefaultCalendar(), Sabre\CalDAV\Schedule\ScheduleDeliverTest\testInviteNoInboxUrl(), Sabre\CalDAV\Schedule\FreeBusyRequestTest\testNoCalendarHomeFound(), Sabre\CalDAV\Schedule\FreeBusyRequestTest\testNoInboxFound(), Sabre\CalDAV\PluginTest\testPrincipalProperties(), Sabre\CalDAV\Xml\Property\AllowedSharingModesTest\testSerialize(), Sabre\CalDAV\Xml\Property\SupportedCalendarDataTest\testSerialize(), Sabre\CalDAV\Xml\Property\SupportedCollationSetTest\testSerialize(), Sabre\CalDAV\Xml\Property\InviteTest\testSerialize(), Sabre\CalDAV\Xml\Property\SupportedCalendarComponentSetTest\testSerialize(), Sabre\CalDAV\Xml\Property\ScheduleCalendarTranspTest\testSerializeOpaque(), Sabre\CalDAV\Xml\Property\ScheduleCalendarTranspTest\testSerializeTransparent(), Sabre\CalDAV\Schedule\OutboxTest\testSetup(), Sabre\CalDAV\Schedule\FreeBusyRequestTest\testSucceedUseVAVAILABILITY(), Sabre\CalDAV\Xml\Property\SupportedCalendarComponentSetTest\testUnserialize(), Sabre\CalDAV\Xml\Property\SupportedCalendarComponentSetTest\testUnserializeEmpty(), Sabre\CalDAV\Xml\Property\ScheduleCalendarTranspTest\testUnserializeOpaque(), Sabre\CalDAV\Xml\Property\ScheduleCalendarTranspTest\testUnserializeTransparent(), Sabre\CalDAV\Backend\PDO\updateCalendar(), Sabre\CalDAV\Xml\Filter\ParamFilter\xmlDeserialize(), Sabre\CalDAV\Xml\Filter\CompFilter\xmlDeserialize(), Sabre\CalDAV\Xml\Filter\PropFilter\xmlDeserialize(), Sabre\CalDAV\Xml\Filter\CalendarData\xmlDeserialize(), Sabre\CalDAV\Xml\Request\FreeBusyQueryReport\xmlDeserialize(), Sabre\CalDAV\Xml\Request\CalendarQueryReport\xmlDeserialize(), Sabre\CalDAV\Xml\Request\CalendarMultiGetReport\xmlDeserialize(), Sabre\CalDAV\Xml\Property\SupportedCalendarComponentSet\xmlDeserialize(), Sabre\CalDAV\Xml\Property\ScheduleCalendarTransp\xmlDeserialize(), Sabre\CalDAV\Xml\Property\SupportedCollationSet\xmlSerialize(), Sabre\CalDAV\Xml\Property\SupportedCalendarData\xmlSerialize(), Sabre\CalDAV\Xml\Property\SupportedCalendarComponentSet\xmlSerialize(), Sabre\CalDAV\Xml\Property\ScheduleCalendarTransp\xmlSerialize(), and Sabre\CalDAV\Xml\Notification\Invite\xmlSerializeFull().
const Sabre\CalDAV\Plugin::NS_CALENDARSERVER = 'http://calendarserver.org/ns/' |
This is the namespace for the proprietary calendarserver extensions.
Definition at line 38 of file Plugin.php.
Referenced by Sabre\CalDAV\Backend\PDO\getCalendarsForUser(), Sabre\CalDAV\SharingPlugin\httpPost(), Sabre\CalDAV\SharingPlugin\initialize(), Sabre\CalDAV\SharingPlugin\propFindEarly(), Sabre\CalDAV\SharingPlugin\propFindLate(), Sabre\CalDAV\SharingPlugin\propPatch(), Sabre\CalDAV\Xml\Property\ScheduleCalendarTranspTest\setUp(), Sabre\CalDAV\Xml\Property\SupportedCalendarComponentSetTest\setUp(), Sabre\CalDAV\Xml\Property\InviteTest\setUp(), Sabre\CalDAV\SharingPluginTest\testBeforeGetShareableCalendar(), Sabre\CalDAV\SharingPluginTest\testBeforeGetSharedCalendar(), Sabre\CalDAV\SharingPluginTest\testInviteBadXML(), Sabre\CalDAV\SharingPluginTest\testInviteReply(), Sabre\CalDAV\SharingPluginTest\testInviteWrongUrl(), Sabre\CalDAV\PluginTest\testPrincipalProperties(), Sabre\CalDAV\SharingPluginTest\testPublish(), Sabre\CalDAV\SharingPluginTest\testPublishWrongUrl(), Sabre\CalDAV\Xml\Property\AllowedSharingModesTest\testSerialize(), Sabre\CalDAV\Xml\Property\EmailAddressSetTest\testSerialize(), Sabre\CalDAV\Xml\Property\InviteTest\testSerialize(), Sabre\CalDAV\Xml\Property\SupportedCalendarComponentSetTest\testSerialize(), Sabre\CalDAV\Xml\Property\ScheduleCalendarTranspTest\testSerializeOpaque(), Sabre\CalDAV\Xml\Property\ScheduleCalendarTranspTest\testSerializeTransparent(), Sabre\CalDAV\SharingPluginTest\testShareRequestNoShareableCalendar(), Sabre\CalDAV\SharingPluginTest\testUnknownXmlDoc(), Sabre\CalDAV\SharingPluginTest\testUnpublish(), Sabre\CalDAV\SharingPluginTest\testUnpublishWrongUrl(), Sabre\CalDAV\Xml\Property\SupportedCalendarComponentSetTest\testUnserialize(), Sabre\CalDAV\Xml\Property\SupportedCalendarComponentSetTest\testUnserializeEmpty(), Sabre\CalDAV\Xml\Property\ScheduleCalendarTranspTest\testUnserializeOpaque(), Sabre\CalDAV\Xml\Property\ScheduleCalendarTranspTest\testUnserializeTransparent(), Sabre\CalDAV\Xml\Request\Share\xmlDeserialize(), Sabre\CalDAV\Xml\Request\InviteReply\xmlDeserialize(), Sabre\CalDAV\Xml\Property\Invite\xmlSerialize(), Sabre\CalDAV\Xml\Property\AllowedSharingModes\xmlSerialize(), Sabre\CalDAV\Xml\Notification\SystemStatus\xmlSerialize(), Sabre\CalDAV\Xml\Notification\InviteReply\xmlSerialize(), Sabre\CalDAV\Xml\Notification\Invite\xmlSerialize(), Sabre\CalDAV\Xml\Notification\SystemStatus\xmlSerializeFull(), Sabre\CalDAV\Xml\Notification\InviteReply\xmlSerializeFull(), and Sabre\CalDAV\Xml\Notification\Invite\xmlSerializeFull().