Merge pull request #18880 from nextcloud/backport/18115/stable17

[stable17] Properly handle resources in ReminderService
This commit is contained in:
Roeland Jago Douma 2020-01-20 22:04:56 +01:00 committed by GitHub
commit 46d89d6a4e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -107,7 +107,11 @@ class ReminderService {
$reminders = $this->backend->getRemindersToProcess(); $reminders = $this->backend->getRemindersToProcess();
foreach($reminders as $reminder) { foreach($reminders as $reminder) {
$vcalendar = $this->parseCalendarData($reminder['calendardata']); $calendarData = is_resource($reminder['calendardata'])
? stream_get_contents($reminder['calendardata'])
: $reminder['calendardata'];
$vcalendar = $this->parseCalendarData($calendarData);
if (!$vcalendar) { if (!$vcalendar) {
$this->backend->removeReminder($reminder['id']); $this->backend->removeReminder($reminder['id']);
continue; continue;
@ -176,8 +180,12 @@ class ReminderService {
* @param array $objectData * @param array $objectData
*/ */
private function onCalendarObjectCreate(array $objectData):void { private function onCalendarObjectCreate(array $objectData):void {
$calendarData = is_resource($objectData['calendardata'])
? stream_get_contents($objectData['calendardata'])
: $objectData['calendardata'];
/** @var VObject\Component\VCalendar $vcalendar */ /** @var VObject\Component\VCalendar $vcalendar */
$vcalendar = $this->parseCalendarData($objectData['calendardata']); $vcalendar = $this->parseCalendarData($calendarData);
if (!$vcalendar) { if (!$vcalendar) {
return; return;
} }