From 3a84f16317bd5bc121e27ebf3883abe0b5cfbf9e Mon Sep 17 00:00:00 2001 From: Nathan Gray Date: Thu, 19 Jan 2012 18:17:28 +0000 Subject: [PATCH] Enumerate recurring events when merging last / next date for contact --- addressbook/inc/class.addressbook_merge.inc.php | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/addressbook/inc/class.addressbook_merge.inc.php b/addressbook/inc/class.addressbook_merge.inc.php index 786fbef7d3..43bdd2ef12 100644 --- a/addressbook/inc/class.addressbook_merge.inc.php +++ b/addressbook/inc/class.addressbook_merge.inc.php @@ -83,12 +83,9 @@ class addressbook_merge extends bo_merge 'offset' => 0, 'num_rows' => 20, 'order' => 'cal_start', + 'enum_recurring' => true )); - if ($events) - { - array_unshift($events,false); unset($events[0]); // renumber the array to start with key 1, instead of 0 - } - else + if (!$events) { $events = array(); } @@ -100,12 +97,17 @@ class addressbook_merge extends bo_merge 'offset' => 0, 'num_rows' => 1, 'order' => 'cal_start DESC', + 'enum_recurring' => true )); $events['-1'] = $last ? array_shift($last) : array(); // returned events are indexed by cal_id! } $replacements = array(); - foreach($events as $n => $event) + $n = 1; // Returned events are indexed by cal_id, need to index sequentially + foreach($events as $key => $event) { + // Use -1 for previous key + if($key < 0) $n = $key; + foreach($calendar->event2array($event) as $name => $data) { if (substr($name,-4) == 'date') $name = substr($name,0,-4);