/** * Set adapter to use * * @param mixed $adapters * @param bool $force * @return void */ public static function setAdapter($adapters = null, $force = false) { $adapters = (array) $adapters; if (!$force) { $adapters = array_unique(array_merge($adapters, array(self::ADAPTER_GD, self::ADAPTER_IMAGEMAGICK))); } $name = null; foreach ($adapters as $adapter) { if (Zend_Loader_Autoloader::autoload($adapter)) { if (call_user_func($adapter . '::isAvailable')) { $name = $adapter; break; } } elseif (Zend_Loader_Autoloader::autoload('Zend_Image_Adapter_' . $adapter)) { if (call_user_func('Zend_Image_Adapter_' . $adapter . '::isAvailable')) { $name = 'Zend_Image_Adapter_' . $adapter; break; } } else { require_once 'Zend/Image/Exception.php'; throw new Zend_Image_Exception("Could not find adapter '" . $adapter . "'"); } } if ($name) { self::$_adapterToUse = $name; return $name; } require_once 'Zend/Image/Exception.php'; throw new Zend_Image_Exception('Was not able to detect an available adapter'); }