X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=inc%2Fload_cache.php;h=bf4b34326bd954da0ed558dd4af1158d0ce03a4d;hb=360c95a5bfa12df5434ed421bd3abd26b42bb211;hp=69aec9887beebeecad67665665860d7fc38c1d9c;hpb=e1653405d28923c78b2e292125306ccf61138f24;p=mailer.git diff --git a/inc/load_cache.php b/inc/load_cache.php index 69aec9887b..bf4b34326b 100644 --- a/inc/load_cache.php +++ b/inc/load_cache.php @@ -32,103 +32,88 @@ ************************************************************************/ // Some security stuff... -if (ereg(basename(__FILE__), $_SERVER['PHP_SELF'])) -{ +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)) -{ +if (($cacheInstance->cache_file("admins", true) == true)) { // Load cache - global $ADMINS; - $ADMINS = $CACHE->cache_load(); + global $cacheArray; + $cacheArray['admins'] = $cacheInstance->cache_load(); // Check if valid - if (is_array($ADMINS['login']) && is_array($ADMINS['def_acl']) && is_array($ADMINS['aid'])) - { + if ((is_array($cacheArray['admins']['login'])) && (is_array($cacheArray['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'])) - { + if (count($cacheArray['admins']['login']) == count($cacheArray['admins']['aid'])) { //* DEBUG: */ echo "
"; - //* DEBUG: */ print_r($ADMINS); + //* DEBUG: */ print_r($cacheArray['admins']); // The cache file seems to be fine - foreach ($ADMINS['login'] as $k=>$login) - { + foreach ($cacheArray['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]; + $cacheArray['admins']['aid'][$login] = $cacheArray['admins']['aid'][$k]; + $cacheArray['admins']['password'][$login] = $cacheArray['admins']['password'][$k]; + $cacheArray['admins']['email'][$login] = $cacheArray['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]; + if (GET_EXT_VERSION("admins") >= "0.3") { + $cacheArray['admins']['def_acl'][$login] = $cacheArray['admins']['def_acl'][$k]; + if (GET_EXT_VERSION("admins") >= "0.6.7") { + $cacheArray['admins']['la_mode'][$login] = $cacheArray['admins']['la_mode'][$k]; } } - //* DEBUG: */ print_r($ADMINS); + //* DEBUG: */ print_r($cacheArray['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]); + if (isset($cacheArray['admins']['aid'][$k])) unset($cacheArray['admins']['aid'][$k]); + if (isset($cacheArray['admins']['def_acl'][$k])) unset($cacheArray['admins']['def_acl'][$k]); + if (isset($cacheArray['admins']['la_mode'][$k])) unset($cacheArray['admins']['la_mode'][$k]); + if (isset($cacheArray['admins']['password'][$k])) unset($cacheArray['admins']['password'][$k]); + if (isset($cacheArray['admins']['email'][$k])) unset($cacheArray['admins']['email'][$k]); } - //* DEBUG: */ print_r($ADMINS); + //* DEBUG: */ print_r($cacheArray['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]); + foreach ($cacheArray['admins']['login'] as $k=>$login) { + $cacheArray['admins']['login'][$cacheArray['admins']['aid'][$login]] = $login; + if (!in_array($k, $cacheArray['admins']['aid'])) { + unset($cacheArray['admins']['login'][$k]); } } //* DEBUG: */ echo "****\n"; - //* DEBUG: */ print_r($ADMINS); + //* DEBUG: */ print_r($cacheArray['admins']); //* DEBUG: */ echo ""; //* DEBUG: */ die(); - } - else - { + } else { // Nope, cache file is corrupted! - $CACHE->cache_destroy(); + $cacheInstance->cache_destroy(); } - } - else - { + } else { // Nope, cache file is corrupted! - $CACHE->cache_destroy(); - unset($ADMINS); + $cacheInstance->cache_destroy(); + unset($cacheArray['admins']); } -} - elseif (($CONFIG['cache_admins'] == 'Y') && ($CSS != "1") && ($CSS != "-1")) -{ +} elseif (($_CONFIG['cache_admins'] == "Y") && ($CSS != "1") && ($CSS != "-1")) { // Create cache file - $CACHE->cache_init("ADMINS"); + $cacheInstance->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"; + // Query the database about this $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)) - { + while($dummy = SQL_FETCHARRAY($result_admins)) { // Save row - $CACHE->add_row($dummy); + $cacheInstance->add_row($dummy); } // Free memory @@ -136,77 +121,68 @@ ORDER BY login", __FILE__, __LINE__); } // Close file -$CACHE->cache_close(); +$cacheInstance->cache_close(); // Next cached table is the module registry (mod_reg)... -if ($CACHE->cache_file("mod_reg", true) == true) -{ +if ($cacheInstance->cache_file("mod_reg", true) == true) { // Load cache - global $MODULES; - $MODULES = $CACHE->cache_load(); + global $cacheArray; + $cacheArray['modules'] = $cacheInstance->cache_load(); // Valid cache file $CNT = 0; - foreach ($MODULES as $k=>$array) - { + 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($MODULES) > 0 ) $TEST = ($CNT / (count($MODULES))); - if ($TEST != bigintval($TEST)) - { + if (count($cacheArray['modules']) > 0 ) $TEST = ($CNT / (count($cacheArray['modules']))); + if ($TEST != bigintval($TEST)) { // Cache file is corrupted! - $CACHE->cache_destroy(); - unset($MODULES); - } - else - { + $cacheInstance->cache_destroy(); + unset($cacheArray['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]); + $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); } -} - elseif (($CONFIG['cache_modreg'] == 'Y') && ($CSS != "1") && ($CSS != "-1")) -{ +} elseif (($_CONFIG['cache_modreg'] == "Y") && ($CSS != "1") && ($CSS != "-1")) { // Create cache file here - $CACHE->cache_init("MODULES"); + $cacheInstance->cache_init("MODULES"); // Load all modules and their data - if (GET_EXT_VERSION("sql_patches") >= "0.3.6") - { + 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 - { + } 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)) - { + while ($DATA = SQL_FETCHARRAY($result)) { // Add row to cache file - $CACHE->add_row($DATA); + $cacheInstance->add_row($DATA); } // Free memory @@ -214,44 +190,45 @@ FROM "._MYSQL_PREFIX."_mod_reg ORDER BY id", __FILE__, __LINE__); } // Close file -$CACHE->cache_close(); +$cacheInstance->cache_close(); // Next cached table is the configuration (config)... -if ($CACHE->cache_file("config", true) == true) -{ +if ($cacheInstance->cache_file("config", true) == true) { // Load config from cache - global $CFG_CACHE; - $CFG_CACHE = $CACHE->cache_load(); + global $cacheArray; + $cacheArrayConfig = $cacheInstance->cache_load(); // Valid cache file - $CNT = 0; - foreach ($CFG_CACHE as $k=>$array) - { + $CNT = 0; $newCache = array(); + foreach ($cacheArrayConfig as $key=>$array) { + foreach ($array as $key2=>$value) { + $newCache[$key2][$key] = $value; + } $CNT += count($array); } + // Overwrite the config with the cache version + $cacheArray['config'] = $newCache; + unset($newCache); + // 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)) - { + if (count($cacheArray['config']) > 0 ) $TEST = ($CNT / (count($cacheArray['config']))); + if ($TEST != bigintval($TEST)) { // Cache file is corrupted! - $CACHE->cache_destroy(); - unset($CFG_CACHE); + $cacheInstance->cache_destroy(); + unset($cacheArray['config']); } -} - elseif (($CONFIG['cache_config'] == 'Y') && ($CSS != "1") && ($CSS != "-1")) -{ +} elseif (($_CONFIG['cache_config'] == "Y") && ($CSS != "1") && ($CSS != "-1")) { // Create cache file here - $CACHE->cache_init("CONFIG"); + $cacheInstance->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)) - { + while ($DATA = SQL_FETCHARRAY($result)) { // Add row to cache file - $CACHE->add_row($DATA); + $cacheInstance->add_row($DATA); } // Free memory @@ -259,44 +236,38 @@ if ($CACHE->cache_file("config", true) == true) } // Close file -$CACHE->cache_close(); +$cacheInstance->cache_close(); // Next cached table is the referral system (refsystem)... -if ($CACHE->cache_file("refsystem", true) == true) -{ +if ($cacheInstance->cache_file("refsystem", true) == true) { // Load referral system from cache - global $REF_SYSTEM; - $REF_SYSTEM = $CACHE->cache_load(); + global $cacheArray; + $cacheArray['ref_system'] = $cacheInstance->cache_load(); // Valid cache file $CNT = 0; - foreach ($REF_SYSTEM as $k=>$array) - { + foreach ($cacheArray['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)) - { + if (count($cacheArray['ref_system']) > 0 ) $TEST = ($CNT / (count($cacheArray['ref_system']))); + if ($TEST != bigintval($TEST)) { // Cache file is corrupted! - $CACHE->cache_destroy(); - unset($REF_SYSTEM); + $cacheInstance->cache_destroy(); + unset($cacheArray['ref_system']); } -} - elseif (($CONFIG['cache_refsys'] == 'Y') && ($CSS != "1") && ($CSS != "-1")) -{ +} elseif (($_CONFIG['cache_refsys'] == "Y") && ($CSS != "1") && ($CSS != "-1")) { // Create cache file here - $CACHE->cache_init("REFSYSTEM"); + $cacheInstance->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)) - { + while ($DATA = SQL_FETCHARRAY($result)) { // Add row to cache file - $CACHE->add_row($DATA); + $cacheInstance->add_row($DATA); } // Free memory @@ -304,44 +275,38 @@ if ($CACHE->cache_file("refsystem", true) == true) } // Close file -$CACHE->cache_close(); +$cacheInstance->cache_close(); // Next cached table is the referral system (refdepths)... -if ($CACHE->cache_file("refdepths", true) == true) -{ +if ($cacheInstance->cache_file("refdepths", true) == true) { // Load referral system from cache - global $REF_DEPTHS; - $REF_DEPTHS = $CACHE->cache_load(); + global $cacheArray; + $cacheArray['ref_depths'] = $cacheInstance->cache_load(); // Valid cache file $CNT = 0; - foreach ($REF_DEPTHS as $k=>$array) - { + foreach ($cacheArray['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)) - { + if (count($cacheArray['ref_depths']) > 0 ) $TEST = ($CNT / (count($cacheArray['ref_depths']))); + if ($TEST != bigintval($TEST)) { // Cache file is corrupted! - $CACHE->cache_destroy(); - unset($REF_DEPTHS); + $cacheInstance->cache_destroy(); + unset($cacheArray['ref_depths']); } -} - elseif (($CONFIG['cache_refdepth'] == 'Y') && ($CSS != "1") && ($CSS != "-1")) -{ +} elseif (($_CONFIG['cache_refdepth'] == "Y") && ($CSS != "1") && ($CSS != "-1")) { // Create cache file here - $CACHE->cache_init("REFDEPTHS"); + $cacheInstance->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)) - { + while ($DATA = SQL_FETCHARRAY($result)) { // Add row to cache file - $CACHE->add_row($DATA); + $cacheInstance->add_row($DATA); } // Free memory @@ -349,50 +314,42 @@ if ($CACHE->cache_file("refdepths", true) == true) } // Close file -$CACHE->cache_close(); +$cacheInstance->cache_close(); // Next cached table is the referral system (admins_acls)... -if (GET_EXT_VERSION("admins") >= "0.3") -{ +if (GET_EXT_VERSION("admins") >= "0.3") { // Check for cache file - if ($CACHE->cache_file("admins_acls", true) == true) - { + if ($cacheInstance->cache_file("admins_acls", true) == true) { // Load referral system from cache - global $ADMINS_ACLS; - $ADMINS_ACLS = $CACHE->cache_load(); + global $cacheArray; + $cacheArray['admin_acls'] = $cacheInstance->cache_load(); // Valid cache file $CNT = 0; - foreach ($ADMINS_ACLS as $k=>$array) - { + foreach ($cacheArray['admin_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) - { + if (count($cacheArray['admin_acls']) > 0) { $TEST = "failed"; - if (count($ADMINS_ACLS) > 0 ) $TEST = ($CNT / (count($ADMINS_ACLS))); - if ($TEST != bigintval($TEST)) - { + if (count($cacheArray['admin_acls']) > 0 ) $TEST = ($CNT / (count($cacheArray['admin_acls']))); + if ($TEST != bigintval($TEST)) { // Cache file is corrupted! - $CACHE->cache_destroy(); - unset($ADMINS_ACLS); + $cacheInstance->cache_destroy(); + unset($cacheArray['admin_acls']); } } - } - elseif (($CONFIG['cache_acls'] == 'Y') && ($CSS != "1") && ($CSS != "-1")) - { + } elseif (($_CONFIG['cache_acls'] == "Y") && ($CSS != "1") && ($CSS != "-1")) { // Create cache file here - $CACHE->cache_init("ADMINS_ACLS"); + $cacheInstance->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)) - { + while ($DATA = SQL_FETCHARRAY($result)) { // Add row to cache file - $CACHE->add_row($DATA); + $cacheInstance->add_row($DATA); } // Free memory @@ -400,7 +357,7 @@ if (GET_EXT_VERSION("admins") >= "0.3") } // Close file - $CACHE->cache_close(); + $cacheInstance->cache_close(); } //