/**
  * @see	\wcf\system\message\quote\AbstractMessageQuoteHandler::getMessages()
  */
 protected function getMessages(array $data)
 {
     // read news entries
     $newsList = new NewsList();
     $newsList->getConditionBuilder()->add('news.newsID IN (?)', array(array_keys($data)));
     $newsList->readObjects();
     $quotedMessages = $validNewsIDs = array();
     // create QuotedMessage objects
     foreach ($newsList->getObjects() as $news) {
         $validNewsIDs[] = $news->newsID;
         $message = new QuotedMessage($news);
         foreach (array_keys($data[$news->newsID]) as $quoteID) {
             $message->addQuote($quoteID, MessageQuoteManager::getInstance()->getQuote($quoteID, false), MessageQuoteManager::getInstance()->getQuote($quoteID, true));
         }
         $quotedMessages[] = $message;
     }
     // check for orphaned quotes
     if (count($validNewsIDs) != count($data)) {
         $orphanedQuoteIDs = array();
         foreach ($data as $newsID => $quoteIDs) {
             if (!in_array($newsID, $validNewsIDs)) {
                 foreach (array_keys($quoteIDs) as $quoteID) {
                     $orphanedQuoteIDs[] = $quoteID;
                 }
             }
         }
         MessageQuoteManager::getInstance()->removeOrphanedQuotes($orphanedQuoteIDs);
     }
     return $quotedMessages;
 }
 /**
  * @see	\wcf\system\message\quote\AbstractMessageQuoteHandler::getMessages()
  */
 protected function getMessages(array $data)
 {
     // read messages
     $messageList = new ConversationMessageList();
     $messageList->getConditionBuilder()->add("conversation_message.messageID IN (?)", array(array_keys($data)));
     $messageList->readObjects();
     $messages = $messageList->getObjects();
     // read conversations
     $conversationIDs = $validMessageIDs = array();
     foreach ($messages as $message) {
         $conversationIDs[] = $message->conversationID;
         $validMessageIDs[] = $message->messageID;
     }
     $quotedMessages = array();
     if (!empty($conversationIDs)) {
         $conversationList = new ConversationList();
         $conversationList->getConditionBuilder()->add("conversation.conversationID IN (?)", array($conversationIDs));
         $conversationList->readObjects();
         $conversations = $conversationList->getObjects();
         // create QuotedMessage objects
         foreach ($messages as $conversationMessage) {
             $conversationMessage->setConversation($conversations[$conversationMessage->conversationID]);
             $message = new QuotedMessage($conversationMessage);
             foreach (array_keys($data[$conversationMessage->messageID]) as $quoteID) {
                 $message->addQuote($quoteID, MessageQuoteManager::getInstance()->getQuote($quoteID, false), MessageQuoteManager::getInstance()->getQuote($quoteID, true));
             }
             $quotedMessages[] = $message;
         }
     }
     // check for orphaned quotes
     if (count($validMessageIDs) != count($data)) {
         $orphanedQuoteIDs = array();
         foreach ($data as $messageID => $quoteIDs) {
             if (!in_array($messageID, $validMessageIDs)) {
                 foreach (array_keys($quoteIDs) as $quoteID) {
                     $orphanedQuoteIDs[] = $quoteID;
                 }
             }
         }
         MessageQuoteManager::getInstance()->removeOrphanedQuotes($orphanedQuoteIDs);
     }
     return $quotedMessages;
 }
 /**
  * @see	\wcf\page\AbstractPage::assignVariables()
  */
 public function assignVariables()
 {
     parent::assignVariables();
     MessageQuoteManager::getInstance()->assignVariables();
     WCF::getTPL()->assign(array('allowSpidersToIndexThisPage' => true, 'attachmentList' => $this->entry->getAttachments(), 'commentCanAdd' => WCF::getSession()->getPermission('user.news.canWriteComment'), 'commentList' => $this->commentList, 'commentObjectTypeID' => $this->objectTypeID, 'lastCommentTime' => $this->commentList->getMinCommentTime(), 'likeData' => MODULE_LIKE ? $this->commentList->getLikeData() : array(), 'entry' => $this->entry, 'entryLikeData' => $this->entryLikeData, 'sidebarCollapsed' => UserCollapsibleContentHandler::getInstance()->isCollapsed('com.woltlab.wcf.collapsibleSidebar', 'de.incendium.cms.NewsEntryPage'), 'sidebarName' => 'de.incendium.cms.NewsPage', 'tags' => $this->tags, 'moreEntryList' => $this->moreEntryList));
 }
 /**
  * Returns a list of full quotes by object ids for given object types.
  * 
  * @return	array<array>
  */
 protected function getFullQuoteObjectIDs()
 {
     if (empty($this->objectTypes)) {
         throw new UserInputException('objectTypes');
     }
     try {
         return MessageQuoteManager::getInstance()->getFullQuoteObjectIDs($this->objectTypes);
     } catch (SystemException $e) {
         throw new UserInputException('objectTypes');
     }
 }
 /**
  * @see	\wcf\page\IPage::assignVariables()
  */
 public function assignVariables()
 {
     parent::assignVariables();
     // quotes
     MessageQuoteManager::getInstance()->assignVariables();
     // poll
     if ($this->canCreatePoll()) {
         PollManager::getInstance()->assignVariables();
     }
     WCF::getTPL()->assign(array('action' => $this->action, 'subject' => $this->subject, 'text' => $this->text, 'teaser' => $this->teaser, 'categoryList' => $this->categoryList, 'categoryIDs' => $this->categoryIDs, 'enableAutomaticArchiving' => $this->enableAutomaticArchiving, 'archivingDate' => $this->archivingDate, 'enableDelayedPublication' => $this->enableDelayedPublication, 'publicationDate' => $this->publicationDate, 'pictureID' => $this->pictureID, 'picture' => $this->picture, 'isHot' => $this->isHot, 'sources' => $this->sources, 'tags' => $this->tags, 'showSignatureSetting' => false, 'messageQuoteCount' => MessageQuoteManager::getInstance()->countQuotes()));
 }
 /**
  * @see	\wcf\data\IMessageQuoteAction::getRenderedQuotes()
  */
 public function getRenderedQuotes()
 {
     $quotes = MessageQuoteManager::getInstance()->getQuotesByParentObjectID('com.woltlab.wcf.conversation.message', $this->conversation->conversationID);
     return array('template' => implode("\n\n", $quotes));
 }
 /**
  * @see	\wcf\data\IMessageQuoteAction::getRenderedQuotes()
  */
 public function getRenderedQuotes()
 {
     $quotes = MessageQuoteManager::getInstance()->getQuotesByParentObjectID('de.voolia.news.entry', $this->newsEditor->newsID);
     return array('template' => implode("\n\n", $quotes));
 }
 /**
  * @see	\wcf\page\IPage::assignVariables()
  */
 public function assignVariables()
 {
     parent::assignVariables();
     MessageQuoteManager::getInstance()->assignVariables();
     WCF::getTPL()->assign(array('conversation' => $this->conversation, 'conversationID' => $this->conversationID, 'items' => $this->messageList->countObjects(), 'messages' => $this->messageList->getObjects(), 'attachmentList' => $this->messageList->getAttachmentList()));
 }
 /**
  * @see	\wcf\page\AbstractPage::assignVariables()
  */
 public function assignVariables()
 {
     parent::assignVariables();
     MessageQuoteManager::getInstance()->assignVariables();
     // configuration for dashboard boxes
     DashboardHandler::getInstance()->loadBoxes('de.voolia.news.NewsPage', $this);
     WCF::getTPL()->assign(array('allowSpidersToIndexThisPage' => true, 'attachmentList' => $this->news->getAttachments(), 'commentCanAdd' => WCF::getSession()->getPermission('user.news.canWriteComment'), 'commentList' => $this->commentList, 'commentObjectTypeID' => $this->objectTypeID, 'lastCommentTime' => $this->commentList->getMinCommentTime(), 'likeData' => MODULE_LIKE ? $this->commentList->getLikeData() : array(), 'news' => $this->news, 'newsLikeData' => $this->newsLikeData, 'sidebarCollapsed' => UserCollapsibleContentHandler::getInstance()->isCollapsed('com.woltlab.wcf.collapsibleSidebar', 'de.voolia.news.NewsPage'), 'sidebarName' => 'de.voolia.news.NewsPage', 'tags' => $this->tags, 'moreNewsList' => $this->moreNewsList));
 }
 /**
  * @see	\wcf\page\IPage::assignVariables()
  */
 public function assignVariables()
 {
     parent::assignVariables();
     MessageQuoteManager::getInstance()->assignVariables();
     WCF::getTPL()->assign(array('participantCanInvite' => $this->participantCanInvite, 'participants' => $this->participants, 'invisibleParticipants' => $this->invisibleParticipants));
 }
 /**
  * @see	\wcf\page\IPage::assignVariables()
  */
 public function assignVariables()
 {
     parent::assignVariables();
     // quotes
     MessageQuoteManager::getInstance()->assignVariables();
     // poll
     if ($this->canCreatePoll()) {
         PollManager::getInstance()->assignVariables();
     }
     WCF::getTPL()->assign(array('action' => 'add', 'subject' => $this->subject, 'text' => $this->text, 'categoryList' => $this->categoryList, 'categoryIDs' => $this->categoryIDs, 'enableDelayedPublication' => $this->enableDelayedPublication, 'publicationDate' => $this->publicationDate, 'isFeatured' => $this->isFeatured, 'tags' => $this->tags, 'showSignatureSetting' => false, 'messageQuoteCount' => MessageQuoteManager::getInstance()->countQuotes()));
 }
 /**
  * @see	\wcf\page\IPage::assignVariables()
  */
 public function assignVariables()
 {
     parent::assignVariables();
     MessageQuoteManager::getInstance()->assignVariables();
     $tmpHash = StringUtil::getRandomID();
     $attachmentHandler = new AttachmentHandler('com.woltlab.wcf.conversation.message', 0, $tmpHash, 0);
     WCF::getTPL()->assign(array('attachmentHandler' => $attachmentHandler, 'attachmentObjectID' => 0, 'attachmentObjectType' => 'com.woltlab.wcf.conversation.message', 'attachmentParentObjectID' => 0, 'tmpHash' => $tmpHash, 'attachmentList' => $this->objectList->getAttachmentList(), 'labelList' => $this->labelList, 'modificationLogList' => $this->modificationLogList, 'sortOrder' => $this->sortOrder, 'conversation' => $this->conversation, 'conversationID' => $this->conversationID, 'participants' => $this->participantList->getObjects(), 'defaultSmilies' => SmileyCache::getInstance()->getCategorySmilies(), 'permissionCanUseSmilies' => 'user.message.canUseSmilies'));
     BBCodeHandler::getInstance()->setAllowedBBCodes(explode(',', WCF::getSession()->getPermission('user.message.allowedBBCodes')));
 }
 /**
  * @see	\wcf\page\IPage::assignVariables()
  */
 public function assignVariables()
 {
     parent::assignVariables();
     // quotes
     MessageQuoteManager::getInstance()->assignVariables();
     WCF::getTPL()->assign(array('entryID' => $this->entryID, 'entry' => $this->entry));
 }