+ // Count cache hits if exists
+ if ((isConfigEntrySet('cache_hits')) && (EXT_IS_ACTIVE('cache'))) {
+ incrementConfigEntry('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
+ mergeConfig(SQL_FETCHARRAY($result_config));
+ } // END - if
+
+ // Free result
+ SQL_FREERESULT($result_config);
+
+ // Remember this config in the array
+ $GLOBALS['cache_array']['config'][$no] = getConfigArray();
+ }
+}
+
+// Getter for whole $GLOBALS['config'] array
+function getConfigArray () {
+ // Default is null
+ $return = null;
+
+ // Is the config set?
+ if (isConfigLoaded()) {
+ // Then use it
+ $return = $GLOBALS['config'];
+ } // END - if
+
+ // Return result
+ return $return;
+}
+
+// Updates an old inc/config.php to a inc/cache/config-local.php file
+function updateOldConfigFile () {
+ // Watch out for these lines and execute them as single command
+ // @TODO Make this all better... :-/
+ $watchLines = array(
+ "define('SITE_KEY'," => 'SITE_KEY',
+ "define('DEFAULT_LANG'," => 'DEFAULT_LANG',
+ "define('warn_no_pass'," => 'WARN_NO_PASS',
+ "define('WRITE_FOOTER'," => 'WRITE_FOOTER',
+ "define('OUTPUT_MODE'," => 'OUTPUT_MODE',
+ "define('MAIN_TITLE'," => 'MAIN_TITLE',
+ "define('SLOGAN'," => 'SLOGAN',
+ "define('WEBMASTER'," => 'WEBMASTER',
+ "define('mxchange_installed'," => 'MXCHANGE_INSTALLED',
+ "define('admin_registered'," => 'ADMIN_REGISTERED',
+ "define('_MYSQL_PREFIX'," => '_MYSQL_PREFIX',
+ "define('_TABLE_TYPE'," => '_TABLE_TYPE',
+ "define('_DB_TYPE'," => '_DB_TYPE',
+ "define('SMTP_HOSTNAME'," => 'SMTP_HOSTNAME',
+ "define('SMTP_USER'" => 'SMTP_USER',
+ "define('SMTP_PASSWORD'," => 'SMTP_PASSWORD',
+ "define('ENABLE_BACKLINK'," => 'ENABLE_BACKLINK',
+ );
+
+ // Make these lower-case! (damn stupid code...)
+ $lowerCase = array('WARN_NO_PASS', 'MXCHANGE_INSTALLED', 'ADMIN_REGISTERED');
+
+ // These are still constants...
+ // @TODO Rewrite these all to config entries, if somehow possible
+ $constants = array('MAIN_TITLE', 'SLOGAN', 'WEBMASTER');
+
+ // Special comments...
+ $comments = array(
+ 'WARN_NO_PASS' => 'NULLPASS-WARNING',
+ 'MXCHANGE_INSTALLED' => 'INSTALLED',
+ 'ADMIN_REGISTERED' => 'ADMIN-SETUP',
+ '_MYSQL_PREFIX' => 'MYSQL-PREFIX',
+ '_TABLE_TYPE' => 'TABLE-TYPE',
+ '_DB_TYPE' => 'DATABASE-TYPE',
+ 'ENABLE_BACKLINK' => 'BACKLINK',
+ 'host' => 'MYSQL-HOST',
+ 'dbase' => 'MYSQL-DBASE',
+ 'login' => 'MYSQL-LOGIN',
+ 'password' => 'MYSQL-PASSWORD'