diff options
author | Chad Little <clittle@users.sourceforge.net> | 2002-11-21 22:05:52 +0000 |
---|---|---|
committer | Chad Little <clittle@users.sourceforge.net> | 2002-11-21 22:05:52 +0000 |
commit | 65669516eee7b3775725279c458a115fb771d3b3 (patch) | |
tree | f01f7e11d27db0fb847dd44b8bc4e3030a136414 | |
parent | f6879c29565e7978c9477123af6f36dd7d71c027 (diff) | |
download | phpicalendar-65669516eee7b3775725279c458a115fb771d3b3.tar.gz phpicalendar-65669516eee7b3775725279c458a115fb771d3b3.tar.bz2 phpicalendar-65669516eee7b3775725279c458a115fb771d3b3.zip |
cleaner calendar, some recurrence id stuff. still not working.
-rw-r--r-- | calendars/greg.ics | 19 | ||||
-rw-r--r-- | functions/ical_parser.php | 27 |
2 files changed, 23 insertions, 23 deletions
diff --git a/calendars/greg.ics b/calendars/greg.ics index 4a22467..b5de9b9 100644 --- a/calendars/greg.ics +++ b/calendars/greg.ics @@ -7,25 +7,6 @@ X-WR-CALNAME;VALUE=TEXT:Recurrance VERSION:2.0 BEGIN:VEVENT -SEQUENCE:14 -DTSTAMP:20021121T040319Z -SUMMARY:Monthly -UID:80DEF908-FD77-11D6-B909-000393BBDCD8 -DTSTART;TZID=US/Pacific:20021120T101500 -DURATION:PT2H30M -RRULE:FREQ=MONTHLY;INTERVAL=1;BYMONTHDAY=19,20,21 -END:VEVENT - -BEGIN:VEVENT -RECURRENCE-ID;TZID=US/Pacific:20021121T101500 -DTSTAMP:20021121T040425Z -SUMMARY:Monthly changed -DTSTART;TZID=US/Pacific:20021122T101500 -UID:80DEF908-FD77-11D6-B909-000393BBDCD8 -DURATION:PT2H30M -END:VEVENT - -BEGIN:VEVENT SEQUENCE:8 DTSTART;TZID=US/Eastern:20020928T200000 DTSTAMP:20021121T170222Z diff --git a/functions/ical_parser.php b/functions/ical_parser.php index 1918902..b4bdd0f 100644 --- a/functions/ical_parser.php +++ b/functions/ical_parser.php @@ -162,7 +162,9 @@ if ($parse_file) { } // RECURRENCE-ID Support - $recurrence_delete = array ("$recurrence_d" => array ("$recurrence_t" => $uid)); + if ($recurrence_d) { + $recurrence_delete["$recurrence_d"]["$recurrence_t"] = $uid; + } // handle single changes in recurring events // Maybe this is no longer need since done at bottom of parser? - CL 11/20/02 @@ -812,14 +814,31 @@ if ($parse_file) { // Remove pesky recurrences foreach ($recurrence_delete as $delete => $delete_key) { foreach ($delete_key as $key => $val) { - if (is_array($master_array["$delete"]["$key"]["$val"])) { + if (is_array($master_array[($delete)][($key)][($val)])) { unset($master_array["$delete"]["$key"]["$val"]); - if (sizeof($master_array["$delete"]["$key"] < 1)) { + // Remove date from array if no events + if (sizeof($master_array["$delete"]["$key"] = 1)) { + #echo "deleting $delete $key $val<br>"; unset($master_array["$delete"]["$key"]); - if (sizeof($master_array["$delete"] < 1)) { + if (!sizeof($master_array["$delete"] > 1)) { + #echo "deleting $delete $key $val<br>"; unset($master_array["$delete"]); } } + // print_r($master_array["$delete"]); + // Check for overlaps and rewrite them + foreach($master_array["$delete"] as $overlap_time => $overlap_val) { + $recur_data_date = $delete; + foreach ($overlap_val as $uid => $val) { + $start_time = $val['event_start']; + $end_time = $val['event_end']; + reset($master_array); + #$nbrOfOverlaps = checkOverlap($recur_data_date, $start_time, $end_time); + $master_array[($recur_data_date)][($start_time)][($uid)]['event_overlap'] = $nbrOfOverlaps; + #echo "$recur_data_date - $uid - $start_time - $end_time - $nbrOfOverlaps<br>"; + #print_r($val); + } + } } } } |