* $Author:: $ *
* -------------------------------------------------------------------- *
* Copyright (c) 2003 - 2009 by Roland Haeder *
- * Copyright (c) 2009, 2010 by Mailer Developer Team *
- * For more information visit: http://www.mxchange.org *
+ * Copyright (c) 2009 - 2012 by Mailer Developer Team *
+ * For more information visit: http://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 *
// 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;
+} elseif (isInstallationPhase()) {
+ // Use this code if you don't want to run this cache loader on installation phase
+ return;
+}
// Next cached table is the module registry (mod_reg)...
if (($GLOBALS['cache_instance']->loadCacheFile('modules')) && ($GLOBALS['cache_instance']->extensionVersionMatches('sql_patches'))) {
// Do only process valid arrays
if (!isset($modArray['module'])) {
- // We should fix this!
- debug_report_bug(__FILE__, __LINE__, 'modArray=<pre>'.print_r($modArray, true).'</pre>');
+ // Try to remove the cache file
+ $GLOBALS['cache_instance']->removeCacheFile();
+
+ // We should fix this
+ reportBug(__FILE__, __LINE__, 'modArray=<pre>' . print_r($modArray, TRUE) . '</pre>Please try to reload to fix this.');
} // END - if
// Rewrite some parts
// Is ext-sql_patches newer or equal 0.3.6?
if (isExtensionInstalledAndNewer('sql_patches', '0.3.6')) {
// Add 'has_menu'
- $entries[] = 'has_menu';
+ array_push($entries, 'has_menu');
} // END - if
// Add all
// Create cache file here
$GLOBALS['cache_instance']->init();
- // Load all modules and their data
+ // Is there up-to-date ext-sql_patches?
if (isExtensionInstalledAndNewer('sql_patches', '0.3.6')) {
- // Load has_menu
+ // Yes, has_menu shall be there
$result = SQL_QUERY('SELECT
- `id`, `module`, `title`, `locked`, `hidden`, `admin_only`, `title`, `mem_only`, `has_menu`
+ `id`,
+ `module`,
+ `title`,
+ `locked`,
+ `hidden`,
+ `admin_only`,
+ `title`,
+ `mem_only`,
+ `has_menu`
FROM
`{?_MYSQL_PREFIX?}_mod_reg`
ORDER BY
`module` ASC', __FILE__, __LINE__);
} else {
- // Don't load has_menu
+ // Not recent enough ext-sql_patches ...
$result = SQL_QUERY('SELECT
- `id`, `module`, `title`, `locked`, `hidden`, `admin_only`, `title`, `mem_only`
+ `id`,
+ `module`,
+ `title`,
+ `locked`,
+ `hidden`,
+ `admin_only`,
+ `title`,
+ `mem_only`
FROM
`{?_MYSQL_PREFIX?}_mod_reg`
ORDER BY
`module` ASC', __FILE__, __LINE__);
}
- // Cache all data
+ // ... and load all entries
while ($content = SQL_FETCHARRAY($result)) {
// Add row to cache file
$GLOBALS['cache_instance']->addRow($content);
SQL_FREERESULT($result);
// Close the cache
+ $GLOBALS['cache_instance']->storeExtensionVersion('mods');
$GLOBALS['cache_instance']->storeExtensionVersion('sql_patches');
$GLOBALS['cache_instance']->finalize();
}