Force Calendar Obejct Chnage Path to support public write

Signed-off-by: Anna Larch <anna@nextcloud.com>
pull/29594/head
Anna Larch 4 years ago
parent 586cc9bcbc
commit da22791424
  1. 5
      apps/dav/lib/CalDAV/CalendarImpl.php
  2. 10
      apps/dav/lib/CalDAV/Schedule/Plugin.php

@ -154,6 +154,11 @@ class CalendarImpl implements ICreateFromString {
[, $user] = uriSplit($this->calendar->getPrincipalURI());
$fullCalendarFilename = sprintf('calendars/%s/%s/%s', $user, $this->calendarInfo['uri'], $name);
// Force calendar change URI
/** @var Schedule\Plugin $schedulingPlugin */
$schedulingPlugin = $server->server->getPlugin('caldav-schedule');
$schedulingPlugin->setPathOfCalendarObjectChange($fullCalendarFilename);
$stream = fopen('php://memory', 'rb+');
fwrite($stream, $calendarData);
rewind($stream);

@ -88,6 +88,16 @@ class Plugin extends \Sabre\CalDAV\Schedule\Plugin {
$server->on('afterCreateFile', [$this, 'dispatchSchedulingResponses']);
}
/**
* Allow manual setting of the object change URL
* to support public write
*
* @param string $path
*/
public function setPathOfCalendarObjectChange(string $path): void {
$this->pathOfCalendarObjectChange = $path;
}
/**
* This method handler is invoked during fetching of properties.
*

Loading…
Cancel
Save