private function materializeStub(PhabricatorCalendarEvent $event) { if (!$event->getIsStub()) { throw new Exception(pht('Can not materialize an event stub: this event is not a stub.')); } $actor = $this->getActor(); $event->copyFromParent($actor); $event->setIsStub(0); $invitees = $event->getParentEvent()->getInvitees(); $new_invitees = array(); foreach ($invitees as $invitee) { $invitee = id(new PhabricatorCalendarEventInvitee())->setEventPHID($event->getPHID())->setInviteePHID($invitee->getInviteePHID())->setInviterPHID($invitee->getInviterPHID())->setStatus($invitee->getStatus())->save(); $new_invitees[] = $invitee; } $event->save(); $event->attachInvitees($new_invitees); }