Fixes for broken order page and themes
[mailer.git] / inc / loader / load_cache-config.php
index 84af3424576bd8bc1fa984090d8670054e8fea54..2c9e2bf35ee02b1626c411035d436fd7f3db2437 100644 (file)
@@ -17,7 +17,7 @@
  * Needs to be in all Files and every File needs "svn propset           *
  * svn:keywords Date Revision" (autoprobset!) at least!!!!!!            *
  * -------------------------------------------------------------------- *
- * Copyright (c) 2003 - 2008 by Roland Haeder                           *
+ * Copyright (c) 2003 - 2009 by Roland Haeder                           *
  * For more information visit: http://www.mxchange.org                  *
  *                                                                      *
  * This program is free software; you can redistribute it and/or modify *
 
 // Some security stuff...
 if (!defined('__SECURITY')) {
-       $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4) . "/security.php";
-       require($INC);
+       die();
 }
 
+// Use this code if you don't want to run this cache loader on installation phase
+if (isInstallationPhase()) return;
+
 // Next cached table is the configuration (config)...
-if (($GLOBALS['cache_instance']->loadCacheFile("config", true)) && ($GLOBALS['cache_instance']->extensionVersionMatches("sql_patches"))) {
+if (($GLOBALS['cache_instance']->loadCacheFile('config')) && ($GLOBALS['cache_instance']->extensionVersionMatches('sql_patches'))) {
        // Load config from cache
-       $GLOBALS['cache_array']['config'] = $GLOBALS['cache_instance']->getArrayFromCache();
+       $config = $GLOBALS['cache_instance']->getArrayFromCache();
+
+       // Swap cache
+       foreach ($config as $entry => $array) {
+               // All config levels
+               foreach ($array as $key => $value) {
+                       $GLOBALS['cache_array']['config'][$key][$entry] = $value;
+               } // END - foreach
+       } // END - foreach
 
-       // @TODO: Do we really need to cache the config???
-} elseif ((getConfig('cache_config') == "Y") && ($GLOBALS['output_mode'] != "1") && ($GLOBALS['output_mode'] != "-1")) {
+       // Remove dummy array
+       unset($config);
+} elseif (getOutputMode() != '1') {
        // Create cache file here
-       $GLOBALS['cache_instance']->init("CONFIG");
-       $GLOBALS['cache_instance']->storeExtensionVersion("sql_patches");
+       $GLOBALS['cache_instance']->init();
 
        // Load all modules and their data
-       $result = SQL_QUERY("SELECT * FROM `{!_MYSQL_PREFIX!}_config` ORDER BY config ASC", __FILE__, __LINE__);
-       while ($data = SQL_FETCHARRAY($result)) {
+       $result = SQL_QUERY('SELECT * FROM `{?_MYSQL_PREFIX?}_config` ORDER BY `config` ASC', __FILE__, __LINE__);
+       while ($content = SQL_FETCHARRAY($result)) {
                // Add row to cache file
-               $GLOBALS['cache_instance']->addRow($data);
+               $GLOBALS['cache_instance']->addRow($content);
        } // END - while
 
        // Free memory
        SQL_FREERESULT($result);
 
        // Close the cache
+       $GLOBALS['cache_instance']->storeExtensionVersion('sql_patches');
        $GLOBALS['cache_instance']->finalize();
-
-       // Include loader again
-       require(__FILE__);
 }
 
-//
+// [EOF]
 ?>