/**
  * @see	\wcf\system\importer\IImporter::import()
  */
 public function import($oldID, array $data, array $additionalData = array())
 {
     $data['userID'] = ImportHandler::getInstance()->getNewID('com.woltlab.wcf.user', $data['userID']);
     $data['commentID'] = ImportHandler::getInstance()->getNewID($this->objectTypeName, $data['commentID']);
     if (!$data['commentID']) {
         return 0;
     }
     $response = CommentResponseEditor::create($data);
     $sql = "SELECT\t\tresponseID\n\t\t\tFROM\t\twcf" . WCF_N . "_comment_response\n\t\t\tWHERE\t\tcommentID = ?\n\t\t\tORDER BY\ttime ASC, responseID ASC";
     $statement = WCF::getDB()->prepareStatement($sql, 5);
     $statement->execute(array($response->commentID));
     $responseIDs = array();
     while ($responseID = $statement->fetchColumn()) {
         $responseIDs[] = $responseID;
     }
     // update parent comment
     $sql = "UPDATE\twcf" . WCF_N . "_comment\n\t\t\tSET\tresponseIDs = ?,\n\t\t\t\tresponses = responses + 1\n\t\t\tWHERE\tcommentID = ?";
     $statement = WCF::getDB()->prepareStatement($sql);
     $statement->execute(array(serialize($responseIDs), $response->commentID));
     return $response->responseID;
 }
 /**
  * @see	\wcf\system\faker\IFaker::fake()
  */
 public function fake()
 {
     $sql = "SELECT\t\t*\n\t\t\tFROM\t\twcf" . WCF_N . "_comment\n\t\t\tWHERE\t\tobjectTypeID = ?";
     $statement = \wcf\system\WCF::getDB()->prepareStatement($sql, 1, $this->generator->numberBetween(0, $this->commentCount - 1));
     $statement->execute(array($this->objectTypeID));
     $target = $statement->fetchObject('\\wcf\\data\\comment\\Comment');
     $sql = "SELECT\t\tuserID, username, registrationDate\n\t\t\tFROM\t\twcf" . WCF_N . "_user\n\t\t\tORDER BY\tuserID ASC";
     $statement = \wcf\system\WCF::getDB()->prepareStatement($sql, 1, $this->generator->numberBetween(0, $this->userCount - 1));
     $statement->execute();
     $sender = $statement->fetchObject('\\wcf\\data\\user\\User');
     // create response
     $response = \wcf\data\comment\response\CommentResponseEditor::create(array('commentID' => $target->commentID, 'time' => $this->generator->numberBetween(max($sender->registrationDate, $target->time), TIME_NOW), 'userID' => $sender->userID, 'username' => $sender->username, 'message' => $this->generator->realText($this->generator->numberBetween(10, 5000))));
     // update response data
     $responseIDs = $target->getResponseIDs();
     if (count($responseIDs) < 3) {
         $responseIDs[] = $response->responseID;
     }
     $responses = $target->responses + 1;
     // update comment
     $commentEditor = new \wcf\data\comment\CommentEditor($target);
     $commentEditor->update(array('responseIDs' => serialize($responseIDs), 'responses' => $responses));
     // update counter
     $this->objectType->getProcessor()->updateCounter($target->objectID, 1);
 }
Exemplo n.º 3
0
 /**
  * Edits a comment or response.
  * 
  * @return	array
  */
 public function edit()
 {
     $returnValues = array('action' => 'saved');
     if ($this->response === null) {
         $editor = new CommentEditor($this->comment);
         $editor->update(array('message' => $this->parameters['data']['message']));
         $comment = new Comment($this->comment->commentID);
         $returnValues['commentID'] = $this->comment->commentID;
         $returnValues['message'] = $comment->getFormattedMessage();
     } else {
         $editor = new CommentResponseEditor($this->response);
         $editor->update(array('message' => $this->parameters['data']['message']));
         $response = new CommentResponse($this->response->responseID);
         $returnValues['responseID'] = $this->response->responseID;
         $returnValues['message'] = $response->getFormattedMessage();
     }
     return $returnValues;
 }