delete by query
This commit is contained in:
parent
d8c88d373f
commit
726dd80662
@ -58,6 +58,10 @@ class AdminPage implements Extension {
|
|||||||
$redirect = false;
|
$redirect = false;
|
||||||
|
|
||||||
switch($_POST['action']) {
|
switch($_POST['action']) {
|
||||||
|
case 'delete by query':
|
||||||
|
$this->delete_by_query($_POST['query']);
|
||||||
|
$redirect = true;
|
||||||
|
break;
|
||||||
case 'lowercase all tags':
|
case 'lowercase all tags':
|
||||||
$this->lowercase_all_tags();
|
$this->lowercase_all_tags();
|
||||||
$redirect = true;
|
$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() {
|
private function lowercase_all_tags() {
|
||||||
global $database;
|
global $database;
|
||||||
$database->execute("UPDATE tags SET tag=lower(tag)");
|
$database->execute("UPDATE tags SET tag=lower(tag)");
|
||||||
|
@ -32,6 +32,15 @@ class AdminPageTheme extends Themelet {
|
|||||||
</form>
|
</form>
|
||||||
";
|
";
|
||||||
$page->add_block(new Block("Misc Admin Tools", $html));
|
$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));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user