/** * Merges the marked threads. */ public function merge() { if ($this->thread == null) { throw new IllegalLinkException(); } $this->board->checkModeratorPermission('canMergeThread'); list($boards, $boardIDs) = ThreadEditor::getBoards($this->threadIDs); // check permissions foreach ($boards as $board) { $board->checkModeratorPermission('canMergeThread'); } $this->thread->merge($this->threadIDs); ThreadEditor::unmarkAll(); // refresh counts BoardEditor::refreshAll($boardIDs . ',' . $this->board->boardID); // set last post $this->board->setLastPosts(); foreach ($boards as $board) { $board->setLastPosts(); } self::resetCache(); HeaderUtil::redirect('index.php?page=Thread&threadID=' . $this->thread->threadID . SID_ARG_2ND_NOT_ENCODED); exit; }