diff options
author | Wesley Miaw <josuah@users.sourceforge.net> | 2003-09-17 20:38:12 +0000 |
---|---|---|
committer | Wesley Miaw <josuah@users.sourceforge.net> | 2003-09-17 20:38:12 +0000 |
commit | 98a39294b0f7f9ddbdf063d23d1e99b5155f9104 (patch) | |
tree | 69aa2861e6961d36c0be2b89243f5a1470c8c4c6 | |
parent | 95f606259285ecea15b7378bbb95353df469a564 (diff) | |
download | phpicalendar-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.php | 7 |
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') { |