summaryrefslogtreecommitdiffstats
path: root/apps/dav/lib/CalDAV/Plugin.php
diff options
context:
space:
mode:
Diffstat (limited to 'apps/dav/lib/CalDAV/Plugin.php')
-rw-r--r--apps/dav/lib/CalDAV/Plugin.php18
1 files changed, 16 insertions, 2 deletions
diff --git a/apps/dav/lib/CalDAV/Plugin.php b/apps/dav/lib/CalDAV/Plugin.php
index 4aa9762899f..b9ec8241faa 100644
--- a/apps/dav/lib/CalDAV/Plugin.php
+++ b/apps/dav/lib/CalDAV/Plugin.php
@@ -25,15 +25,29 @@ namespace OCA\DAV\CalDAV;
class Plugin extends \Sabre\CalDAV\Plugin {
+ const SYSTEM_CALENDAR_ROOT = 'system-calendars';
+
/**
* @inheritdoc
*/
- function getCalendarHomeForPrincipal($principalUrl) {
+ function getCalendarHomeForPrincipal($principalUrl):string {
+
+ //TODO - debug this
if (strrpos($principalUrl, 'principals/users', -strlen($principalUrl)) !== false) {
list(, $principalId) = \Sabre\Uri\split($principalUrl);
- return self::CALENDAR_ROOT .'/' . $principalId;
+ return self::CALENDAR_ROOT . '/' . $principalId;
+ }
+ if (strrpos($principalUrl, 'principals/calendar-resources', -strlen($principalUrl)) !== false) {
+ list(, $principalId) = \Sabre\Uri\split($principalUrl);
+ return self::SYSTEM_CALENDAR_ROOT . '/calendar-resources/' . $principalId;
}
+ if (strrpos($principalUrl, 'principals/calendar-rooms', -strlen($principalUrl)) !== false) {
+ list(, $principalId) = \Sabre\Uri\split($principalUrl);
+ return self::SYSTEM_CALENDAR_ROOT . '/calendar-rooms/' . $principalId;
+ }
+
+ throw new \LogicException('This is not supposed to happen');
}
}