diff --git a/ext/admin/main.php b/ext/admin/main.php index e7fceee0..179a13c7 100644 --- a/ext/admin/main.php +++ b/ext/admin/main.php @@ -125,6 +125,15 @@ class AdminPage extends Extension { return false; } + private function set_tag_case() { + global $database; + $database->execute($database->scoreql_to_sql( + "UPDATE tags SET tag=:tag1 WHERE SCORE_STRNORM(tag) = SCORE_STRNORM(:tag2)" + ), array("tag1" => $_POST['tag'], "tag2" => $_POST['tag'])); + log_info("admin", "Fixed the case of ".html_escape($_POST['tag']), true); + return true; + } + private function lowercase_all_tags() { global $database; $database->execute("UPDATE tags SET tag=lower(tag)"); diff --git a/ext/admin/theme.php b/ext/admin/theme.php index c6e8fb94..7069afc0 100644 --- a/ext/admin/theme.php +++ b/ext/admin/theme.php @@ -31,6 +31,7 @@ class AdminPageTheme extends Themelet { * 'lowercase all tags' * 'recount tag use' * 'purge unused tags' + * etc */ public function display_form() { global $page, $database; @@ -40,8 +41,13 @@ class AdminPageTheme extends Themelet { $html .= $this->button("Recount tag use", "recount_tag_user", false); $html .= $this->button("Download all images", "image_dump", false); $html .= $this->button("Download database contents", "database_dump", false); - $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) {