/** * c(onfigure)Read method * * Write default settings as appropriate on first read * Use the Configure class if it exists, otherwise use default setting * First none-null result encountered wins. * * Call with multiple paramters naming fallback settings e.g. * $debug = self::cRead('minify', 'minifyCss', 'Some.Coreapp.setting'); * * @param string $setting 'debug' * @static * @return mixed, config value * @access public */ public static function cRead($setting = 'debug') { if (!self::$initialized) { self::$initialized = true; $debug = self::cRead('debug'); if ($debug === null) { $debug = Configure::read('debug'); } self::$settings['debug'] = $debug; self::cRead('log', 'debug'); $store = self::cRead('store'); if ($store === null) { self::$settings['store'] = !$debug; } $minify = self::cRead('minify'); if ($minify === null) { self::$settings['minify'] = !$debug; } $minify = self::cRead('minify.css', 'minify'); $minify = self::cRead('minify.js', 'minify'); if (file_exists(APP . 'Config' . DS . 'mi_asset.php')) { // while reading for the first time - allow loading a config file which can modify // static public vars require_once APP . 'Config' . DS . 'mi_asset.php'; } } if (array_key_exists($setting, self::$settings)) { return self::$settings[$setting]; } $return = Configure::read('MiCompressor.' . $setting); if ($return === null) { $fallbacks = func_get_args(); array_shift($fallbacks); if ($fallbacks) { $return = call_user_func_array(array('MiCompressor', 'cRead'), $fallbacks); return self::$settings[$setting] = $return; } } if (isset(self::$defaultSettings[$setting])) { $return = self::$defaultSettings[$setting]; } return self::$settings[$setting] = $return; }