From afcfa0c4ab39291d30ded5e111c5537698e7c84e Mon Sep 17 00:00:00 2001 From: Chad Little Date: Sun, 16 May 2004 20:30:19 +0000 Subject: Fix for recurrence-id moving whole day events. --- functions/ical_parser.php | 8 +++++++- functions/template.php | 2 +- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/functions/ical_parser.php b/functions/ical_parser.php index 519b6f8..a781893 100644 --- a/functions/ical_parser.php +++ b/functions/ical_parser.php @@ -147,8 +147,10 @@ foreach ($cal_filelist as $filename) { } if ($uid_valid && isset($processed[$uid]) && isset($recurrence_id['date'])) { + $old_start_date = $processed[$uid][0]; $old_start_time = $processed[$uid][1]; + if ($recurrence_id['value'] == 'DATE') $old_start_time = '-1'; $start_date_tmp = $recurrence_id['date']; if (!isset($start_date)) $start_date = $old_start_date; if (!isset($start_time)) $start_time = $master_array[$old_start_date][$old_start_time][$uid]['event_start']; @@ -166,7 +168,11 @@ foreach ($cal_filelist as $filename) { removeOverlap($start_date_tmp, $old_start_time, $uid); if (isset($master_array[$start_date_tmp][$old_start_time][$uid])) { unset($master_array[$start_date_tmp][$old_start_time][$uid]); // SJBO added $uid twice here + if (sizeof($master_array[$start_date_tmp][$old_start_time]) == 0) { + unset($master_array[$start_date_tmp][$old_start_time]); + } } + $write_processed = false; } else { $write_processed = true; @@ -221,7 +227,7 @@ foreach ($cal_filelist as $filename) { if ($uid_valid && $write_processed) { if (!isset($hour)) $hour = 00; if (!isset($minute)) $minute = 00; - $processed[$uid] = array($start_date,($hour.$minute)); + $processed[$uid] = array($start_date,($hour.$minute), $type); } // Handling of the all day events diff --git a/functions/template.php b/functions/template.php index 1aad78e..1ad8e3f 100644 --- a/functions/template.php +++ b/functions/template.php @@ -556,7 +556,7 @@ class Page { $return_adtmp = ''; $return_etmp = ''; - if (is_array($master_array[$next_day])) { + if (is_array($master_array[$next_day]) && sizeof($master_array[$next_day]) > 0) { foreach ($master_array[$next_day] as $event_times) { foreach ($event_times as $val) { $event_text = stripslashes(urldecode($val["event_text"])); -- cgit v1.2.3