diff --git a/ext/admin/main.php b/ext/admin/main.php
index b5542c26..35c6b5ef 100644
--- a/ext/admin/main.php
+++ b/ext/admin/main.php
@@ -110,11 +110,15 @@ class AdminPage extends Extension {
private function delete_by_query() {
global $page, $user;
$query = $_POST['query'];
+ $reason = @$_POST['reason'];
assert(strlen($query) > 1);
log_warning("admin", "Mass deleting: $query");
$count = 0;
foreach(Image::find_images(0, 1000000, Tag::explode($query)) as $image) {
+ if($reason && class_exists("ImageBan")) {
+ send_event(new AddImageHashBanEvent($image->hash, $reason));
+ }
send_event(new ImageDeletionEvent($image));
$count++;
}
diff --git a/ext/admin/theme.php b/ext/admin/theme.php
index e16b1d73..96ac08e8 100644
--- a/ext/admin/theme.php
+++ b/ext/admin/theme.php
@@ -54,9 +54,14 @@ class AdminPageTheme extends Themelet {
public function dbq_html($terms) {
$h_terms = html_escape($terms);
+ $h_reason = "";
+ if(class_exists("ImageBan")) {
+ $h_reason = "";
+ }
$html = make_form(make_link("admin/delete_by_query"), "POST") . "
+ $h_reason
";