delete by query

This commit is contained in:
Shish 2010-12-23 14:00:50 +00:00
parent d8c88d373f
commit 726dd80662
2 changed files with 21 additions and 0 deletions

View File

@ -58,6 +58,10 @@ class AdminPage implements Extension {
$redirect = false;
switch($_POST['action']) {
case 'delete by query':
$this->delete_by_query($_POST['query']);
$redirect = true;
break;
case 'lowercase all tags':
$this->lowercase_all_tags();
$redirect = true;
@ -98,6 +102,14 @@ class AdminPage implements Extension {
}
}
private function delete_by_query($query) {
global $page, $user;
assert(strlen($query) > 1);
foreach(Image::find_images(0, 1000000, Tag::explode($query)) as $image) {
send_event(new ImageDeletionEvent($image));
}
}
private function lowercase_all_tags() {
global $database;
$database->execute("UPDATE tags SET tag=lower(tag)");

View File

@ -32,6 +32,15 @@ class AdminPageTheme extends Themelet {
</form>
";
$page->add_block(new Block("Misc Admin Tools", $html));
$html = "
".make_form(make_link("admin_utils"))."
<input type='hidden' name='action' value='delete by query'>
<input type='text' name='query'>
<input type='submit' value='Go'>
</form>
";
$page->add_block(new Block("Delete by Query", $html));
}
}
?>