diff --git a/plugins/libcalendaring/libvcalendar.php b/plugins/libcalendaring/libvcalendar.php index b94ceed9..787ca722 100644 --- a/plugins/libcalendaring/libvcalendar.php +++ b/plugins/libcalendaring/libvcalendar.php @@ -453,7 +453,8 @@ class libvcalendar implements Iterator break; case 'RELATED-TO': - if ($prop->offsetGet('RELTYPE') == 'PARENT') { + $reltype = $prop->offsetGet('RELTYPE'); + if ($reltype == 'PARENT' || $reltype === null) { $event['parent_id'] = $prop->value; } break; diff --git a/plugins/libcalendaring/tests/libvcalendar.php b/plugins/libcalendaring/tests/libvcalendar.php index ce4edeab..bb0f1218 100644 --- a/plugins/libcalendaring/tests/libvcalendar.php +++ b/plugins/libcalendaring/tests/libvcalendar.php @@ -322,6 +322,7 @@ class libvcalendar_test extends PHPUnit_Framework_TestCase $this->assertEquals('IN-PROCESS', $task['status'], "Task status property"); $this->assertEquals(1, count($task['x-custom']), "Custom properties"); $this->assertEquals(4, count($task['categories'])); + $this->assertEquals('1234567890-12345678-PARENT', $task['parent_id'], "Parent Relation"); } /** diff --git a/plugins/libcalendaring/tests/resources/vtodo.ics b/plugins/libcalendaring/tests/resources/vtodo.ics index 0d4534c4..746787da 100644 --- a/plugins/libcalendaring/tests/resources/vtodo.ics +++ b/plugins/libcalendaring/tests/resources/vtodo.ics @@ -31,6 +31,8 @@ SEQUENCE:2 CATEGORIES:Tag1,Tag2 CATEGORIES:Tag3 CATEGORIES:Tag4 +RELATED-TO:1234567890-12345678-PARENT +RELATED-TO;RELTYPE=CHILD:1234567890-12345678-CHILD X-MOZ-GENERATION:1 BEGIN:VALARM ACTION:DISPLAY