|
40 | 40 | use Psr\Log\LoggerInterface;
|
41 | 41 | use Sabre\DAV\Exception\NotFound;
|
42 | 42 | use Sabre\VObject\Component\VCalendar;
|
| 43 | +use Sabre\VObject\Component\VEvent; |
43 | 44 | use Sabre\VObject\Component\VTimeZone;
|
44 | 45 | use Sabre\VObject\Reader;
|
45 | 46 | use function fclose;
|
@@ -189,18 +190,20 @@ private function createVCalendarEvent(IOutOfOfficeData $data, ?string $timeZoneD
|
189 | 190 | 'DTEND' => $end,
|
190 | 191 | 'X-NEXTCLOUD-OUT-OF-OFFICE' => $data->getId(),
|
191 | 192 | ]);
|
| 193 | + /** @var VEvent $vEvent */ |
| 194 | + $vEvent = $vCalendar->VEVENT; |
192 | 195 | if ($timeZoneData !== null) {
|
193 | 196 | /** @var VCalendar $vtimezoneObj */
|
194 | 197 | $vtimezoneObj = Reader::read($timeZoneData);
|
195 | 198 | /** @var VTimeZone $vtimezone */
|
196 | 199 | $vtimezone = $vtimezoneObj->VTIMEZONE;
|
197 | 200 | $calendarTimeZone = $vtimezone->getTimeZone();
|
198 | 201 | $vCalendar->add($vtimezone);
|
199 |
| - $vCalendar->VEVENT->add('DTSTART', $start->setTimezone($calendarTimeZone)->setTime(0, 0)); |
200 |
| - $vCalendar->VEVENT->add('DTEND', $end->setTimezone($calendarTimeZone)->setTime(0, 0)); |
201 |
| - } else { |
202 |
| - $vCalendar->VEVENT->add('DTSTART', $start); |
203 |
| - $vCalendar->VEVENT->add('DTEND', $end); |
| 202 | + |
| 203 | + /** @psalm-suppress UndefinedMethod */ |
| 204 | + $vEvent->DTSTART->setDateTime($start->setTimezone($calendarTimeZone)->setTime(0, 0)); |
| 205 | + /** @psalm-suppress UndefinedMethod */ |
| 206 | + $vEvent->DTEND->setDateTime($end->setTimezone($calendarTimeZone)->setTime(0, 0)); |
204 | 207 | }
|
205 | 208 | return $vCalendar;
|
206 | 209 | }
|
|
0 commit comments