diff --git a/ext/regen_thumb/main.php b/ext/regen_thumb/main.php index ec48c649..16a00f7a 100644 --- a/ext/regen_thumb/main.php +++ b/ext/regen_thumb/main.php @@ -15,13 +15,24 @@ class RegenThumb extends Extension { public function onPageRequest(PageRequestEvent $event) { - global $page, $user; + global $database, $page, $user; - if($event->page_matches("regen_thumb") && $user->can("delete_image") && isset($_POST['image_id'])) { + if($event->page_matches("regen_thumb/one") && $user->can("delete_image") && isset($_POST['image_id'])) { $image = Image::by_id(int_escape($_POST['image_id'])); send_event(new ThumbnailGenerationEvent($image->hash, $image->ext, true)); $this->theme->display_results($page, $image); } + if($event->page_matches("regen_thumb/mass") && $user->can("delete_image") && isset($_POST['tags'])) { + $tags = Tag::explode(strtolower($_POST['tags']), false); + $images = Image::find_images(0, 10000, $tags); + + foreach($images as $image) { + send_event(new ThumbnailGenerationEvent($image->hash, $image->ext, true)); + } + + $page->set_mode("redirect"); + $page->set_redirect(make_link("post/list")); + } } public function onImageAdminBlockBuilding(ImageAdminBlockBuildingEvent $event) { @@ -30,5 +41,12 @@ class RegenThumb extends Extension { $event->add_part($this->theme->get_buttons_html($event->image->id)); } } + + public function onPostListBuilding(PostListBuildingEvent $event) { + global $user; + if($user->can("delete_image") && !empty($event->search_terms)) { + $event->add_control($this->theme->mtr_html(implode(" ", $event->search_terms))); + } + } } diff --git a/ext/regen_thumb/theme.php b/ext/regen_thumb/theme.php index e7de3afb..aec02c9d 100644 --- a/ext/regen_thumb/theme.php +++ b/ext/regen_thumb/theme.php @@ -9,7 +9,7 @@ class RegenThumbTheme extends Themelet { */ public function get_buttons_html($image_id) { return " - ".make_form(make_link("regen_thumb"))." + ".make_form(make_link("regen_thumb/one"))." @@ -29,5 +29,15 @@ class RegenThumbTheme extends Themelet { $page->add_block(new NavBlock()); $page->add_block(new Block("Thumbnail", $this->build_thumb_html($image))); } + + public function mtr_html($terms) { + $h_terms = html_escape($terms); + $html = make_form(make_link("regen_thumb/mass"), "POST") . " + + + + "; + return $html; + } }