/** * @see \wcf\page\IPage::readData() */ public function readData() { parent::readData(); if (empty($_POST)) { // check for quick reply message $this->text = QuickReplyManager::getInstance()->getMessage('conversation', $this->conversation->conversationID); if (empty($this->text)) { if (MessageQuoteManager::getInstance()->getQuoteMessageID()) { $message = new ConversationMessage(MessageQuoteManager::getInstance()->getQuoteMessageID()); if (!$message->messageID) { throw new IllegalLinkException(); } if ($message->conversationID == $this->conversation->conversationID) { $message->setConversation($this->conversation); $this->text = MessageQuoteManager::getInstance()->renderQuote($message, $message->message); } } if (empty($this->text)) { // get all message ids from current conversation $sql = "SELECT\tmessageID\n\t\t\t\t\t\tFROM\twcf" . WCF_N . "_conversation_message\n\t\t\t\t\t\tWHERE\tconversationID = ?"; $statement = WCF::getDB()->prepareStatement($sql); $statement->execute(array($this->conversation->conversationID)); $messageIDs = array(); while ($row = $statement->fetchArray()) { $messageIDs[] = $row['messageID']; } $renderedQuotes = MessageQuoteManager::getInstance()->getQuotesByObjectIDs('com.woltlab.wcf.conversation.message', $messageIDs); if (!empty($renderedQuotes)) { $this->text = implode("\n", $renderedQuotes); } } } } // add breadcrumbs WCF::getBreadcrumbs()->add(new Breadcrumb(WCF::getLanguage()->get('wcf.conversation.conversations'), LinkHandler::getInstance()->getLink('ConversationList'))); WCF::getBreadcrumbs()->add($this->conversation->getBreadcrumb()); // get message list $this->messageList = new ViewableConversationMessageList(); $this->messageList->setConversation($this->conversation); $this->messageList->sqlLimit = CONVERSATION_REPLY_SHOW_MESSAGES_MAX; $this->messageList->sqlOrderBy = 'conversation_message.time DESC'; $this->messageList->getConditionBuilder()->add('conversation_message.conversationID = ?', array($this->conversation->conversationID)); $this->messageList->readObjects(); }
/** * @see \wcf\page\IPage::readData() */ public function readData() { MessageForm::readData(); if (empty($_POST)) { $this->text = $this->message->message; if ($this->isFirstMessage) { $this->participantCanInvite = $this->conversation->participantCanInvite; $this->subject = $this->conversation->subject; if ($this->conversation->isDraft && $this->conversation->draftData) { $draftData = @unserialize($this->conversation->draftData); if (!empty($draftData['participants'])) { foreach (UserProfile::getUserProfiles($draftData['participants']) as $user) { if (!empty($this->participants)) { $this->participants .= ', '; } $this->participants .= $user->username; } } if (!empty($draftData['invisibleParticipants'])) { foreach (UserProfile::getUserProfiles($draftData['invisibleParticipants']) as $user) { if (!empty($this->invisibleParticipants)) { $this->invisibleParticipants .= ', '; } $this->invisibleParticipants .= $user->username; } } } } } // add breadcrumbs WCF::getBreadcrumbs()->add(new Breadcrumb(WCF::getLanguage()->get('wcf.conversation.conversations'), LinkHandler::getInstance()->getLink('ConversationList'))); WCF::getBreadcrumbs()->add($this->conversation->getBreadcrumb()); // get message list $this->messageList = new ViewableConversationMessageList(); $this->messageList->setConversation($this->conversation); $this->messageList->sqlLimit = CONVERSATION_REPLY_SHOW_MESSAGES_MAX; $this->messageList->sqlOrderBy = 'conversation_message.time DESC'; $this->messageList->getConditionBuilder()->add('conversation_message.conversationID = ?', array($this->message->conversationID)); $this->messageList->getConditionBuilder()->add("conversation_message.messageID <> ?", array($this->message->messageID)); $this->messageList->readObjects(); }