|
| 1 | +diff --git a/lib/CalDAV/Schedule/Plugin.php b/lib/CalDAV/Schedule/Plugin.php |
| 2 | +index 5e56596101..5bca56d47e 100644 |
| 3 | +--- a/lib/CalDAV/Schedule/Plugin.php |
| 4 | ++++ b/lib/CalDAV/Schedule/Plugin.php |
| 5 | +@@ -25,6 +25,7 @@ |
| 6 | + use Sabre\VObject; |
| 7 | + use Sabre\VObject\Component\VCalendar; |
| 8 | + use Sabre\VObject\ITip; |
| 9 | ++use Sabre\VObject\ITip\Broker; |
| 10 | + use Sabre\VObject\ITip\Message; |
| 11 | + use Sabre\VObject\Reader; |
| 12 | + |
| 13 | +@@ -389,7 +390,7 @@ public function beforeUnbind($path) |
| 14 | + $node->getOwner() |
| 15 | + ); |
| 16 | + |
| 17 | +- $broker = new ITip\Broker(); |
| 18 | ++ $broker = $this->createITipBroker(); |
| 19 | + $messages = $broker->parseEvent(null, $addresses, $node->get()); |
| 20 | + |
| 21 | + foreach ($messages as $message) { |
| 22 | +@@ -500,7 +501,7 @@ public function scheduleLocalDelivery(ITip\Message $iTipMessage) |
| 23 | + $isNewNode = true; |
| 24 | + } |
| 25 | + |
| 26 | +- $broker = new ITip\Broker(); |
| 27 | ++ $broker = $this->createITipBroker(); |
| 28 | + $newObject = $broker->processMessage($iTipMessage, $currentObject); |
| 29 | + |
| 30 | + $inbox->createFile($newFileName, $iTipMessage->message->serialize()); |
| 31 | +@@ -611,7 +612,7 @@ public function getSupportedPrivilegeSet(INode $node, array &$supportedPrivilege |
| 32 | + */ |
| 33 | + protected function processICalendarChange($oldObject, VCalendar $newObject, array $addresses, array $ignore = [], &$modified = false) |
| 34 | + { |
| 35 | +- $broker = new ITip\Broker(); |
| 36 | ++ $broker = $this->createITipBroker(); |
| 37 | + $messages = $broker->parseEvent($newObject, $addresses, $oldObject); |
| 38 | + |
| 39 | + if ($messages) { |
| 40 | +@@ -994,4 +995,12 @@ public function getPluginInfo() |
| 41 | + 'link' => 'http://sabre.io/dav/scheduling/', |
| 42 | + ]; |
| 43 | + } |
| 44 | ++ |
| 45 | ++ /** |
| 46 | ++ * Returns an instance of the iTip\Broker. |
| 47 | ++ */ |
| 48 | ++ protected function createITipBroker(): Broker |
| 49 | ++ { |
| 50 | ++ return new Broker(); |
| 51 | ++ } |
| 52 | + } |
0 commit comments