Only add a recurrence-id if this is actually a repeating instance.

Signed-off-by: Andrew McMillan <andrew@morphoss.com>
This commit is contained in:
Andrew McMillan 2011-01-05 11:55:35 +13:00
parent ca6668c608
commit e28f200c5f
6 changed files with 42 additions and 9 deletions

View File

@ -946,6 +946,7 @@ function expand_event_instances( $vResource, $range_start = null, $range_end = n
$expand = false;
$dtstart = null;
$is_date = false;
$has_repeats = false;
foreach( $components AS $k => $comp ) {
if ( $comp->GetType() != 'VEVENT' && $comp->GetType() != 'VTODO' && $comp->GetType() != 'VJOURNAL' ) {
if ( $comp->GetType() != 'VTIMEZONE' ) $new_components[] = $comp;
@ -956,6 +957,8 @@ function expand_event_instances( $vResource, $range_start = null, $range_end = n
$dtstart = new RepeatRuleDateTime( $dtstart_prop );
$is_date = $dtstart->isDate();
$instances[$dtstart->FloatOrUTC()] = $comp;
$rrule = $comp->GetProperty('RRULE');
$has_repeats = isset($rrule);
}
$p = $comp->GetProperty('RECURRENCE-ID');
if ( isset($p) && $p->Value() != '' ) {
@ -1071,7 +1074,8 @@ function expand_event_instances( $vResource, $range_start = null, $range_end = n
$component->ClearProperties( array('DTSTART'=> true, 'DUE' => true, 'DTEND' => true,
'RRULE' => true, 'RDATE' => true, 'EXDATE' => true) );
$component->AddProperty('DTSTART', $utc, ($is_date ? array('VALUE' => 'DATE') : null) );
$component->AddProperty('RECURRENCE-ID', $utc, ($is_date ? array('VALUE' => 'DATE') : null) );
if ( $has_repeats )
$component->AddProperty('RECURRENCE-ID', $utc, ($is_date ? array('VALUE' => 'DATE') : null) );
$component->AddProperty('DURATION', $duration );
$new_components[] = $component;
}

View File

@ -16,6 +16,7 @@ UID:33169d69-2969-4a96-a3e1-2e312b7614e6
SUMMARY:Near Daily Action Meeting
X-MOZ-GENERATION:2
DTSTART:20081019T220000Z
RECURRENCE-ID:20081019T220000Z
DURATION:PT30M
END:VEVENT
BEGIN:VEVENT
@ -95,6 +96,7 @@ UID:047871e3-6b70-4178-9af8-0ceb50f7b092
SUMMARY:Weekly Project Meeting
X-MOZ-GENERATION:2
DTSTART:20081019T200000Z
RECURRENCE-ID:20081019T200000Z
DURATION:PT1H
END:VEVENT
BEGIN:VEVENT
@ -130,6 +132,7 @@ UID:9429a973-2b13-4b1a-be09-948d75425c45
SUMMARY:Weekly catch-up
X-MOZ-GENERATION:2
DTSTART:20081024T010000Z
RECURRENCE-ID:20081024T010000Z
DURATION:PT1H
END:VEVENT
BEGIN:VEVENT
@ -167,6 +170,7 @@ CREATED:20080303T015329Z
DTSTAMP:20080303T015422Z
DURATION:P1D
DTSTART:20081006T070000Z
RECURRENCE-ID:20081006T070000Z
DURATION:P1D
END:VEVENT
BEGIN:VEVENT

View File

@ -2,8 +2,8 @@ HTTP/1.1 207 Multi-Status
Date: Dow, 01 Jan 2000 00:00:00 GMT
DAV: 1, 2, 3, access-control, calendar-access, calendar-schedule
DAV: extended-mkcol, calendar-proxy, bind, addressbook
ETag: "8de0d254fb5a5aaeee4c7247782a544a"
Content-Length: 10328
ETag: "1797b792419f24d15eab9c20154a9a11"
Content-Length: 10360
Content-Type: text/xml; charset="utf-8"
<?xml version="1.0" encoding="utf-8" ?>
@ -390,6 +390,7 @@ DTSTAMP:20081123T210725Z
DURATION:PT1H
LOCATION:
DTSTART:20081123T230000Z
RECURRENCE-ID:20081123T230000Z
DURATION:PT1H
END:VEVENT
BEGIN:VEVENT

View File

@ -1,8 +1,8 @@
HTTP/1.1 207 Multi-Status
Date: Dow, 01 Jan 2000 00:00:00 GMT
DAV: 1, 2, calendar-access
ETag: "19e6f18060210151545c2eead42ed1eb"
Content-Length: 5771
ETag: "d19bcb248e8c45b4839ae6ace44bf39f"
Content-Length: 5803
Content-Type: text/xml; charset="utf-8"
<?xml version="1.0" encoding="utf-8" ?>
@ -23,6 +23,7 @@ UID:33169d69-2969-4a96-a3e1-2e312b7614e6
SUMMARY:Near Daily Action Meeting
X-MOZ-GENERATION:2
DTSTART:20081019T220000Z
RECURRENCE-ID:20081019T220000Z
DURATION:PT30M
END:VEVENT
BEGIN:VEVENT

View File

@ -2,8 +2,8 @@ HTTP/1.1 207 Multi-Status
Date: Dow, 01 Jan 2000 00:00:00 GMT
DAV: 1, 2, 3, access-control, calendar-access, calendar-schedule
DAV: extended-mkcol, calendar-proxy, bind, addressbook
ETag: "1ede6102fc1fe7d9d94f0e8f11fe6e42"
Content-Length: 13870
ETag: "0d40303fa8e92937b6b3e1e54c1e30b4"
Content-Length: 14640
Content-Type: text/xml; charset="utf-8"
<?xml version="1.0" encoding="utf-8" ?>
@ -24,6 +24,7 @@ UID:20081226-1-all-publicholidays-dol.govt.nz
SUMMARY:Boxing Day
TRANSP:TRANSPARENT
DTSTART;VALUE=DATE:20051226
RECURRENCE-ID;VALUE=DATE:20051226
DURATION:P1D
END:VEVENT
END:VCALENDAR
@ -49,6 +50,7 @@ SUMMARY:New Year's Day
TRANSP:TRANSPARENT
X-MOZ-GENERATION:1
DTSTART;VALUE=DATE:20050101
RECURRENCE-ID;VALUE=DATE:20050101
DURATION:P1D
END:VEVENT
END:VCALENDAR
@ -74,6 +76,7 @@ SUMMARY:Christmas Day
TRANSP:TRANSPARENT
X-MOZ-GENERATION:2
DTSTART;VALUE=DATE:20051225
RECURRENCE-ID;VALUE=DATE:20051225
DURATION:P1D
END:VEVENT
END:VCALENDAR
@ -99,6 +102,7 @@ SUMMARY:Waitangi Day
TRANSP:TRANSPARENT
X-MOZ-GENERATION:4
DTSTART;VALUE=DATE:20050206
RECURRENCE-ID;VALUE=DATE:20050206
DURATION:P1D
END:VEVENT
END:VCALENDAR
@ -124,6 +128,7 @@ SUMMARY:ANZAC Day
TRANSP:TRANSPARENT
X-MOZ-GENERATION:2
DTSTART;VALUE=DATE:20050425
RECURRENCE-ID;VALUE=DATE:20050425
DURATION:P1D
END:VEVENT
END:VCALENDAR
@ -148,6 +153,7 @@ UID:20090601-1-all-publicholidays-dol.govt.nz
SUMMARY:Queen's Birthday
TRANSP:TRANSPARENT
DTSTART;VALUE=DATE:20050606
RECURRENCE-ID;VALUE=DATE:20050606
DURATION:P1D
END:VEVENT
END:VCALENDAR
@ -172,6 +178,7 @@ UID:20091026-1-all-publicholidays-dol.govt.nz
SUMMARY:Labour Day
TRANSP:TRANSPARENT
DTSTART;VALUE=DATE:20051024
RECURRENCE-ID;VALUE=DATE:20051024
DURATION:P1D
END:VEVENT
END:VCALENDAR
@ -196,6 +203,7 @@ UID:20090102-1-all-publicholidays-dol.govt.nz
SUMMARY:Day after New Year's Day
TRANSP:TRANSPARENT
DTSTART;VALUE=DATE:20050102
RECURRENCE-ID;VALUE=DATE:20050102
DURATION:P1D
END:VEVENT
END:VCALENDAR
@ -221,6 +229,7 @@ SUMMARY:Boxing Day Holiday
TRANSP:TRANSPARENT
X-MOZ-GENERATION:1
DTSTART;VALUE=DATE:20051227
RECURRENCE-ID;VALUE=DATE:20051227
DURATION:P1D
END:VEVENT
END:VCALENDAR
@ -245,6 +254,7 @@ UID:20091228-1-all-publicholidays-dol.govt.nz
SUMMARY:Christmas Day Holiday
TRANSP:TRANSPARENT
DTSTART;VALUE=DATE:20051226
RECURRENCE-ID;VALUE=DATE:20051226
DURATION:P1D
END:VEVENT
END:VCALENDAR
@ -269,6 +279,7 @@ UID:20100101-1-all-publicholidays-dol.govt.nz
SUMMARY:New Year's Day Holiday
TRANSP:TRANSPARENT
DTSTART;VALUE=DATE:20050103
RECURRENCE-ID;VALUE=DATE:20050103
DURATION:P1D
END:VEVENT
END:VCALENDAR
@ -293,6 +304,7 @@ UID:20100607-1-all-publicholidays-dol.govt.nz
SUMMARY:Day after New Year's Day Holiday
TRANSP:TRANSPARENT
DTSTART;VALUE=DATE:20050104
RECURRENCE-ID;VALUE=DATE:20050104
DURATION:P1D
END:VEVENT
END:VCALENDAR
@ -317,6 +329,7 @@ UID:20081201-1-all-publicholidays-dol.govt.nz
SUMMARY:Westland Anniversary Day (Monday nearest 1st December)
TRANSP:TRANSPARENT
DTSTART;VALUE=DATE:20051128
RECURRENCE-ID;VALUE=DATE:20051128
DURATION:P1D
END:VEVENT
END:VCALENDAR
@ -341,6 +354,7 @@ UID:20081201-2-all-publicholidays-dol.govt.nz
SUMMARY:Chatham Islands Anniversary Day (Monday nearest 30th November)
TRANSP:TRANSPARENT
DTSTART;VALUE=DATE:20051128
RECURRENCE-ID;VALUE=DATE:20051128
DURATION:P1D
END:VEVENT
END:VCALENDAR
@ -365,6 +379,7 @@ UID:20090126-1-all-publicholidays-dol.govt.nz
SUMMARY:Auckland Anniversary Day (Monday nearest 29th January)
TRANSP:TRANSPARENT
DTSTART;VALUE=DATE:20050131
RECURRENCE-ID;VALUE=DATE:20050131
DURATION:P1D
END:VEVENT
END:VCALENDAR
@ -389,6 +404,7 @@ UID:20090119-1-all-publicholidays-dol.govt.nz
SUMMARY:Wellington Anniversary Day (Monday nearest 22nd January)
TRANSP:TRANSPARENT
DTSTART;VALUE=DATE:20050124
RECURRENCE-ID;VALUE=DATE:20050124
DURATION:P1D
END:VEVENT
END:VCALENDAR
@ -413,6 +429,7 @@ UID:20090119-2-all-publicholidays-dol.govt.nz
SUMMARY:Southland Anniversary Day (Monday nearest 17th January)
TRANSP:TRANSPARENT
DTSTART;VALUE=DATE:20050117
RECURRENCE-ID;VALUE=DATE:20050117
DURATION:P1D
END:VEVENT
END:VCALENDAR
@ -437,6 +454,7 @@ UID:20090202-1-all-publicholidays-dol.govt.nz
SUMMARY:Nelson Anniversary Day (Monday nearest 1st Feb)
TRANSP:TRANSPARENT
DTSTART;VALUE=DATE:20050131
RECURRENCE-ID;VALUE=DATE:20050131
DURATION:P1D
END:VEVENT
END:VCALENDAR
@ -462,6 +480,7 @@ SUMMARY:
Hawkes' Bay Anniversary Day (Friday before 4th Monday of October)
TRANSP:TRANSPARENT
DTSTART;VALUE=DATE:20051021
RECURRENCE-ID;VALUE=DATE:20051021
DURATION:P1D
END:VEVENT
END:VCALENDAR
@ -486,6 +505,7 @@ UID:20091102-1-all-publicholidays-dol.govt.nz
SUMMARY:Marlborough Anniversary Day (Monday after 4th Monday of October)
TRANSP:TRANSPARENT
DTSTART;VALUE=DATE:20051031
RECURRENCE-ID;VALUE=DATE:20051031
DURATION:P1D
END:VEVENT
END:VCALENDAR
@ -511,6 +531,7 @@ SUMMARY:Canterbury Anniversary Day (Second Friday after the first Tuesda
y in November)
TRANSP:TRANSPARENT
DTSTART;VALUE=DATE:20051111
RECURRENCE-ID;VALUE=DATE:20051111
DURATION:P1D
END:VEVENT
END:VCALENDAR
@ -535,6 +556,7 @@ UID:20090928-1-all-publicholidays-dol.govt.nz
SUMMARY:South Canterbury Anniversary Day (4th Monday in September)
TRANSP:TRANSPARENT
DTSTART;VALUE=DATE:20050926
RECURRENCE-ID;VALUE=DATE:20050926
DURATION:P1D
END:VEVENT
END:VCALENDAR

View File

@ -2,8 +2,8 @@ HTTP/1.1 207 Multi-Status
Date: Dow, 01 Jan 2000 00:00:00 GMT
DAV: 1, 2, 3, access-control, calendar-access, calendar-schedule
DAV: extended-mkcol, calendar-proxy, bind, addressbook
ETag: "f57bc105449e3d80e3411f3169b14ce4"
Content-Length: 722
ETag: "9eda5c6028557b75a22a4328a90a6d08"
Content-Length: 757
Content-Type: text/xml; charset="utf-8"
<?xml version="1.0" encoding="utf-8" ?>
@ -24,6 +24,7 @@ UID:20090601-1-all-publicholidays-dol.govt.nz
SUMMARY:Queen's Birthday
TRANSP:TRANSPARENT
DTSTART;VALUE=DATE:20050606
RECURRENCE-ID;VALUE=DATE:20050606
DURATION:P1D
END:VEVENT
END:VCALENDAR