Properly handle resources in ReminderService

Signed-off-by: Georg Ehrke <developer@georgehrke.com>
This commit is contained in:
Georg Ehrke 2019-11-26 12:20:35 +01:00
parent e3bee2cb78
commit 05e47af6b2
No known key found for this signature in database
GPG Key ID: 9D98FD9380A1CB43
1 changed files with 10 additions and 2 deletions

View File

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