<?php
-/************************************************************************
- * MXChange v0.2.1 Start: 09/09/2008 *
- * =============== Last change: 09/09/2008 *
- * *
- * -------------------------------------------------------------------- *
- * File : load_cache-config.php *
- * -------------------------------------------------------------------- *
- * Short description : Load more cache files *
- * -------------------------------------------------------------------- *
- * Kurzbeschreibung : Mehr Cache-Dateien nachladen *
- * -------------------------------------------------------------------- *
- * $Revision:: $ *
- * $Date:: $ *
- * $Tag:: 0.2.1-FINAL $ *
- * $Author:: $ *
- * Needs to be in all Files and every File needs "svn propset *
- * svn:keywords Date Revision" (autoprobset!) at least!!!!!! *
- * -------------------------------------------------------------------- *
- * Copyright (c) 2003 - 2009 by Roland Haeder *
- * For more information visit: http://www.mxchange.org *
- * *
- * This program is free software; you can redistribute it and/or modify *
- * it under the terms of the GNU General Public License as published by *
- * the Free Software Foundation; either version 2 of the License, or *
- * (at your option) any later version. *
- * *
- * This program is distributed in the hope that it will be useful, *
- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
- * GNU General Public License for more details. *
- * *
- * You should have received a copy of the GNU General Public License *
- * along with this program; if not, write to the Free Software *
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, *
- * MA 02110-1301 USA *
- ************************************************************************/
-
-// Some security stuff...
-if (!defined('__SECURITY')) {
- die();
-} // END - if
-
-// Use this code if you don't want to run this cache loader on installation phase
-if (isInstallationPhase()) return;
-
-// Let's start with the admins table...
-if (($GLOBALS['cache_instance']->loadCacheFile('admins')) && ($GLOBALS['cache_instance']->extensionVersionMatches('admins'))) {
- // Load cache
- $GLOBALS['cache_array']['admins'] = $GLOBALS['cache_instance']->getArrayFromCache();
-
- // Check if valid
- if ((isset($GLOBALS['cache_array']['admins']['login'])) && (is_array($GLOBALS['cache_array']['admins']['login'])) && (is_array($GLOBALS['cache_array']['admins']['admin_id']))) {
- // Check count
- if (count($GLOBALS['cache_array']['admins']['login']) == count($GLOBALS['cache_array']['admins']['admin_id'])) {
- // Get "id map"
- $idMap = $GLOBALS['cache_array']['admins']['admin_id'];
-
- // Rewrite the cache array
- for ($idx = (count($idMap) - 1); $idx >= 0; $idx--) {
- // Rewrite all entries
- foreach ($GLOBALS['cache_array']['admins'] as $key=>$entryArray) {
- // Rewrite the entry
- if ($key == 'admin_id') {
- // Rewrite admin id (use login name as index)
- $GLOBALS['cache_array']['admins']['admin_id'][$GLOBALS['cache_array']['admins']['login'][$idx]] = $entryArray[$idx];
- } else {
- // Rewrite regular entry
- $GLOBALS['cache_array']['admins'][$key][$idMap[$idx]] = $entryArray[$idx];
- }
-
- // Is the last entry reached?
- if ($idx == 0) {
- // Remove it
- unset($GLOBALS['cache_array']['admins'][$key][0]);
- } // END - if
- } // END - if
- } // END - for
- } else {
- // Nope, cache file is corrupted!
- $GLOBALS['cache_instance']->removeCacheFile();
- unset($GLOBALS['cache_array']['admins']);
- }
- } else {
- // Nope, cache file is corrupted!
- $GLOBALS['cache_instance']->removeCacheFile();
- unset($GLOBALS['cache_array']['admins']);
- }
-} elseif (getOutputMode() != '1') {
- // Create cache file
- $GLOBALS['cache_instance']->init('ADMINS');
-
- // 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();
-
- // Include loader again
- loadInclude('inc/loader/'.basename(__FILE__));
-}
-
-// Next cached table are the admins_acls...
-if (isExtensionInstalledAndNewer('admins', '0.3')) {
- // Check for cache file
- if (($GLOBALS['cache_instance']->loadCacheFile('admins_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('ADMINS_ACLS');
-
- // 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, action_menu, what_menu', __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();
-
- // Include loader again
- loadInclude('inc/loader/'.basename(__FILE__));
- }
-} // END - if
-
-// [EOF]
+// @DEPRECATED
?>