ban from mass delete

This commit is contained in:
Shish 2013-08-04 02:39:53 +01:00
parent f98e0d1927
commit 9c70d1bd3f
2 changed files with 9 additions and 0 deletions

View File

@ -110,11 +110,15 @@ class AdminPage extends Extension {
private function delete_by_query() { private function delete_by_query() {
global $page, $user; global $page, $user;
$query = $_POST['query']; $query = $_POST['query'];
$reason = @$_POST['reason'];
assert(strlen($query) > 1); assert(strlen($query) > 1);
log_warning("admin", "Mass deleting: $query"); log_warning("admin", "Mass deleting: $query");
$count = 0; $count = 0;
foreach(Image::find_images(0, 1000000, Tag::explode($query)) as $image) { 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)); send_event(new ImageDeletionEvent($image));
$count++; $count++;
} }

View File

@ -54,9 +54,14 @@ class AdminPageTheme extends Themelet {
public function dbq_html($terms) { public function dbq_html($terms) {
$h_terms = html_escape($terms); $h_terms = html_escape($terms);
$h_reason = "";
if(class_exists("ImageBan")) {
$h_reason = "<input type='text' name='reason' placeholder='Ban reason (leave blank to not ban)'>";
}
$html = make_form(make_link("admin/delete_by_query"), "POST") . " $html = make_form(make_link("admin/delete_by_query"), "POST") . "
<input type='button' class='shm-unlocker' data-unlock-sel='#dbqsubmit' value='Unlock'> <input type='button' class='shm-unlocker' data-unlock-sel='#dbqsubmit' value='Unlock'>
<input type='hidden' name='query' value='$h_terms'> <input type='hidden' name='query' value='$h_terms'>
$h_reason
<input type='submit' id='dbqsubmit' disabled='true' value='Delete All These Images'> <input type='submit' id='dbqsubmit' disabled='true' value='Delete All These Images'>
</form> </form>
"; ";