************************************************************************/
// Some security stuff...
-if (ereg(basename(__FILE__), $_SERVER['PHP_SELF'])) {
+if (!defined('__SECURITY')) {
$INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4) . "/security.php";
require($INC);
}
global $cacheArray;
$cacheArray['modules'] = $cacheInstance->cache_load();
- // Valid cache file
- $CNT = 0;
- foreach ($cacheArray['modules'] as $k => $array) {
- $CNT += count($array);
- }
-
- // When there is a period (.) in the result this test will fail and so the cache file is
- // damaged/corrupted
- $TEST = "failed";
- if (count($cacheArray['modules']) > 0 ) $TEST = ($CNT / (count($cacheArray['modules'])));
- if ($TEST != bigintval($TEST)) {
- // Cache file is corrupted!
- $cacheInstance->cache_destroy();
- unset($cacheArray['modules']);
- } else {
- // Rewrite module cache
- $modArray = $cacheArray['modules'];
- foreach ($modArray['module'] as $key => $mod) {
- $cacheArray['modules']['id'][$mod] = $modArray['id'][$key];
- unset($cacheArray['modules']['id'][$key]);
- $cacheArray['modules']['title'][$mod] = $modArray['title'][$key];
- unset($cacheArray['modules']['title'][$key]);
- $cacheArray['modules']['locked'][$mod] = $modArray['locked'][$key];
- unset($cacheArray['modules']['locked'][$key]);
- $cacheArray['modules']['hidden'][$mod] = $modArray['hidden'][$key];
- unset($cacheArray['modules']['hidden'][$key]);
- $cacheArray['modules']['admin_only'][$mod] = $modArray['admin_only'][$key];
- unset($cacheArray['modules']['admin_only'][$key]);
- $cacheArray['modules']['mem_only'][$mod] = $modArray['mem_only'][$key];
- unset($cacheArray['modules']['mem_only'][$key]);
- if (isset($cacheArray['modules']['has_menu'][$key])) {
- $cacheArray['modules']['has_menu'][$mod] = $modArray['has_menu'][$key];
- unset($cacheArray['modules']['has_menu'][$key]);
- } // END - if
- }
- unset($modArray);
- }
+ // Rewrite module cache
+ $modArray = $cacheArray['modules'];
+ foreach ($modArray['module'] as $key => $mod) {
+ $cacheArray['modules']['id'][$mod] = $modArray['id'][$key];
+ unset($cacheArray['modules']['id'][$key]);
+ $cacheArray['modules']['title'][$mod] = $modArray['title'][$key];
+ unset($cacheArray['modules']['title'][$key]);
+ $cacheArray['modules']['locked'][$mod] = $modArray['locked'][$key];
+ unset($cacheArray['modules']['locked'][$key]);
+ $cacheArray['modules']['hidden'][$mod] = $modArray['hidden'][$key];
+ unset($cacheArray['modules']['hidden'][$key]);
+ $cacheArray['modules']['admin_only'][$mod] = $modArray['admin_only'][$key];
+ unset($cacheArray['modules']['admin_only'][$key]);
+ $cacheArray['modules']['mem_only'][$mod] = $modArray['mem_only'][$key];
+ unset($cacheArray['modules']['mem_only'][$key]);
+ if (isset($cacheArray['modules']['has_menu'][$key])) {
+ $cacheArray['modules']['has_menu'][$mod] = $modArray['has_menu'][$key];
+ unset($cacheArray['modules']['has_menu'][$key]);
+ } // END - if
+ } // END - foreach
+ unset($modArray);
} elseif (($_CONFIG['cache_modreg'] == "Y") && ($CSS != "1") && ($CSS != "-1")) {
// Create cache file here
$cacheInstance->cache_init("MODULES");
$result = SQL_QUERY("SELECT id, module, title, locked, hidden, admin_only, title, mem_only
FROM "._MYSQL_PREFIX."_mod_reg ORDER BY id", __FILE__, __LINE__);
}
- while ($DATA = SQL_FETCHARRAY($result)) {
+
+ // Cache all data
+ while ($data = SQL_FETCHARRAY($result)) {
// Add row to cache file
- $cacheInstance->add_row($DATA);
- }
+ $cacheInstance->add_row($data);
+ } // END - while
// Free memory
SQL_FREERESULT($result);
+ // Close the cache
+ $cacheInstance->cache_close();
+
// Reload the cache
require(__FILE__);
}