/**
  * 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;
 }