private function newUpdateTransactions(PhabricatorCalendarEvent $event, PhutilCalendarEventNode $node) { $xactions = array(); $uid = $node->getUID(); if (!$event->getID()) { $xactions[] = id(new PhabricatorCalendarEventTransaction())->setTransactionType(PhabricatorTransactions::TYPE_CREATE)->setNewValue(true); } $name = $node->getName(); if (!strlen($name)) { if (strlen($uid)) { $name = pht('Unnamed Event "%s"', $uid); } else { $name = pht('Unnamed Imported Event'); } } $xactions[] = id(new PhabricatorCalendarEventTransaction())->setTransactionType(PhabricatorCalendarEventNameTransaction::TRANSACTIONTYPE)->setNewValue($name); $description = $node->getDescription(); $xactions[] = id(new PhabricatorCalendarEventTransaction())->setTransactionType(PhabricatorCalendarEventDescriptionTransaction::TRANSACTIONTYPE)->setNewValue((string) $description); $is_recurring = (bool) $node->getRecurrenceRule(); $xactions[] = id(new PhabricatorCalendarEventTransaction())->setTransactionType(PhabricatorCalendarEventRecurringTransaction::TRANSACTIONTYPE)->setNewValue($is_recurring); return $xactions; }