|
25 | 25 | use Sabre\VObject; |
26 | 26 | use Sabre\VObject\Component\VCalendar; |
27 | 27 | use Sabre\VObject\ITip; |
| 28 | +use Sabre\VObject\ITip\Broker; |
28 | 29 | use Sabre\VObject\ITip\Message; |
29 | 30 | use Sabre\VObject\Reader; |
30 | 31 |
|
@@ -389,7 +390,7 @@ public function beforeUnbind($path) |
389 | 390 | $node->getOwner() |
390 | 391 | ); |
391 | 392 |
|
392 | | - $broker = new ITip\Broker(); |
| 393 | + $broker = $this->createITipBroker(); |
393 | 394 | $messages = $broker->parseEvent(null, $addresses, $node->get()); |
394 | 395 |
|
395 | 396 | foreach ($messages as $message) { |
@@ -500,7 +501,7 @@ public function scheduleLocalDelivery(ITip\Message $iTipMessage) |
500 | 501 | $isNewNode = true; |
501 | 502 | } |
502 | 503 |
|
503 | | - $broker = new ITip\Broker(); |
| 504 | + $broker = $this->createITipBroker(); |
504 | 505 | $newObject = $broker->processMessage($iTipMessage, $currentObject); |
505 | 506 |
|
506 | 507 | $inbox->createFile($newFileName, $iTipMessage->message->serialize()); |
@@ -611,7 +612,7 @@ public function getSupportedPrivilegeSet(INode $node, array &$supportedPrivilege |
611 | 612 | */ |
612 | 613 | protected function processICalendarChange($oldObject, VCalendar $newObject, array $addresses, array $ignore = [], &$modified = false) |
613 | 614 | { |
614 | | - $broker = new ITip\Broker(); |
| 615 | + $broker = $this->createITipBroker(); |
615 | 616 | $messages = $broker->parseEvent($newObject, $addresses, $oldObject); |
616 | 617 |
|
617 | 618 | if ($messages) { |
@@ -994,4 +995,12 @@ public function getPluginInfo() |
994 | 995 | 'link' => 'http://sabre.io/dav/scheduling/', |
995 | 996 | ]; |
996 | 997 | } |
| 998 | + |
| 999 | + /** |
| 1000 | + * Returns an instance of the iTip\Broker. |
| 1001 | + */ |
| 1002 | + protected function createITipBroker(): Broker |
| 1003 | + { |
| 1004 | + return new Broker(); |
| 1005 | + } |
997 | 1006 | } |
0 commit comments