diff --git a/ext/admin/main.php b/ext/admin/main.php index 7a035a39..87d7461b 100644 --- a/ext/admin/main.php +++ b/ext/admin/main.php @@ -47,20 +47,7 @@ class AdminPage implements Extension { $this->theme->display_permission_denied($page); } else { - if($event->get_arg(0) == "delete_image") { - // FIXME: missing lots of else {complain} - if(isset($_POST['image_id'])) { - $image = Image::by_id($_POST['image_id']); - if($image) { - send_event(new ImageDeletionEvent($image)); - $page->set_mode("redirect"); - $page->set_redirect(make_link("post/list")); - } - } - } - else { - send_event(new AdminBuildingEvent($page)); - } + send_event(new AdminBuildingEvent($page)); } } @@ -99,12 +86,6 @@ class AdminPage implements Extension { } } - if($event instanceof ImageAdminBlockBuildingEvent) { - if($user->is_admin()) { - $event->add_part($this->theme->get_deleter_html($event->image->id)); - } - } - if($event instanceof AdminBuildingEvent) { $this->theme->display_page($page); $this->theme->display_form($page); diff --git a/ext/admin/theme.php b/ext/admin/theme.php index c3d3dab8..f732c45b 100644 --- a/ext/admin/theme.php +++ b/ext/admin/theme.php @@ -10,22 +10,6 @@ class AdminPageTheme extends Themelet { $page->add_block(new NavBlock()); } - /* - * Display a link to delete an image - * - * $image_id = the image to delete - */ - public function get_deleter_html($image_id) { - $i_image_id = int_escape($image_id); - $html = " -
- "; - return $html; - } - /* * Show a form which links to admin_utils with POST[action] set to one of: * 'lowercase all tags' diff --git a/ext/image/main.php b/ext/image/main.php index f7628ba3..c639987d 100644 --- a/ext/image/main.php +++ b/ext/image/main.php @@ -115,6 +115,24 @@ class ImageIO extends SimpleExtension { $this->send_file($num, "thumb"); } } + if($event->page_matches("image_admin/delete")) { + global $page, $user; + if($user->is_admin() && isset($_POST['image_id'])) { + $image = Image::by_id($_POST['image_id']); + if($image) { + send_event(new ImageDeletionEvent($image)); + $page->set_mode("redirect"); + $page->set_redirect(make_link("post/list")); + } + } + } + } + + public function onImageAdminBlockBuilding($event) { + global $user; + if($user->is_admin()) { + $event->add_part($this->theme->get_deleter_html($event->image->id)); + } } public function onImageAddition($event) { diff --git a/ext/image/theme.php b/ext/image/theme.php new file mode 100644 index 00000000..ab943c88 --- /dev/null +++ b/ext/image/theme.php @@ -0,0 +1,19 @@ + + + + + "; + return $html; + } +} +?>