ILIAS
release_5-4 Revision v5.4.26-12-gabc799a52e6
|
ICS Exporter. More...
Public Member Functions | |
initialize (DAV\Server $server) | |
Initializes the plugin and registers event handlers. More... | |
httpGet (RequestInterface $request, ResponseInterface $response) | |
Intercepts GET requests on calendar urls ending with ?export. More... | |
mergeObjects (array $properties, array $inputObjects) | |
Merges all calendar objects, and builds one big iCalendar blob. More... | |
getPluginName () | |
Returns a plugin name. 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... | |
Protected Member Functions | |
generateResponse ($path, $start, $end, $expand, $componentType, $format, $properties, ResponseInterface $response) | |
This method is responsible for generating the actual, full response. More... | |
Protected Attributes | |
$server | |
ICS Exporter.
This plugin adds the ability to export entire calendars as .ics files. This is useful for clients that don't support CalDAV yet. They often do support ics files.
To use this, point a http client to a caldav calendar, and add ?expand to the url.
Further options that can be added to the url: start=123456789 - Only return events after the given unix timestamp end=123245679 - Only return events from before the given unix timestamp expand=1 - Strip timezone information and expand recurring events. If you'd like to expand, you must also specify start and end.
By default this plugin returns data in the text/calendar format (iCalendar 2.0). If you'd like to receive jCal data instead, you can use an Accept header:
Accept: application/calendar+json
Alternatively, you can also specify this in the url using accept=application/calendar+json, or accept=jcal for short. If the url parameter and Accept header is specified, the url parameter wins.
Note that specifying a start or end data implies that only events will be returned. VTODO and VJOURNAL will be stripped.
Definition at line 47 of file ICSExportPlugin.php.
|
protected |
This method is responsible for generating the actual, full response.
string | $path | |
DateTime | null | $start | |
DateTime | null | $end | |
bool | $expand | |
string | $componentType | |
string | $format | |
array | $properties | |
ResponseInterface | $response |
Definition at line 170 of file ICSExportPlugin.php.
References $end, $filename, $format, $nodes, $path, $start, Sabre\CalDAV\ICSExportPlugin\mergeObjects(), Sabre\CalDAV\Plugin\NS_CALDAV, Sabre\VObject\Reader\read(), Sabre\HTTP\MessageInterface\setBody(), Sabre\HTTP\MessageInterface\setHeader(), and Sabre\HTTP\ResponseInterface\setStatus().
Referenced by Sabre\CalDAV\ICSExportPlugin\httpGet().
Sabre\CalDAV\ICSExportPlugin::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 368 of file ICSExportPlugin.php.
References Sabre\CalDAV\ICSExportPlugin\getPluginName().
Sabre\CalDAV\ICSExportPlugin::getPluginName | ( | ) |
Returns a plugin name.
Using this name other plugins will be able to access other plugins using ::getPlugin
Definition at line 351 of file ICSExportPlugin.php.
Referenced by Sabre\CalDAV\ICSExportPlugin\getPluginInfo().
Sabre\CalDAV\ICSExportPlugin::httpGet | ( | RequestInterface | $request, |
ResponseInterface | $response | ||
) |
Intercepts GET requests on calendar urls ending with ?export.
RequestInterface | $request | |
ResponseInterface | $response |
Definition at line 81 of file ICSExportPlugin.php.
References $end, $format, $path, $start, Sabre\CalDAV\ICSExportPlugin\generateResponse(), Sabre\HTTP\MessageInterface\getHeader(), Sabre\HTTP\RequestInterface\getPath(), Sabre\HTTP\RequestInterface\getQueryParameters(), and Sabre\CalDAV\Plugin\NS_CALDAV.
Sabre\CalDAV\ICSExportPlugin::initialize | ( | DAV\Server | $server | ) |
Initializes the plugin and registers event handlers.
\Sabre\DAV\Server | $server |
Definition at line 62 of file ICSExportPlugin.php.
References $path, and Sabre\CalDAV\ICSExportPlugin\$server.
Sabre\CalDAV\ICSExportPlugin::mergeObjects | ( | array | $properties, |
array | $inputObjects | ||
) |
Merges all calendar objects, and builds one big iCalendar blob.
array | $properties | Some CalDAV properties |
array | $inputObjects |
Definition at line 284 of file ICSExportPlugin.php.
References $calendar, Sabre\DAV\Server\$exposeVersion, $tz, Sabre\VObject\Reader\read(), and Sabre\DAV\Version\VERSION.
Referenced by Sabre\CalDAV\ICSExportPlugin\generateResponse().
|
protected |
Definition at line 54 of file ICSExportPlugin.php.
Referenced by Sabre\CalDAV\ICSExportPlugin\initialize().