+// Init the config array
+function initConfig () {
+ global $_CONFIG;
+
+ // Set a minimum dummy configuration
+ $_CONFIG = array(
+ 'code_length' => 0,
+ 'patch_level' => 0,
+ 'last_update' => time()
+ );
+}
+
+// Load configuration and return it as an arry
+function loadConfiguration ($no="0") {
+ global $_CONFIG;
+
+ // Check for cache extension, cache-array and if the requested configuration is in cache
+ if ((is_array($GLOBALS['cache_array'])) && (isset($GLOBALS['cache_array']['config'][$no])) && (is_array($GLOBALS['cache_array']['config'][$no]))) {
+ // Load config from cache
+ //* DEBUG: */ echo gettype($GLOBALS['cache_array']['config'][$no])."<br />\n";
+ foreach ($GLOBALS['cache_array']['config'][$no] as $key => $value) {
+ $_CONFIG[$key] = $value;
+ } // END - foreach
+
+ // Count cache hits if exists
+ if ((isset($_CONFIG['cache_hits'])) && (EXT_IS_ACTIVE("cache"))) {
+ $_CONFIG['cache_hits']++;
+ } // END - if
+ } elseif ((!EXT_IS_ACTIVE("cache")) || (!isset($GLOBALS['cache_array']['config'][$no]))) {
+ // Load config from DB
+ $result_config = SQL_QUERY_ESC("SELECT * FROM `{!_MYSQL_PREFIX!}_config` WHERE config=%d LIMIT 1",
+ array(bigintval($no)), __FUNCTION__, __LINE__);
+
+ // Is the config there?
+ if (SQL_NUMROWS($result_config) == 1) {
+ // Get config from database
+ $_CONFIG = SQL_FETCHARRAY($result_config);
+ } // END - if
+
+ // Free result
+ SQL_FREERESULT($result_config);
+
+ // Remember this config in the array
+ $GLOBALS['cache_array']['config'][$no] = $_CONFIG;
+ }
+}
+