loadCacheFile('modules')) && ($GLOBALS['cache_instance']->extensionVersionMatches('sql_patches'))) { // Load cache $GLOBALS['cache_array']['modules'] = $GLOBALS['cache_instance']->getArrayFromCache(); // Rewrite module cache $modArray = $GLOBALS['cache_array']['modules']; // Do only process valid arrays if (!isset($modArray['module'])) { // Try to remove the cache file $GLOBALS['cache_instance']->removeCacheFile(); // We should fix this reportBug(__FILE__, __LINE__, 'modArray=
' . print_r($modArray, true) . 'Please try to reload to fix this.'); } // END - if // Rewrite some parts foreach ($modArray['module'] as $key => $mod) { // Default without sql_patches $entries = array('id','title','locked','hidden','admin_only','mem_only'); // Is ext-sql_patches newer or equal 0.3.6? if (isExtensionInstalledAndNewer('sql_patches', '0.3.6')) { // Add 'has_menu' array_push($entries, 'has_menu'); } // END - if // Add all foreach ($entries as $entry) { // Is the entry set? if (isset($GLOBALS['cache_array']['modules'][$entry][$key])) { // Transfer it $GLOBALS['cache_array']['modules'][$entry][$mod] = $modArray[$entry][$key]; // And delete cache unset($GLOBALS['cache_array']['modules'][$entry][$key]); } else { // Log this for debug purposes logDebugMessage(basename(__FILE__), __LINE__, 'Entry not found. module=' . $mod . ',key=' . $key . ',entry=' . $entry); } } // END - foreach } // END - foreach unset($modArray); } elseif (isHtmlOutputMode()) { // Create cache file here $GLOBALS['cache_instance']->init(); // Do we have up-to-date ext-sql_patches? if (isExtensionInstalledAndNewer('sql_patches', '0.3.6')) { // Yes, has_menu shall be there $result = SQL_QUERY('SELECT `id`, `module`, `title`, `locked`, `hidden`, `admin_only`, `title`, `mem_only`, `has_menu` FROM `{?_MYSQL_PREFIX?}_mod_reg` ORDER BY `module` ASC', __FILE__, __LINE__); } else { // Not recent enough ext-sql_patches ... $result = SQL_QUERY('SELECT `id`, `module`, `title`, `locked`, `hidden`, `admin_only`, `title`, `mem_only` FROM `{?_MYSQL_PREFIX?}_mod_reg` ORDER BY `module` ASC', __FILE__, __LINE__); } // ... and load all entries while ($content = SQL_FETCHARRAY($result)) { // Add row to cache file $GLOBALS['cache_instance']->addRow($content); } // END - while // Free memory SQL_FREERESULT($result); // Close the cache $GLOBALS['cache_instance']->storeExtensionVersion('mods'); $GLOBALS['cache_instance']->storeExtensionVersion('sql_patches'); $GLOBALS['cache_instance']->finalize(); } // [EOF] ?>