コード例 #1
0
 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;
 }