diff --git a/contrib/zoom/main.php b/contrib/zoom/main.php deleted file mode 100644 index 365b842b..00000000 --- a/contrib/zoom/main.php +++ /dev/null @@ -1,21 +0,0 @@ - - * License: GPLv2 - * Description: Scales down too-large images using browser based scaling - */ - -class Zoom extends SimpleExtension { - public function onDisplayingImage($event) { - global $config, $page; - $this->theme->display_zoomer($page, $event->image, $config->get_bool("image_zoom", false)); - } - - public function onSetupBuilding($event) { - $sb = new SetupBlock("Image Zoom"); - $sb->add_bool_option("image_zoom", "Zoom by default: "); - $event->panel->add_block($sb); - } -} -?> diff --git a/contrib/zoom/test.php b/contrib/zoom/test.php deleted file mode 100644 index b27b3c1f..00000000 --- a/contrib/zoom/test.php +++ /dev/null @@ -1,11 +0,0 @@ -log_in_as_admin(); - $image_id = $this->post_image("ext/simpletest/data/pbx_screenshot.jpg", "pbx computer screenshot"); - $this->get("post/view/$image_id"); # just check that the page isn't borked - $this->delete_image($image_id); - $this->log_out(); - } -} -?> diff --git a/contrib/zoom/theme.php b/contrib/zoom/theme.php deleted file mode 100644 index 67df0160..00000000 --- a/contrib/zoom/theme.php +++ /dev/null @@ -1,46 +0,0 @@ -add_block(new Block(null, $this->make_zoomer($image->width, $zoom_by_default))); - } - - protected function make_zoomer($image_width, $zoom_by_default) { - global $config; - $default = $zoom_by_default ? "scale(img);" : ""; - return << - -EOD; - } -} -?> diff --git a/core/extension.class.php b/core/extension.class.php index 49f73b73..422edf53 100644 --- a/core/extension.class.php +++ b/core/extension.class.php @@ -152,8 +152,14 @@ abstract class DataHandlerExtension implements Extension { global $page; $this->theme->display_image($page, $event->image); } + + if(($event instanceof SetupBuildingEvent)) { + $sb = $this->setup(); + if($sb) $event->panel->add_block($sb); + } } + protected function setup() {} abstract protected function supported_ext($ext); abstract protected function check_contents($tmpname); abstract protected function create_image_from_data($filename, $metadata); diff --git a/ext/handle_pixel/main.php b/ext/handle_pixel/main.php index 53a18988..081129d8 100644 --- a/ext/handle_pixel/main.php +++ b/ext/handle_pixel/main.php @@ -6,6 +6,12 @@ */ class PixelFileHandler extends DataHandlerExtension { + public function setup() { + $sb = new SetupBlock("Image Zoom"); + $sb->add_bool_option("image_zoom", "Zoom by default: "); + return $sb; + } + protected function supported_ext($ext) { $exts = array("jpg", "jpeg", "gif", "png"); return in_array(strtolower($ext), $exts); diff --git a/ext/handle_pixel/theme.php b/ext/handle_pixel/theme.php index 1fdc6a0d..a90543c3 100644 --- a/ext/handle_pixel/theme.php +++ b/ext/handle_pixel/theme.php @@ -23,7 +23,40 @@ class PixelFileHandlerTheme extends Themelet { } } } - $page->add_block(new Block("Image", $html, "main", 0)); + + $zoom_default = $config->get_bool("image_zoom", false) ? "scale(img);" : ""; + $zoom = ""; + + $page->add_block(new Block("Image", $html.$zoom, "main", 0)); } } ?>