loadCacheFile('admin')) && ($GLOBALS['cache_instance']->extensionVersionMatches('admins'))) { // Load cache $GLOBALS['cache_array']['admin'] = $GLOBALS['cache_instance']->getArrayFromCache(); // Check if valid if ((isset($GLOBALS['cache_array']['admin']['login'])) && (is_array($GLOBALS['cache_array']['admin']['login'])) && (is_array($GLOBALS['cache_array']['admin']['admin_id']))) { // Check count if (count($GLOBALS['cache_array']['admin']['login']) == count($GLOBALS['cache_array']['admin']['admin_id'])) { // Rewrite the cache $admins = array(); foreach ($GLOBALS['cache_array']['admin']['login'] as $idx=>$admin) { // Rewrite all entries foreach ($GLOBALS['cache_array']['admin'] as $key=>$entry) { // Do we have login or regular entries? if ($key == 'login') { // Login, so use id $admins[$key][$GLOBALS['cache_array']['admin']['admin_id'][$idx]] = $entry[$idx]; } else { // Regular entry so use login $admins[$key][$GLOBALS['cache_array']['admin']['login'][$idx]] = $entry[$idx]; } } // END - foreach } // END - foreach // Transfer back to cache array and remove dummy $GLOBALS['cache_array']['admin'] = $admins; unset($admins); } else { // Nope, cache file is corrupted! $GLOBALS['cache_instance']->removeCacheFile(); unset($GLOBALS['cache_array']['admin']); } } else { // Nope, cache file is corrupted! $GLOBALS['cache_instance']->removeCacheFile(); unset($GLOBALS['cache_array']['admin']); } } elseif (getOutputMode() != 1) { // Create cache file $GLOBALS['cache_instance']->init(); // Load every data from DB to cache file $add = runFilterChain('sql_admin_extra_data'); // Query the database about this $result_admins = SQL_QUERY('SELECT `id` AS admin_id, `login`, `password`, `email`' . $add . ' FROM `{?_MYSQL_PREFIX?}_admins` ORDER BY `login` ASC', __FILE__, __LINE__); while ($dummy = SQL_FETCHARRAY($result_admins)) { // Save row $GLOBALS['cache_instance']->addRow($dummy); } // END - while // Free memory SQL_FREERESULT($result_admins); // Close cache $GLOBALS['cache_instance']->storeExtensionVersion('admins'); $GLOBALS['cache_instance']->finalize(); } // Next cached table are the admins_acls... if (isExtensionInstalledAndNewer('admins', '0.3')) { // Check for cache file if (($GLOBALS['cache_instance']->loadCacheFile('admin_acls')) && ($GLOBALS['cache_instance']->extensionVersionMatches('admins'))) { // Load referal system from cache $GLOBALS['cache_array']['admin_acls'] = $GLOBALS['cache_instance']->getArrayFromCache(); } elseif (getOutputMode() != 1) { // Create cache file here $GLOBALS['cache_instance']->init(); // Load all modules and their data (column 'id' is no longer required) $result = SQL_QUERY('SELECT `admin_id`, `action_menu`, `what_menu`, `access_mode` FROM `{?_MYSQL_PREFIX?}_admins_acls` ORDER BY `admin_id` ASC, `action_menu` ASC, `what_menu` ASC', __FILE__, __LINE__); // Add all rows while ($content = SQL_FETCHARRAY($result)) { // Add row to cache file $GLOBALS['cache_instance']->addRow($content); } // END - while // Free memory SQL_FREERESULT($result); // Close cache $GLOBALS['cache_instance']->storeExtensionVersion('admins'); $GLOBALS['cache_instance']->finalize(); } } // END - if // [EOF] ?>