From b0d96e3769b278994eabc70c4c6e2b9263a102ea Mon Sep 17 00:00:00 2001 From: "Michael J. Rubinsky" Date: Mon, 27 Sep 2010 12:00:42 -0400 Subject: [PATCH] Inject a logger into Horde_Image_Effect objects --- framework/Image/lib/Horde/Image/Base.php | 1 + framework/Image/lib/Horde/Image/Effect.php | 11 +++++++++++ 2 files changed, 12 insertions(+) diff --git a/framework/Image/lib/Horde/Image/Base.php b/framework/Image/lib/Horde/Image/Base.php index 1ea55e7a6..0ba250778 100644 --- a/framework/Image/lib/Horde/Image/Base.php +++ b/framework/Image/lib/Horde/Image/Base.php @@ -338,6 +338,7 @@ abstract class Horde_Image_Base extends EmptyIterator public function addEffect($type, $params) { $class = str_replace('Horde_Image_', '', get_class($this)); + $params['logger'] = $this->_logger; $effect = Horde_Image_Effect::factory($type, $class, $params); $effect->setImageObject($this); return $effect->apply(); diff --git a/framework/Image/lib/Horde/Image/Effect.php b/framework/Image/lib/Horde/Image/Effect.php index 8c0f870f4..cea8ea0e5 100644 --- a/framework/Image/lib/Horde/Image/Effect.php +++ b/framework/Image/lib/Horde/Image/Effect.php @@ -23,6 +23,8 @@ class Horde_Image_Effect */ protected $_image = null; + protected $_logger; + /** * Effect constructor. * @@ -51,6 +53,11 @@ class Horde_Image_Effect $this->_image = &$image; } + public function setLogger($logger) + { + $this->_logger = $logger; + } + public function factory($type, $driver, $params) { if (is_array($type)) { @@ -85,6 +92,10 @@ class Horde_Image_Effect throw new Horde_Image_Exception(sprintf("Horde_Image_Effect %s for %s driver not found.", $type, $driver)); } + if (!empty($params['logger'])) { + $effect->setLogger($params['logger']); + } + return $effect; } -- 2.11.0