set_title("Admin Tools");
$page->set_heading("Admin Tools");
$page->add_block(new NavBlock());
}
protected function button(/*string*/ $name, /*string*/ $action, /*boolean*/ $protected=false) {
$c_protected = $protected ? " protected" : "";
$html = make_form(make_link("admin_utils"), "POST", false, false, false, "admin$c_protected");
if($protected) {
$html .= "";
}
$html .= "";
if($protected) {
$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'
* 'purge unused tags'
*/
public function display_form(Page $page) {
global $user;
$html = "";
$html .= $this->button("All tags to lowercase", "lowercase_all_tags", true);
$html .= $this->button("Recount tag use", "recount_tag_user", false);
$html .= $this->button("Purge unused tags", "purge_unused_tags", true);
$html .= $this->button("Download database contents", "database_dump", false);
$html .= $this->button("Reset image IDs", "reset_image_ids", true);
$html .= $this->button("Download all images", "image_dump", false);
$page->add_block(new Block("Misc Admin Tools", $html));
/* First check
Requires you to click the checkbox to enable the delete by query form */
$dbqcheck = 'javascript:$(function() {
if($("#dbqcheck:checked").length != 0){
$("#dbqtags").attr("disabled", false);
$("#dbqsubmit").attr("disabled", false);
}else{
$("#dbqtags").attr("disabled", true);
$("#dbqsubmit").attr("disabled", true);
}
});';
/* Second check
Requires you to confirm the deletion by clicking ok. */
$html = "
"
.make_form(make_link("admin_utils"),"post",false,false,"return checkform()")."
";
$page->add_block(new Block("Delete by Query", $html));
}
}
?>