]> git.mxchange.org Git - mailer.git/blobdiff - inc/loader/load_cache-modreg.php
Extensions 'admins' and 'task' are now always active
[mailer.git] / inc / loader / load_cache-modreg.php
index d835fc66683fb0d657de1fb0622195ade9333e82..5d5196efddec8fd34c03c465e76123013f03657e 100644 (file)
  ************************************************************************/
 
 // 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 module registry (mod_reg)...
-if ($cacheInstance->cache_file("mod_reg", true) == true) {
+if (($cacheInstance->loadCacheFile("mod_reg")) && ($cacheInstance->extensionVersionMatches("sql_patches"))) {
        // Load cache
        global $cacheArray;
-       $cacheArray['modules'] = $cacheInstance->cache_load();
+       $cacheArray['modules'] = $cacheInstance->getArrayFromCache();
 
-       // 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);
-       }
-} elseif (($_CONFIG['cache_modreg'] == "Y") && ($CSS != "1") && ($CSS != "-1")) {
+       // 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 ((getConfig('cache_modreg') == "Y") && ($CSS != "1") && ($CSS != "-1")) {
        // Create cache file here
-       $cacheInstance->cache_init("MODULES");
+       $cacheInstance->init("MODULES");
+       $cacheInstance->storeExtensionVersion("sql_patches");
 
        // Load all modules and their data
        if (GET_EXT_VERSION("sql_patches") >= "0.3.6") {
@@ -94,17 +79,22 @@ FROM "._MYSQL_PREFIX."_mod_reg ORDER BY id", __FILE__, __LINE__);
                $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->addRow($data);
+       } // END - while
 
        // Free memory
        SQL_FREERESULT($result);
-}
 
-// Close file
-$cacheInstance->cache_close();
+       // Close the cache
+       $cacheInstance->finalize();
+
+       // Reload the cache
+       require(__FILE__);
+}
 
 //
 ?>