set_title("Admin Tools");
        $page->set_heading("Admin Tools");
        $page->add_block(new NavBlock());
    }
    protected function button(string $name, string $action, bool $protected=false): string
    {
        $c_protected = $protected ? " protected" : "";
        $html = make_form(make_link("admin/$action"), "POST", false, "admin$c_protected");
        if ($protected) {
            $html .= "";
            $html .= "";
        } else {
            $html .= "";
        }
        $html .= "\n";
        return $html;
    }
    /*
     * Show a form which links to admin_utils with POST[action] set to one of:
     *  'lowercase all tags'
     *  'recount tag use'
     *  etc
     */
    public function display_form()
    {
        global $page, $database;
        $html = "";
        $html .= $this->button("All tags to lowercase", "lowercase_all_tags", true);
        $html .= $this->button("Recount tag use", "recount_tag_use", false);
        if (class_exists('ZipArchive')) {
            $html .= $this->button("Download all images", "download_all_images", false);
        }
        $html .= $this->button("Download database contents", "database_dump", false);
        if ($database->get_driver_name() == DatabaseDriver::MYSQL) {
            $html .= $this->button("Reset image IDs", "reset_image_ids", true);
        }
        $page->add_block(new Block("Misc Admin Tools", $html));
        $html = make_form(make_link("admin/set_tag_case"), "POST");
        $html .= "";
        $html .= "";
        $html .= "\n";
        $page->add_block(new Block("Set Tag Case", $html));
    }
    public function dbq_html($terms)
    {
        if(ext_is_live("Trash")) {
            $warning = "This delete method will bypass the trash
";
        }
        if (class_exists("ImageBan")) {
            $h_reason = "";
        }
        $html = $warning.make_form(make_link("admin/delete_by_query"), "POST") . "
				
				
				$h_reason
				
			
		";
        return $html;
    }
}