]> git.mxchange.org Git - mailer.git/blobdiff - 0.2.1/inc/load_cache.php
win32 to unix line delimiters changed
[mailer.git] / 0.2.1 / inc / load_cache.php
index e2d194df50e73e4f99885d14fedee570d016ef12..6458778e676e7a0ef9db5ab550300a90dfaa8fc3 100644 (file)
-<?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 - 2008 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();
+}
+
+//
+?>