From: Michael J. Rubinsky Date: Mon, 27 Sep 2010 16:00:42 +0000 (-0400) Subject: Inject a logger into Horde_Image_Effect objects X-Git-Url: https://git.internetallee.de/?a=commitdiff_plain;h=b0d96e3769b278994eabc70c4c6e2b9263a102ea;p=horde.git Inject a logger into Horde_Image_Effect objects --- 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; }