public static function setDefault($params = null) { self::$defaults = array('type' => null, 'width' => null, 'height' => null, 'quality' => 90, 'function' => null, 'function_mode' => null, 'transparency' => true, 'background' => array('r' => 255, 'g' => 255, 'b' => 255)); if ($params instanceof JRegistry) { $opts = array(); // output type ? $imgcfg_type = $params->get('imgcfg_type', 0); if (in_array($imgcfg_type, array(IMAGETYPE_JPEG, IMAGETYPE_PNG, IMAGETYPE_GIF))) { $opts['type'] = $imgcfg_type; } // function ? $imgcfg_fn = $params->get('imgcfg_function', 'none_resize'); $imgcfg_fn = explode('_', $imgcfg_fn); if (in_array($imgcfg_fn[0], self::$functions)) { $opts['function'] = $imgcfg_fn[0]; if ($imgcfg_fn[0] == 'resize') { if (isset($imgcfg_fn[1]) && in_array($imgcfg_fn[1], self::$modes)) { $opts['function_mode'] = $imgcfg_fn[1]; } else { $opts['function_mode'] = self::$modes[2]; } } } // background $imgcfg_background = $params->get('imgcfg_background', null); if (!is_null($imgcfg_background)) { $opts['background'] = $imgcfg_background; } // quality $imgcfg_quality = $params->get('imgcfg_quality', null); if ($imgcfg_quality != null && intval($imgcfg_quality) > 0 && intval($imgcfg_quality) < 100) { $opts['quality'] = intval($imgcfg_quality); } // transparency $imgcfg_transparency = $params->get('imgcfg_transparency', 1); if ($imgcfg_transparency != null) { $opts['transparency'] = $imgcfg_transparency ? true : false; } // dimension ? $imgcfg_w = $params->get('imgcfg_width', 0); $imgcfg_h = $params->get('imgcfg_height', 0); if (intval($imgcfg_w) > 0) { $opts['width'] = $imgcfg_w; } if (intval($imgcfg_h) > 0) { $opts['height'] = $imgcfg_h; } self::$cache = $params->get('imgcfg_cache'); self::$cache_url = $params->get('imgcfg_cache_url'); // $this->initCache($cache_params); } self::$defaults = array_merge(self::$defaults, $opts); }