From 613561202493963e80bf8ab00d5f3baf92968685 Mon Sep 17 00:00:00 2001 From: Aleksander Machniak Date: Wed, 25 Sep 2019 20:39:02 +0200 Subject: [PATCH] Fix PHP Warning: count(): Parameter must be an array or an object that implements Countable --- plugins/calendar/calendar.php | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/plugins/calendar/calendar.php b/plugins/calendar/calendar.php index 6f1cf586..ba2db5cd 100644 --- a/plugins/calendar/calendar.php +++ b/plugins/calendar/calendar.php @@ -2459,17 +2459,20 @@ class calendar extends rcube_plugin */ public static function event_diff($a, $b) { - $diff = array(); + $diff = array(); $ignore = array('changed' => 1, 'attachments' => 1); + foreach (array_unique(array_merge(array_keys($a), array_keys($b))) as $key) { - if (!$ignore[$key] && $key[0] != '_' && $a[$key] != $b[$key]) + if (!$ignore[$key] && $key[0] != '_' && $a[$key] != $b[$key]) { $diff[] = $key; + } } - + // only compare number of attachments - if (count($a['attachments']) != count($b['attachments'])) + if (count((array) $a['attachments']) != count((array) $b['attachments'])) { $diff[] = 'attachments'; - + } + return $diff; }