public static function initialise($initial_config = false) { if (self::$initialised) { return true; } if (!$initial_config) { $initial_config = CONFIG_DIR . "config.yml"; } self::$app_yaml_file = $initial_config; self::$config_array = self::load_yaml(self::$app_yaml_file); self::$initialised = true; }
/** * @return boolean */ public static function init() { if (self::$initialised) { return; } self::$qry = DBFactory::getDBQuery(); // If a super KB is defined then fetch its settings first. if (defined('SUPERKB_SITE')) { self::$qry->execute("SELECT * FROM kb3_config WHERE cfg_site='" . SUPERKB_SITE . "'"); while ($row = self::$qry->getRow()) { if (substr($row['cfg_value'], 0, 2) == 'a:') { self::$configCacheGlobal[$row['cfg_key']] = unserialize($row['cfg_value']); self::$configCache[$row['cfg_key']] = unserialize($row['cfg_value']); } else { self::$configCacheGlobal[$row['cfg_key']] = stripslashes($row['cfg_value']); self::$configCache[$row['cfg_key']] = stripslashes($row['cfg_value']); } } } self::$qry->execute("SELECT * FROM kb3_config WHERE cfg_site='" . self::$configSite . "'"); if (!self::$qry->recordCount()) { self::setDefaults(); self::$qry->execute("SELECT * FROM kb3_config WHERE cfg_site='" . self::$configSite . "'"); } while ($row = self::$qry->getRow()) { // If this board is set up with a super admin then restrict global changes. if (defined('SUPERKB_SITE') && isset(self::$configCacheGlobal[$row['cfg_key']])) { continue; } if (substr($row['cfg_value'], 0, 2) == 'a:') { self::$configCache[$row['cfg_key']] = unserialize($row['cfg_value']); } else { self::$configCache[$row['cfg_key']] = stripslashes($row['cfg_value']); } } self::$initialised = true; }