aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChad Little <clittle@users.sourceforge.net>2004-05-16 20:30:19 +0000
committerChad Little <clittle@users.sourceforge.net>2004-05-16 20:30:19 +0000
commitafcfa0c4ab39291d30ded5e111c5537698e7c84e (patch)
treeaddfb369a8bdf2fe5ecdcb66e69480c97fa7851a
parenta59106f8507e94e8b19bbe9bbed9280f32894d26 (diff)
downloadphpicalendar-afcfa0c4ab39291d30ded5e111c5537698e7c84e.tar.gz
phpicalendar-afcfa0c4ab39291d30ded5e111c5537698e7c84e.tar.bz2
phpicalendar-afcfa0c4ab39291d30ded5e111c5537698e7c84e.zip
Fix for recurrence-id moving whole day events.
-rw-r--r--functions/ical_parser.php8
-rw-r--r--functions/template.php2
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"]));

© 2014-2024 Faster IT GmbH | imprint | privacy policy