Page MenuHomePhabricator

D16760.id40363.diff
No OneTemporary

D16760.id40363.diff

diff --git a/src/parser/calendar/ics/PhutilICSParser.php b/src/parser/calendar/ics/PhutilICSParser.php
--- a/src/parser/calendar/ics/PhutilICSParser.php
+++ b/src/parser/calendar/ics/PhutilICSParser.php
@@ -664,6 +664,10 @@
$text = $this->newTextFromProperty($parameters, $value);
$node->setRecurrenceID($text);
break;
+ case 'ATTENDEE':
+ $attendee = $this->newAttendeeFromProperty($parameters, $value);
+ $node->addAttendee($attendee);
+ break;
}
}
@@ -673,6 +677,30 @@
return implode("\n\n", $value);
}
+ private function newAttendeeFromProperty(array $parameters, array $value) {
+ $uri = $value['value'];
+
+ switch (idx($parameters, 'PARTSTAT')) {
+ case 'ACCEPTED':
+ $status = PhutilCalendarUserNode::STATUS_ACCEPTED;
+ break;
+ case 'DECLINED':
+ $status = PhutilCalendarUserNode::STATUS_DECLINED;
+ break;
+ case 'NEEDS-ACTION':
+ default:
+ $status = PhutilCalendarUserNode::STATUS_INVITED;
+ break;
+ }
+
+ $name = $this->getScalarParameterValue($parameters, 'CN');
+
+ return id(new PhutilCalendarUserNode())
+ ->setURI($uri)
+ ->setName($name)
+ ->setStatus($status);
+ }
+
private function newDateTimeFromProperty(array $parameters, array $value) {
$value = $value['value'];

File Metadata

Mime Type
text/plain
Expires
Thu, Mar 20, 10:04 AM (2 d, 1 h ago)
Storage Engine
blob
Storage Format
Encrypted (AES-256-CBC)
Storage Handle
7317800
Default Alt Text
D16760.id40363.diff (1 KB)

Event Timeline