Huge script change, see http://forum.mxchange.org/topic-458.html for details:
[mailer.git] / inc / loader / load_cache-config.php
index 8f7e4a7e7b5cbeb74f1decc5b74960dc361b77d1..8fd6c9aecfd5fd7d6d9c2432ec2e0dd1ce085aa8 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();
 }
 
 // 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();
-} elseif ((getConfig('cache_config') == 'Y') && (getOutputMode() != '1') && (getOutputMode() != '-1')) {
+
+       // Swap cache
+       $config = array();
+       foreach ($GLOBALS['cache_array']['config'] as $entry => $array) {
+               // All config levels
+               foreach ($array as $key => $value) {
+                       $config[$key][$entry] = $value;
+               } // END - foreach
+       } // END - foreach
+
+       // Copy it back and remove dummy array
+       $GLOBALS['cache_array']['config'] = $config;
+       unset($config);
+} elseif (getOutputMode() != '1') {
        // Create cache file here
        $GLOBALS['cache_instance']->init('CONFIG');
-       $GLOBALS['cache_instance']->storeExtensionVersion('sql_patches');
 
        // 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__);
+       loadInclude('inc/loader/'.basename(__FILE__));
 }
 
-//
+// [EOF]
 ?>