/** * @see Page::readData() */ public function readData() { parent::readData(); // get users online if (MODULE_USERS_ONLINE && THREAD_ENABLE_ONLINE_LIST) { $this->renderOnlineList(); } // get posts $this->postList->offset = ($this->pageNo - 1) * $this->itemsPerPage; $this->postList->limit = $this->itemsPerPage; $this->postList->readPosts(); $this->readSimilarThreads(); // update thread visit if ($this->thread->isNew() && $this->postList->maxPostTime > $this->thread->lastVisitTime) { WCF::getUser()->setThreadVisitTime($this->threadID, $this->postList->maxPostTime); } // get marked posts $sessionVars = WCF::getSession()->getVars(); if (isset($sessionVars['markedPosts'])) { $this->markedPosts = count($sessionVars['markedPosts']); } if (isset($sessionVars['markedThreads'])) { $this->markedThreads = count($sessionVars['markedThreads']); } if (isset($sessionVars['quotes'][$this->threadID])) { foreach ($sessionVars['quotes'][$this->threadID] as $postID => $postQuotes) { $this->quotes += count($postQuotes); } } // get tags if (MODULE_TAGGING && THREAD_ENABLE_TAGS) { $this->readTags(); } // init sidebars $this->sidebarFactory = new MessageSidebarFactory($this); foreach ($this->postList->posts as $post) { $this->sidebarFactory->create($post); } $this->sidebarFactory->init(); // update views if (!WCF::getSession()->spiderID) { $this->updateViews(); } }