/** * @param Workflow $workflow * @param User $user * @param string $content * @param string $format wikitext|html * @param string[optional] $changeType * @return PostRevision */ public function reply(Workflow $workflow, User $user, $content, $format, $changeType = 'reply') { $reply = new self(); // UUIDs should not be reused for different entities/entity types in the future. // (It is also inconsistent with newFromId, which uses separate ones.) // This may be changed here in the future. $reply->revId = $reply->postId = UUID::create(); $reply->user = UserTuple::newFromUser($user); $reply->origUser = $reply->user; $reply->replyToId = $this->postId; $reply->setContent($content, $format, $workflow->getArticleTitle()); $reply->changeType = $changeType; $reply->setChildren(array()); $reply->setDepth($this->getDepth() + 1); $reply->rootPost = $this->rootPost; return $reply; }