aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWesley Miaw <josuah@users.sourceforge.net>2003-09-17 20:38:12 +0000
committerWesley Miaw <josuah@users.sourceforge.net>2003-09-17 20:38:12 +0000
commit98a39294b0f7f9ddbdf063d23d1e99b5155f9104 (patch)
tree69aa2861e6961d36c0be2b89243f5a1470c8c4c6
parent95f606259285ecea15b7378bbb95353df469a564 (diff)
downloadphpicalendar-98a39294b0f7f9ddbdf063d23d1e99b5155f9104.tar.gz
phpicalendar-98a39294b0f7f9ddbdf063d23d1e99b5155f9104.tar.bz2
phpicalendar-98a39294b0f7f9ddbdf063d23d1e99b5155f9104.zip
Bug Tracker [795795] Fix event data variable handling.
Applied submitted patch. Calendar parsing code reuses variables to populate calendar event data. The code was not clearing those variables before reuse, causing event data to carry over from one event to another if the second event did not overwrite the previous value. Also adds organizer, location, and attendee event fields to the recurring event data.
-rw-r--r--functions/ical_parser.php7
1 files changed, 5 insertions, 2 deletions
diff --git a/functions/ical_parser.php b/functions/ical_parser.php
index 5382dc3..63a3287 100644
--- a/functions/ical_parser.php
+++ b/functions/ical_parser.php
@@ -562,12 +562,12 @@ foreach ($cal_filelist as $filename) {
$end_time_tmp = '2400';
}
$nbrOfOverlaps = checkOverlap($start_date_tmp, $start_time_tmp, $end_time_tmp, $uid);
- $master_array[$start_date_tmp][$time_tmp][$uid] = array ('event_start' => $start_time_tmp, 'event_end' => $end_time_tmp, 'start_unixtime' => $start_unixtime_tmp, 'end_unixtime' => $end_unixtime_tmp, 'event_text' => $summary, 'event_length' => $length, 'event_overlap' => $nbrOfOverlaps, 'description' => $description, 'status' => $status, 'class' => $class, 'spans_day' => true, 'calnumber' => $calnumber);
+ $master_array[$start_date_tmp][$time_tmp][$uid] = array ('event_start' => $start_time_tmp, 'event_end' => $end_time_tmp, 'start_unixtime' => $start_unixtime_tmp, 'end_unixtime' => $end_unixtime_tmp, 'event_text' => $summary, 'event_length' => $length, 'event_overlap' => $nbrOfOverlaps, 'description' => $description, 'status' => $status, 'class' => $class, 'spans_day' => true, 'location' => $location, 'organizer' => serialize($organizer), 'attendee' => serialize($attendee), 'calnumber' => $calnumber);
$start_tmp = strtotime('+1 day',$start_tmp);
}
} else {
$nbrOfOverlaps = checkOverlap($recur_data_date, $start_time, $end_time, $uid);
- $master_array[($recur_data_date)][($hour.$minute)][$uid] = array ('event_start' => $start_time, 'event_end' => $end_time, 'start_unixtime' => $start_unixtime_tmp, 'end_unixtime' => $end_unixtime_tmp, 'event_text' => $summary, 'event_length' => $length, 'event_overlap' => $nbrOfOverlaps, 'description' => $description, 'status' => $status, 'class' => $class, 'spans_day' => false, 'calnumber' => $calnumber);
+ $master_array[($recur_data_date)][($hour.$minute)][$uid] = array ('event_start' => $start_time, 'event_end' => $end_time, 'start_unixtime' => $start_unixtime_tmp, 'end_unixtime' => $end_unixtime_tmp, 'event_text' => $summary, 'event_length' => $length, 'event_overlap' => $nbrOfOverlaps, 'description' => $description, 'status' => $status, 'class' => $class, 'spans_day' => false, 'location' => $location, 'organizer' => serialize($organizer), 'attendee' => serialize($attendee), 'calnumber' => $calnumber);
}
}
}
@@ -579,6 +579,9 @@ foreach ($cal_filelist as $filename) {
}
}
}
+
+ // Clear event data now that it's been saved.
+ unset($start_time, $start_time_tmp, $end_time, $end_time_tmp, $start_unixtime, $start_unixtime_tmp, $end_unixtime, $end_unixtime_tmp, $summary, $length, $nbrOfOverlaps, $description, $status, $class, $location, $organizer, $attendee);
// Begin VTODO Support
} elseif ($line == 'END:VTODO') {

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