X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;ds=inline;f=inc%2Floader%2Fload_cache-refdepths.php;h=11a47438ae5135a2a9ee74a060292aba47a4a78f;hb=323f6a7c78424b654b62b69eeb44995908a5327e;hp=fc84d19627a77692c3dc8b53e4219d9977683945;hpb=3e64a94e122e30dd66db07fd8c8cfae05871c460;p=mailer.git diff --git a/inc/loader/load_cache-refdepths.php b/inc/loader/load_cache-refdepths.php index fc84d19627..11a47438ae 100644 --- a/inc/loader/load_cache-refdepths.php +++ b/inc/loader/load_cache-refdepths.php @@ -32,92 +32,39 @@ ************************************************************************/ // 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); } -// Next cached table is the referral system (refdepths)... -if ($cacheInstance->cache_file("refdepths", true) == true) { - // Load referral system from cache - global $cacheArray; - $cacheArray['ref_depths'] = $cacheInstance->cache_load(); - - // Valid cache file - $CNT = 0; - foreach ($cacheArray['ref_depths'] as $k => $array) { - $CNT += count($array); - } +// Make cacheInstance global +global $cacheInstance; - // 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['ref_depths']) > 0 ) $TEST = ($CNT / (count($cacheArray['ref_depths']))); - if ($TEST != bigintval($TEST)) { - // Cache file is corrupted! - $cacheInstance->cache_destroy(); - unset($cacheArray['ref_depths']); - } -} elseif (($_CONFIG['cache_refdepth'] == "Y") && ($CSS != "1") && ($CSS != "-1")) { +// Next cached table is the referal system (refdepths)... +if (($cacheInstance->loadCacheFile("refdepths")) && ($cacheInstance->extensionVersionMatches("sql_patches"))) { + // Load referal system from cache + global $cacheArray; + $cacheArray['ref_depths'] = $cacheInstance->getArrayFromCache(); +} elseif ((getConfig('cache_refdepth') == "Y") && ($CSS != "1") && ($CSS != "-1")) { // Create cache file here - $cacheInstance->cache_init("REFDEPTHS"); + $cacheInstance->init("REFDEPTHS"); + $cacheInstance->storeExtensionVersion("sql_patches"); // 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 - $cacheInstance->add_row($DATA); - } + $cacheInstance->addRow($data); + } // END - while // Free memory SQL_FREERESULT($result); -} - -// Close file -$cacheInstance->cache_close(); - -// Next cached table is the referral system (admins_acls)... -if (GET_EXT_VERSION("admins") >= "0.3") { - // Check for cache file - if ($cacheInstance->cache_file("admins_acls", true) == true) { - // Load referral system from cache - global $cacheArray; - $cacheArray['admin_acls'] = $cacheInstance->cache_load(); - - // Valid cache file - $CNT = 0; - 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($cacheArray['admin_acls']) > 0) { - $TEST = "failed"; - if (count($cacheArray['admin_acls']) > 0 ) $TEST = ($CNT / (count($cacheArray['admin_acls']))); - if ($TEST != bigintval($TEST)) { - // Cache file is corrupted! - $cacheInstance->cache_destroy(); - unset($cacheArray['admin_acls']); - } - } - } elseif (($_CONFIG['cache_acls'] == "Y") && ($CSS != "1") && ($CSS != "-1")) { - // Create cache file here - $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)) { - // Add row to cache file - $cacheInstance->add_row($DATA); - } - // Free memory - SQL_FREERESULT($result); - } + // Close the cache + $cacheInstance->finalize(); - // Close file - $cacheInstance->cache_close(); + // Reload the cache + require(__FILE__); } //