diff options
author | drei <drei> | 2002-12-02 00:42:49 +0000 |
---|---|---|
committer | drei <drei> | 2002-12-02 00:42:49 +0000 |
commit | 38d5fc1d0fe541e85a6f0e1a94ee6ac71692e08a (patch) | |
tree | a45d1c33acce48f273d0fab3686e2049bf55634d /functions | |
parent | bf8e906c59c11ea2ee82527e6ac665cb9a25fd62 (diff) | |
download | phpicalendar-38d5fc1d0fe541e85a6f0e1a94ee6ac71692e08a.tar.gz phpicalendar-38d5fc1d0fe541e85a6f0e1a94ee6ac71692e08a.tar.bz2 phpicalendar-38d5fc1d0fe541e85a6f0e1a94ee6ac71692e08a.zip |
call 'removeOverlap' before unsetting events in $master_array (for irregular recurring events)
added parameter uid to 'checkOverlap'
Diffstat (limited to 'functions')
-rw-r--r-- | functions/ical_parser.php | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/functions/ical_parser.php b/functions/ical_parser.php index 505b17e..eda7cc6 100644 --- a/functions/ical_parser.php +++ b/functions/ical_parser.php @@ -126,6 +126,7 @@ if ($parse_file) { if (!isset($summary)) $summary = $master_array[$old_start_date][$old_start_time][$uid]['event_text']; if (!isset($length)) $length = $master_array[$old_start_date][$old_start_time][$uid]['event_length']; if (!isset($description)) $description = $master_array[$old_start_date][$old_start_time][$uid]['description']; + removeOverlap($start_date_tmp, $old_start_time, $uid); unset($master_array[$start_date_tmp][$old_start_time]); $write_processed = false; } else { @@ -192,7 +193,7 @@ if ($parse_file) { // Handling regular events if ((isset($start_time) && $start_time != '') && (!isset($allday_start) || $allday_start == '')) { - $nbrOfOverlaps = checkOverlap($start_date, $start_time, $end_time); + $nbrOfOverlaps = checkOverlap($start_date, $start_time, $end_time, $uid); $master_array[($start_date)][($hour.$minute)][$uid] = array ('event_start' => $start_time, 'event_text' => $summary, 'event_end' => $end_time, 'event_length' => $length, 'event_overlap' => $nbrOfOverlaps, 'description' => $description, 'status' => $status, 'class' => $class); if (!$write_processed) $master_array[($start_date)][($hour.$minute)][$uid]['exception'] = true; } @@ -456,7 +457,7 @@ if ($parse_file) { $start_time2 = strtotime('+1 day', $start_time2); } } else { - $nbrOfOverlaps = checkOverlap($recur_data_date, $start_time, $end_time); + $nbrOfOverlaps = checkOverlap($recur_data_date, $start_time, $end_time, $uid); $master_array[($recur_data_date)][($hour.$minute)][$uid] = array ('event_start' => $start_time, 'event_text' => $summary, 'event_end' => $end_time, 'event_length' => $length, 'event_overlap' => $nbrOfOverlaps, 'description' => $description, 'status' => $status, 'class' => $class); } } @@ -825,6 +826,7 @@ if ($parse_file) { #echo "Before Delete:: $delete $key $val<br>"; #print_r($master_array["$delete"]); if (is_array($master_array[($delete)][($key)][($val)])) { + removeOverlap($delete, $key, $val); unset($master_array["$delete"]["$key"]["$val"]); // Remove date from array if no events if (sizeof($master_array["$delete"]["$key"] = 1)) { @@ -842,7 +844,7 @@ if ($parse_file) { foreach ($overlap_val as $uid => $val) { $start_time = $val['event_start']; $end_time = $val['event_end']; - #$nbrOfOverlaps = checkOverlap($recur_data_date, $start_time, $end_time); + #$nbrOfOverlaps = checkOverlap($recur_data_date, $start_time, $end_time, $uid); #$master_array[($recur_data_date)][($start_time)][($uid)]['event_overlap'] = 0; #echo "$recur_data_date - $uid - $start_time - $end_time - $nbrOfOverlaps<br>"; #print_r($val); |