aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChad Little <clittle@users.sourceforge.net>2002-11-21 22:05:52 +0000
committerChad Little <clittle@users.sourceforge.net>2002-11-21 22:05:52 +0000
commit65669516eee7b3775725279c458a115fb771d3b3 (patch)
treef01f7e11d27db0fb847dd44b8bc4e3030a136414
parentf6879c29565e7978c9477123af6f36dd7d71c027 (diff)
downloadphpicalendar-65669516eee7b3775725279c458a115fb771d3b3.tar.gz
phpicalendar-65669516eee7b3775725279c458a115fb771d3b3.tar.bz2
phpicalendar-65669516eee7b3775725279c458a115fb771d3b3.zip
cleaner calendar, some recurrence id stuff. still not working.
-rw-r--r--calendars/greg.ics19
-rw-r--r--functions/ical_parser.php27
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);
+ }
+ }
}
}
}

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