From 5863bcc947234835c2b6b86f8c3e202e725bfb27 Mon Sep 17 00:00:00 2001 From: Aleksander Machniak Date: Fri, 23 Jun 2023 13:15:51 +0200 Subject: [PATCH] Fix PHP8 warnings --- plugins/libkolab/lib/kolab_format_xcal.php | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/plugins/libkolab/lib/kolab_format_xcal.php b/plugins/libkolab/lib/kolab_format_xcal.php index 5e57d91d..6cee7b6d 100644 --- a/plugins/libkolab/lib/kolab_format_xcal.php +++ b/plugins/libkolab/lib/kolab_format_xcal.php @@ -519,6 +519,10 @@ abstract class kolab_format_xcal extends kolab_format $valarm_hashes = array(); if (!empty($object['valarms'])) { foreach ($object['valarms'] as $valarm) { + if (empty($valarm['action']) || empty($valarm['trigger'])) { + continue; + } + if (!array_key_exists($valarm['action'], $this->alarm_type_map)) { continue; // skip unknown alarm types } @@ -548,10 +552,10 @@ abstract class kolab_format_xcal extends kolab_format } else { // action == DISPLAY - $alarm = new Alarm(strval($valarm['summary'] ?: $object['title'])); + $alarm = new Alarm(strval(!empty($valarm['summary']) ? $valarm['summary'] : $object['title'])); } - if (is_object($valarm['trigger']) && $valarm['trigger'] instanceof DateTimeInterface) { + if ($valarm['trigger'] instanceof DateTimeInterface) { $alarm->setStart(self::get_datetime($valarm['trigger'], new DateTimeZone('UTC'))); } else if (preg_match('/^@([0-9]+)$/', $valarm['trigger'], $m)) { @@ -584,7 +588,8 @@ abstract class kolab_format_xcal extends kolab_format $alarm->setDuration($duration, intval($valarm['repeat'] ?? 0)); } catch (Exception $e) { - // ignore + // ignore, but log + rcube::raise_error($e, true); } }