private static function _loadSettingsRecursive(&$settings, $cmpClass) { echo "{$cmpClass} is brand new! (not yet in componentClasses)\n"; Kwf_Component_Settings::$_rebuildingSettings = true; $settings[$cmpClass] = Kwf_Component_Settings::_getSettingsIncludingPreComputed($cmpClass); Kwf_Component_Settings::$_rebuildingSettings = false; foreach (self::_getComponentClassesFromGeneratorsSetting($settings[$cmpClass]['generators']) as $c) { if (!isset($settings[$c])) { self::_loadSettingsRecursive($settings, $c); } } }
public static function &_getSettingsCached() { self::$_cacheSettings = array(); if (!self::$_settings) { if (!self::$_rootComponentClassSet && file_exists('build/component/settings')) { self::$_settings = unserialize(file_get_contents('build/component/settings')); } else { $fullT = microtime(true); self::$_rebuildingSettings = true; self::$_settings = array(); self::$_settings['mtimeFiles'] = array(); $incPaths = explode(PATH_SEPARATOR, get_include_path()); $t = microtime(true); $classes = self::getComponentClasses(); foreach ($classes as $c) { self::$_settings[$c] = self::_getSettingsIncludingPreComputed($c); } self::$_rebuildingSettings = false; foreach (self::getComponentClasses() as $c) { $realCls = strpos($c, '.') ? substr($c, 0, strpos($c, '.')) : $c; try { call_user_func(array($realCls, 'validateSettings'), self::$_settings[$c], $c); } catch (Kwf_Exception $e) { throw new Kwf_Exception("{$c}: " . $e->getMessage()); } } } } return self::$_settings; }