/** * Deletes all marked threads. */ public function deleteAll() { if (!empty($this->threadIDs)) { list($boards, $boardIDs) = ThreadEditor::getBoards($this->threadIDs); // check permissions $sql = "SELECT \tthreadID, isDeleted, boardID\n\t\t\t\tFROM \twbb" . WBB_N . "_thread\n\t\t\t\tWHERE \tthreadID IN (" . $this->threadIDs . ")"; $result = WCF::getDB()->sendQuery($sql); while ($row = WCF::getDB()->fetchArray($result)) { if ($row['isDeleted'] || !THREAD_ENABLE_RECYCLE_BIN) { $boards[$row['boardID']]->checkModeratorPermission('canDeleteThreadCompletely'); } else { $boards[$row['boardID']]->checkModeratorPermission('canDeleteThread'); } } ThreadEditor::deleteAll($this->threadIDs, true, $this->reason); ThreadEditor::unmarkAll(); // refresh counts BoardEditor::refreshAll($boardIDs); // set last post foreach ($boards as $board) { $board->setLastPosts(); } self::resetCache(); } HeaderUtil::redirect($this->url); exit; }