-<?php\r
-/************************************************************************\r
- * MXChange v0.2.1 Start: 11/28/2004 *\r
- * =============== Last change: 11/28/2004 *\r
- * *\r
- * -------------------------------------------------------------------- *\r
- * File : load_cache.php *\r
- * -------------------------------------------------------------------- *\r
- * Short description : Load more cache files *\r
- * -------------------------------------------------------------------- *\r
- * Kurzbeschreibung : Mehr Cache-Dateien nachladen *\r
- * -------------------------------------------------------------------- *\r
- * *\r
- * -------------------------------------------------------------------- *\r
- * Copyright (c) 2003 - 2007 by Roland Haeder *\r
- * For more information visit: http://www.mxchange.org *\r
- * *\r
- * This program is free software; you can redistribute it and/or modify *\r
- * it under the terms of the GNU General Public License as published by *\r
- * the Free Software Foundation; either version 2 of the License, or *\r
- * (at your option) any later version. *\r
- * *\r
- * This program is distributed in the hope that it will be useful, *\r
- * but WITHOUT ANY WARRANTY; without even the implied warranty of *\r
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *\r
- * GNU General Public License for more details. *\r
- * *\r
- * You should have received a copy of the GNU General Public License *\r
- * along with this program; if not, write to the Free Software *\r
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, *\r
- * MA 02110-1301 USA *\r
- ************************************************************************/\r
-\r
-// Some security stuff...\r
-if (ereg(basename(__FILE__), $_SERVER['PHP_SELF']))\r
-{\r
- $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4)."/security.php";\r
- require($INC);\r
-}\r
-\r
-// Let's start with the admins table...\r
-if (($CACHE->cache_file("admins", true) == true))\r
-{\r
- // Load cache\r
- global $ADMINS;\r
- $ADMINS = $CACHE->cache_load();\r
-\r
- // Check if valid\r
- if (is_array($ADMINS['login']) && is_array($ADMINS['def_acl']) && is_array($ADMINS['aid']))\r
- {\r
- // Check count\r
- if (count($ADMINS['login']) == count($ADMINS['aid']) && count($ADMINS['login']) == count($ADMINS['def_acl']) && count($ADMINS['aid']) == count($ADMINS['def_acl']))\r
- {\r
- //* DEBUG: */ echo "<PRE>";\r
- //* DEBUG: */ print_r($ADMINS);\r
-\r
- // The cache file seems to be fine\r
- foreach ($ADMINS['login'] as $k=>$login)\r
- {\r
- // Rewrite default_acl\r
- $ADMINS['aid'][$login] = $ADMINS['aid'][$k];\r
- $ADMINS['password'][$login] = $ADMINS['password'][$k];\r
- $ADMINS['email'][$login] = $ADMINS['email'][$k];\r
-\r
- // Some extra data depening on version\r
- if (GET_EXT_VERSION("admins") >= "0.3")\r
- {\r
- $ADMINS['def_acl'][$login] = $ADMINS['def_acl'][$k];\r
- if (GET_EXT_VERSION("admins") >= "0.6.7")\r
- {\r
- $ADMINS['la_mode'][$login] = $ADMINS['la_mode'][$k];\r
- }\r
- }\r
-\r
- //* DEBUG: */ print_r($ADMINS);\r
-\r
- // Clear array\r
- unset($ADMINS['aid'][$k]);\r
- unset($ADMINS['def_acl'][$k]);\r
- unset($ADMINS['la_mode'][$k]);\r
- unset($ADMINS['password'][$k]);\r
- unset($ADMINS['email'][$k]);\r
- }\r
-\r
- //* DEBUG: */ print_r($ADMINS);\r
-\r
- // Rewrite Login\r
- foreach ($ADMINS['login'] as $k=>$login)\r
- {\r
- $ADMINS['login'][$ADMINS['aid'][$login]] = $login;\r
- if (!in_array($k, $ADMINS['aid']))\r
- {\r
- unset($ADMINS['login'][$k]);\r
- }\r
- }\r
-\r
- //* DEBUG: */ echo "****\n";\r
- //* DEBUG: */ print_r($ADMINS);\r
- //* DEBUG: */ echo "</PRE>";\r
- //* DEBUG: */ die();\r
- }\r
- else\r
- {\r
- // Nope, cache file is corrupted!\r
- $CACHE->cache_destroy();\r
- }\r
- }\r
- else\r
- {\r
- // Nope, cache file is corrupted!\r
- $CACHE->cache_destroy();\r
- unset($ADMINS);\r
- }\r
-}\r
- elseif (($CONFIG['cache_admins'] == "Y") && ($CSS != "1") && ($CSS != "-1"))\r
-{\r
- // Create cache file\r
- $CACHE->cache_init("ADMINS");\r
-\r
- // Load every data from DB to cache file\r
- $ADD = ", id, id";\r
- if (GET_EXT_VERSION("admins") >= "0.3") $ADD = ", default_acl AS def_acl";\r
- if (GET_EXT_VERSION("admins") >= "0.6.7") $ADD .= ", la_mode";\r
-\r
- $result_admins = SQL_QUERY("SELECT id AS aid, login, password, email".$ADD."\r
-FROM "._MYSQL_PREFIX."_admins\r
-ORDER BY login", __FILE__, __LINE__);\r
- while($dummy = SQL_FETCHARRAY($result_admins))\r
- {\r
- // Save row\r
- $CACHE->add_row($dummy);\r
- }\r
-\r
- // Free memory\r
- SQL_FREERESULT($result_admins);\r
-}\r
-\r
-// Close file\r
-$CACHE->cache_close();\r
-\r
-// Next cached table is the module registry (mod_reg)...\r
-if ($CACHE->cache_file("mod_reg", true) == true)\r
-{\r
- // Load cache\r
- global $MODULES;\r
- $MODULES = $CACHE->cache_load();\r
-\r
- // Valid cache file\r
- $CNT = 0;\r
- foreach ($MODULES as $k=>$array)\r
- {\r
- $CNT += count($array);\r
- }\r
-\r
- // When there is a period (.) in the result this test will fail and so the cache file is\r
- // damaged/corrupted\r
- $TEST = "failed";\r
- if (count($MODULES) > 0 ) $TEST = ($CNT / (count($MODULES)));\r
- if ($TEST != bigintval($TEST))\r
- {\r
- // Cache file is corrupted!\r
- $CACHE->cache_destroy();\r
- unset($MODULES);\r
- }\r
- else\r
- {\r
- // Rewrite module cache\r
- $MOD = $MODULES;\r
- foreach ($MODULES['module'] as $key=>$mod)\r
- {\r
- $MODULES['id'][$mod] = $MODULES['id'][$key];\r
- unset($MODULES['id'][$key]);\r
- $MODULES['title'][$mod] = $MODULES['title'][$key];\r
- unset($MODULES['title'][$key]);\r
- $MODULES['locked'][$mod] = $MODULES['locked'][$key];\r
- unset($MODULES['locked'][$key]);\r
- $MODULES['hidden'][$mod] = $MODULES['hidden'][$key];\r
- unset($MODULES['hidden'][$key]);\r
- $MODULES['admin_only'][$mod] = $MODULES['admin_only'][$key];\r
- unset($MODULES['admin_only'][$key]);\r
- $MODULES['mem_only'][$mod] = $MODULES['mem_only'][$key];\r
- unset($MODULES['mem_only'][$key]);\r
- $MODULES['has_menu'][$mod] = $MODULES['has_menu'][$key];\r
- unset($MODULES['has_menu'][$key]);\r
- }\r
- }\r
-}\r
- elseif (($CONFIG['cache_modreg'] == "Y") && ($CSS != "1") && ($CSS != "-1"))\r
-{\r
- // Create cache file here\r
- $CACHE->cache_init("MODULES");\r
-\r
- // Load all modules and their data\r
- if (GET_EXT_VERSION("sql_patches") >= "0.3.6")\r
- {\r
- // Load has_menu\r
- $result = SQL_QUERY("SELECT id, module, title, locked, hidden, admin_only, title, mem_only, has_menu\r
-FROM "._MYSQL_PREFIX."_mod_reg ORDER BY id", __FILE__, __LINE__);\r
- }\r
- else\r
- {\r
- // Don't load has_menu\r
- $result = SQL_QUERY("SELECT id, module, title, locked, hidden, admin_only, title, mem_only\r
-FROM "._MYSQL_PREFIX."_mod_reg ORDER BY id", __FILE__, __LINE__);\r
- }\r
- while ($DATA = SQL_FETCHARRAY($result))\r
- {\r
- // Add row to cache file\r
- $CACHE->add_row($DATA);\r
- }\r
-\r
- // Free memory\r
- SQL_FREERESULT($result);\r
-}\r
-\r
-// Close file\r
-$CACHE->cache_close();\r
-\r
-// Next cached table is the configuration (config)...\r
-if ($CACHE->cache_file("config", true) == true)\r
-{\r
- // Load config from cache\r
- global $CFG_CACHE;\r
- $CFG_CACHE = $CACHE->cache_load();\r
-\r
- // Valid cache file\r
- $CNT = 0;\r
- foreach ($CFG_CACHE as $k=>$array)\r
- {\r
- $CNT += count($array);\r
- }\r
-\r
- // When there is a period (.) in the result this test will fail and so the cache file is\r
- // damaged/corrupted\r
- $TEST = "failed";\r
- if (count($CFG_CACHE) > 0 ) $TEST = ($CNT / (count($CFG_CACHE)));\r
- if ($TEST != bigintval($TEST))\r
- {\r
- // Cache file is corrupted!\r
- $CACHE->cache_destroy();\r
- unset($CFG_CACHE);\r
- }\r
-}\r
- elseif (($CONFIG['cache_config'] == "Y") && ($CSS != "1") && ($CSS != "-1"))\r
-{\r
- // Create cache file here\r
- $CACHE->cache_init("CONFIG");\r
-\r
- // Load all modules and their data\r
- $result = SQL_QUERY("SELECT * FROM "._MYSQL_PREFIX."_config ORDER BY config", __FILE__, __LINE__);\r
- while ($DATA = SQL_FETCHARRAY($result))\r
- {\r
- // Add row to cache file\r
- $CACHE->add_row($DATA);\r
- }\r
-\r
- // Free memory\r
- SQL_FREERESULT($result);\r
-}\r
-\r
-// Close file\r
-$CACHE->cache_close();\r
-\r
-// Next cached table is the referral system (refsystem)...\r
-if ($CACHE->cache_file("refsystem", true) == true)\r
-{\r
- // Load referral system from cache\r
- global $REF_SYSTEM;\r
- $REF_SYSTEM = $CACHE->cache_load();\r
-\r
- // Valid cache file\r
- $CNT = 0;\r
- foreach ($REF_SYSTEM as $k=>$array)\r
- {\r
- $CNT += count($array);\r
- }\r
-\r
- // When there is a period (.) in the result this test will fail and so the cache file is\r
- // damaged/corrupted\r
- $TEST = "failed";\r
- if (count($REF_SYSTEM) > 0 ) $TEST = ($CNT / (count($REF_SYSTEM)));\r
- if ($TEST != bigintval($TEST))\r
- {\r
- // Cache file is corrupted!\r
- $CACHE->cache_destroy();\r
- unset($REF_SYSTEM);\r
- }\r
-}\r
- elseif (($CONFIG['cache_refsys'] == "Y") && ($CSS != "1") && ($CSS != "-1"))\r
-{\r
- // Create cache file here\r
- $CACHE->cache_init("REFSYSTEM");\r
-\r
- // Load all modules and their data\r
- $result = SQL_QUERY("SELECT id, userid, level, counter FROM "._MYSQL_PREFIX."_refsystem ORDER BY userid, level", __FILE__, __LINE__);\r
- while ($DATA = SQL_FETCHARRAY($result))\r
- {\r
- // Add row to cache file\r
- $CACHE->add_row($DATA);\r
- }\r
-\r
- // Free memory\r
- SQL_FREERESULT($result);\r
-}\r
-\r
-// Close file\r
-$CACHE->cache_close();\r
-\r
-// Next cached table is the referral system (refdepths)...\r
-if ($CACHE->cache_file("refdepths", true) == true)\r
-{\r
- // Load referral system from cache\r
- global $REF_DEPTHS;\r
- $REF_DEPTHS = $CACHE->cache_load();\r
-\r
- // Valid cache file\r
- $CNT = 0;\r
- foreach ($REF_DEPTHS as $k=>$array)\r
- {\r
- $CNT += count($array);\r
- }\r
-\r
- // When there is a period (.) in the result this test will fail and so the cache file is\r
- // damaged/corrupted\r
- $TEST = "failed";\r
- if (count($REF_DEPTHS) > 0 ) $TEST = ($CNT / (count($REF_DEPTHS)));\r
- if ($TEST != bigintval($TEST))\r
- {\r
- // Cache file is corrupted!\r
- $CACHE->cache_destroy();\r
- unset($REF_DEPTHS);\r
- }\r
-}\r
- elseif (($CONFIG['cache_refdepth'] == "Y") && ($CSS != "1") && ($CSS != "-1"))\r
-{\r
- // Create cache file here\r
- $CACHE->cache_init("REFDEPTHS");\r
-\r
- // Load all modules and their data\r
- $result = SQL_QUERY("SELECT id, level, percents FROM "._MYSQL_PREFIX."_refdepths ORDER BY level", __FILE__, __LINE__);\r
- while ($DATA = SQL_FETCHARRAY($result))\r
- {\r
- // Add row to cache file\r
- $CACHE->add_row($DATA);\r
- }\r
-\r
- // Free memory\r
- SQL_FREERESULT($result);\r
-}\r
-\r
-// Close file\r
-$CACHE->cache_close();\r
-\r
-// Next cached table is the referral system (admins_acls)...\r
-if (GET_EXT_VERSION("admins") >= "0.3")\r
-{\r
- // Check for cache file\r
- if ($CACHE->cache_file("admins_acls", true) == true)\r
- {\r
- // Load referral system from cache\r
- global $ADMINS_ACLS;\r
- $ADMINS_ACLS = $CACHE->cache_load();\r
-\r
- // Valid cache file\r
- $CNT = 0;\r
- foreach ($ADMINS_ACLS as $k=>$array)\r
- {\r
- $CNT += count($array);\r
- }\r
-\r
- // When there is a period (.) in the result this test will fail and so the cache file is\r
- // damaged/corrupted\r
- if (count($ADMINS_ACLS) > 0)\r
- {\r
- $TEST = "failed";\r
- if (count($ADMINS_ACLS) > 0 ) $TEST = ($CNT / (count($ADMINS_ACLS)));\r
- if ($TEST != bigintval($TEST))\r
- {\r
- // Cache file is corrupted!\r
- $CACHE->cache_destroy();\r
- unset($ADMINS_ACLS);\r
- }\r
- }\r
- }\r
- elseif (($CONFIG['cache_acls'] == "Y") && ($CSS != "1") && ($CSS != "-1"))\r
- {\r
- // Create cache file here\r
- $CACHE->cache_init("ADMINS_ACLS");\r
-\r
- // Load all modules and their data\r
- $result = SQL_QUERY("SELECT id, admin_id, action_menu, what_menu, access_mode FROM "._MYSQL_PREFIX."_admins_acls ORDER BY admin_id, action_menu, what_menu", __FILE__, __LINE__);\r
- while ($DATA = SQL_FETCHARRAY($result))\r
- {\r
- // Add row to cache file\r
- $CACHE->add_row($DATA);\r
- }\r
-\r
- // Free memory\r
- SQL_FREERESULT($result);\r
- }\r
-\r
- // Close file\r
- $CACHE->cache_close();\r
-}\r
-\r
-//\r
-?>\r
+<?php
+/************************************************************************
+ * MXChange v0.2.1 Start: 11/28/2004 *
+ * =============== Last change: 11/28/2004 *
+ * *
+ * -------------------------------------------------------------------- *
+ * File : load_cache.php *
+ * -------------------------------------------------------------------- *
+ * Short description : Load more cache files *
+ * -------------------------------------------------------------------- *
+ * Kurzbeschreibung : Mehr Cache-Dateien nachladen *
+ * -------------------------------------------------------------------- *
+ * *
+ * -------------------------------------------------------------------- *
+ * Copyright (c) 2003 - 2008 by Roland Haeder *
+ * For more information visit: http://www.mxchange.org *
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ * This program is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
+ * GNU General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU General Public License *
+ * along with this program; if not, write to the Free Software *
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, *
+ * MA 02110-1301 USA *
+ ************************************************************************/
+
+// Some security stuff...
+if (ereg(basename(__FILE__), $_SERVER['PHP_SELF']))
+{
+ $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4) . "/security.php";
+ require($INC);
+}
+
+// Let's start with the admins table...
+if (($CACHE->cache_file("admins", true) == true))
+{
+ // Load cache
+ global $ADMINS;
+ $ADMINS = $CACHE->cache_load();
+
+ // Check if valid
+ if (is_array($ADMINS['login']) && is_array($ADMINS['def_acl']) && is_array($ADMINS['aid']))
+ {
+ // Check count
+ if (count($ADMINS['login']) == count($ADMINS['aid']) && count($ADMINS['login']) == count($ADMINS['def_acl']) && count($ADMINS['aid']) == count($ADMINS['def_acl']))
+ {
+ //* DEBUG: */ echo "<PRE>";
+ //* DEBUG: */ print_r($ADMINS);
+
+ // The cache file seems to be fine
+ foreach ($ADMINS['login'] as $k=>$login)
+ {
+ // Rewrite default_acl
+ $ADMINS['aid'][$login] = $ADMINS['aid'][$k];
+ $ADMINS['password'][$login] = $ADMINS['password'][$k];
+ $ADMINS['email'][$login] = $ADMINS['email'][$k];
+
+ // Some extra data depening on version
+ if (GET_EXT_VERSION("admins") >= "0.3")
+ {
+ $ADMINS['def_acl'][$login] = $ADMINS['def_acl'][$k];
+ if (GET_EXT_VERSION("admins") >= "0.6.7")
+ {
+ $ADMINS['la_mode'][$login] = $ADMINS['la_mode'][$k];
+ }
+ }
+
+ //* DEBUG: */ print_r($ADMINS);
+
+ // Clear array
+ unset($ADMINS['aid'][$k]);
+ unset($ADMINS['def_acl'][$k]);
+ unset($ADMINS['la_mode'][$k]);
+ unset($ADMINS['password'][$k]);
+ unset($ADMINS['email'][$k]);
+ }
+
+ //* DEBUG: */ print_r($ADMINS);
+
+ // Rewrite Login
+ foreach ($ADMINS['login'] as $k=>$login)
+ {
+ $ADMINS['login'][$ADMINS['aid'][$login]] = $login;
+ if (!in_array($k, $ADMINS['aid']))
+ {
+ unset($ADMINS['login'][$k]);
+ }
+ }
+
+ //* DEBUG: */ echo "****\n";
+ //* DEBUG: */ print_r($ADMINS);
+ //* DEBUG: */ echo "</PRE>";
+ //* DEBUG: */ die();
+ }
+ else
+ {
+ // Nope, cache file is corrupted!
+ $CACHE->cache_destroy();
+ }
+ }
+ else
+ {
+ // Nope, cache file is corrupted!
+ $CACHE->cache_destroy();
+ unset($ADMINS);
+ }
+}
+ elseif (($CONFIG['cache_admins'] == "Y") && ($CSS != "1") && ($CSS != "-1"))
+{
+ // Create cache file
+ $CACHE->cache_init("ADMINS");
+
+ // Load every data from DB to cache file
+ $ADD = ", id, id";
+ if (GET_EXT_VERSION("admins") >= "0.3") $ADD = ", default_acl AS def_acl";
+ if (GET_EXT_VERSION("admins") >= "0.6.7") $ADD .= ", la_mode";
+
+ $result_admins = SQL_QUERY("SELECT id AS aid, login, password, email".$ADD."
+FROM "._MYSQL_PREFIX."_admins
+ORDER BY login", __FILE__, __LINE__);
+ while($dummy = SQL_FETCHARRAY($result_admins))
+ {
+ // Save row
+ $CACHE->add_row($dummy);
+ }
+
+ // Free memory
+ SQL_FREERESULT($result_admins);
+}
+
+// Close file
+$CACHE->cache_close();
+
+// Next cached table is the module registry (mod_reg)...
+if ($CACHE->cache_file("mod_reg", true) == true)
+{
+ // Load cache
+ global $MODULES;
+ $MODULES = $CACHE->cache_load();
+
+ // Valid cache file
+ $CNT = 0;
+ foreach ($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($MODULES) > 0 ) $TEST = ($CNT / (count($MODULES)));
+ if ($TEST != bigintval($TEST))
+ {
+ // Cache file is corrupted!
+ $CACHE->cache_destroy();
+ unset($MODULES);
+ }
+ else
+ {
+ // Rewrite module cache
+ $MOD = $MODULES;
+ foreach ($MODULES['module'] as $key=>$mod)
+ {
+ $MODULES['id'][$mod] = $MODULES['id'][$key];
+ unset($MODULES['id'][$key]);
+ $MODULES['title'][$mod] = $MODULES['title'][$key];
+ unset($MODULES['title'][$key]);
+ $MODULES['locked'][$mod] = $MODULES['locked'][$key];
+ unset($MODULES['locked'][$key]);
+ $MODULES['hidden'][$mod] = $MODULES['hidden'][$key];
+ unset($MODULES['hidden'][$key]);
+ $MODULES['admin_only'][$mod] = $MODULES['admin_only'][$key];
+ unset($MODULES['admin_only'][$key]);
+ $MODULES['mem_only'][$mod] = $MODULES['mem_only'][$key];
+ unset($MODULES['mem_only'][$key]);
+ $MODULES['has_menu'][$mod] = $MODULES['has_menu'][$key];
+ unset($MODULES['has_menu'][$key]);
+ }
+ }
+}
+ elseif (($CONFIG['cache_modreg'] == "Y") && ($CSS != "1") && ($CSS != "-1"))
+{
+ // Create cache file here
+ $CACHE->cache_init("MODULES");
+
+ // Load all modules and their data
+ if (GET_EXT_VERSION("sql_patches") >= "0.3.6")
+ {
+ // Load has_menu
+ $result = SQL_QUERY("SELECT id, module, title, locked, hidden, admin_only, title, mem_only, has_menu
+FROM "._MYSQL_PREFIX."_mod_reg ORDER BY id", __FILE__, __LINE__);
+ }
+ else
+ {
+ // Don't load has_menu
+ $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))
+ {
+ // Add row to cache file
+ $CACHE->add_row($DATA);
+ }
+
+ // Free memory
+ SQL_FREERESULT($result);
+}
+
+// Close file
+$CACHE->cache_close();
+
+// Next cached table is the configuration (config)...
+if ($CACHE->cache_file("config", true) == true)
+{
+ // Load config from cache
+ global $CFG_CACHE;
+ $CFG_CACHE = $CACHE->cache_load();
+
+ // Valid cache file
+ $CNT = 0;
+ foreach ($CFG_CACHE 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($CFG_CACHE) > 0 ) $TEST = ($CNT / (count($CFG_CACHE)));
+ if ($TEST != bigintval($TEST))
+ {
+ // Cache file is corrupted!
+ $CACHE->cache_destroy();
+ unset($CFG_CACHE);
+ }
+}
+ elseif (($CONFIG['cache_config'] == "Y") && ($CSS != "1") && ($CSS != "-1"))
+{
+ // Create cache file here
+ $CACHE->cache_init("CONFIG");
+
+ // Load all modules and their data
+ $result = SQL_QUERY("SELECT * FROM "._MYSQL_PREFIX."_config ORDER BY config", __FILE__, __LINE__);
+ while ($DATA = SQL_FETCHARRAY($result))
+ {
+ // Add row to cache file
+ $CACHE->add_row($DATA);
+ }
+
+ // Free memory
+ SQL_FREERESULT($result);
+}
+
+// Close file
+$CACHE->cache_close();
+
+// Next cached table is the referral system (refsystem)...
+if ($CACHE->cache_file("refsystem", true) == true)
+{
+ // Load referral system from cache
+ global $REF_SYSTEM;
+ $REF_SYSTEM = $CACHE->cache_load();
+
+ // Valid cache file
+ $CNT = 0;
+ foreach ($REF_SYSTEM 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($REF_SYSTEM) > 0 ) $TEST = ($CNT / (count($REF_SYSTEM)));
+ if ($TEST != bigintval($TEST))
+ {
+ // Cache file is corrupted!
+ $CACHE->cache_destroy();
+ unset($REF_SYSTEM);
+ }
+}
+ elseif (($CONFIG['cache_refsys'] == "Y") && ($CSS != "1") && ($CSS != "-1"))
+{
+ // Create cache file here
+ $CACHE->cache_init("REFSYSTEM");
+
+ // Load all modules and their data
+ $result = SQL_QUERY("SELECT id, userid, level, counter FROM "._MYSQL_PREFIX."_refsystem ORDER BY userid, level", __FILE__, __LINE__);
+ while ($DATA = SQL_FETCHARRAY($result))
+ {
+ // Add row to cache file
+ $CACHE->add_row($DATA);
+ }
+
+ // Free memory
+ SQL_FREERESULT($result);
+}
+
+// Close file
+$CACHE->cache_close();
+
+// Next cached table is the referral system (refdepths)...
+if ($CACHE->cache_file("refdepths", true) == true)
+{
+ // Load referral system from cache
+ global $REF_DEPTHS;
+ $REF_DEPTHS = $CACHE->cache_load();
+
+ // Valid cache file
+ $CNT = 0;
+ foreach ($REF_DEPTHS 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($REF_DEPTHS) > 0 ) $TEST = ($CNT / (count($REF_DEPTHS)));
+ if ($TEST != bigintval($TEST))
+ {
+ // Cache file is corrupted!
+ $CACHE->cache_destroy();
+ unset($REF_DEPTHS);
+ }
+}
+ elseif (($CONFIG['cache_refdepth'] == "Y") && ($CSS != "1") && ($CSS != "-1"))
+{
+ // Create cache file here
+ $CACHE->cache_init("REFDEPTHS");
+
+ // Load all modules and their data
+ $result = SQL_QUERY("SELECT id, level, percents FROM "._MYSQL_PREFIX."_refdepths ORDER BY level", __FILE__, __LINE__);
+ while ($DATA = SQL_FETCHARRAY($result))
+ {
+ // Add row to cache file
+ $CACHE->add_row($DATA);
+ }
+
+ // Free memory
+ SQL_FREERESULT($result);
+}
+
+// Close file
+$CACHE->cache_close();
+
+// Next cached table is the referral system (admins_acls)...
+if (GET_EXT_VERSION("admins") >= "0.3")
+{
+ // Check for cache file
+ if ($CACHE->cache_file("admins_acls", true) == true)
+ {
+ // Load referral system from cache
+ global $ADMINS_ACLS;
+ $ADMINS_ACLS = $CACHE->cache_load();
+
+ // Valid cache file
+ $CNT = 0;
+ foreach ($ADMINS_ACLS 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
+ if (count($ADMINS_ACLS) > 0)
+ {
+ $TEST = "failed";
+ if (count($ADMINS_ACLS) > 0 ) $TEST = ($CNT / (count($ADMINS_ACLS)));
+ if ($TEST != bigintval($TEST))
+ {
+ // Cache file is corrupted!
+ $CACHE->cache_destroy();
+ unset($ADMINS_ACLS);
+ }
+ }
+ }
+ elseif (($CONFIG['cache_acls'] == "Y") && ($CSS != "1") && ($CSS != "-1"))
+ {
+ // Create cache file here
+ $CACHE->cache_init("ADMINS_ACLS");
+
+ // Load all modules and their data
+ $result = SQL_QUERY("SELECT id, admin_id, action_menu, what_menu, access_mode FROM "._MYSQL_PREFIX."_admins_acls ORDER BY admin_id, action_menu, what_menu", __FILE__, __LINE__);
+ while ($DATA = SQL_FETCHARRAY($result))
+ {
+ // Add row to cache file
+ $CACHE->add_row($DATA);
+ }
+
+ // Free memory
+ SQL_FREERESULT($result);
+ }
+
+ // Close file
+ $CACHE->cache_close();
+}
+
+//
+?>