X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=inc%2Fextensions%2Fext-cache.php;h=a53cb55f9973cb1c5895fbe563cee064ce301724;hp=9391294cc5c3c0ba5543bc4aa572268ae766d393;hb=039203d5428c9c6a3bed61fb3a9a16958c6fd44c;hpb=5071030af40e69ca4284642f44758964e18f5be8 diff --git a/inc/extensions/ext-cache.php b/inc/extensions/ext-cache.php index 9391294cc5..a53cb55f99 100644 --- a/inc/extensions/ext-cache.php +++ b/inc/extensions/ext-cache.php @@ -1,7 +1,7 @@ loadCacheFile("extensions", true)) $GLOBALS['cache_instance']->destroyCacheFile(); + if ($GLOBALS['cache_instance']->loadCacheFile('extension')) $GLOBALS['cache_instance']->removeCacheFile(); } // END - if // Update notes (these will be set as task text!) - EXT_SET_UPDATE_NOTES("Spalte "keep_active" ist hinzugefügt. Cache wurde reinitialisiert."); + setExtensionUpdateNotes("Spalte "keep_active" ist hinzugefügt. Cache wurde reinitialisiert."); break; case '0.0.5': // SQL queries for v0.0.5 // Update notes (these will be set as task text!) - EXT_SET_UPDATE_NOTES("Registrierung der Cache-Erweiterung repariert"); + setExtensionUpdateNotes("Registrierung der Cache-Erweiterung repariert"); break; case '0.0.6': // SQL queries for v0.0.6 // Update notes (these will be set as task text!) - EXT_SET_UPDATE_NOTES("Validierung der Cache-Datei admins.cache integriert."); + setExtensionUpdateNotes("Validierung der Cache-Datei admins.cache integriert."); break; case '0.0.7': // SQL queries for v0.0.7 - ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` ADD db_hits BIGINT(20) UNSIGNED NOT NULL DEFAULT 0"); - ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` ADD cache_hits BIGINT(20) UNSIGNED NOT NULL DEFAULT 0"); - ADD_EXT_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('stats','cache_stats','DB-Cache','Auf Cache und gesamte Datenbank registrierte Anfragen anzeigen.', 4)"); + addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD db_hits BIGINT(20) UNSIGNED NOT NULL DEFAULT 0"); + addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD cache_hits BIGINT(20) UNSIGNED NOT NULL DEFAULT 0"); + addAdminMenuSql('stats','cache_stats','DB-Cache','Auf Cache und gesamte Datenbank registrierte Anfragen anzeigen.', 4); // Update notes (these will be set as task text!) - EXT_SET_UPDATE_NOTES("Hits auf den Cache werden gezählt."); + setExtensionUpdateNotes("Hits auf den Cache werden gezählt."); break; case '0.0.8': // SQL queries for v0.0.8 // Update notes (these will be set as task text!) - EXT_SET_UPDATE_NOTES("Das Umschreiben der Cache-Daten hat eine Fehlermeldung Falsches Passwort! im Admin-Bereich verursacht."); + setExtensionUpdateNotes("Das Umschreiben der Cache-Daten hat eine Fehlermeldung Falsches Passwort! im Admin-Bereich verursacht."); break; case '0.0.9': // SQL queries for v0.0.9 // Update notes (these will be set as task text!) - EXT_SET_UPDATE_NOTES("Interne Datenfeld-Management korregiert und Cache-Statistiken korregiert."); + setExtensionUpdateNotes("Interne Datenfeld-Management korregiert und Cache-Statistiken korregiert."); break; case '0.1.0': // SQL queries for v0.2.1 // Update notes (these will be set as task text!) - EXT_SET_UPDATE_NOTES("Problem mit fehlender admins-Erweiterung beseitigt."); + setExtensionUpdateNotes("Problem mit fehlender admins-Erweiterung beseitigt."); break; case '0.1.1': // SQL queries for v0.1.1 // Update notes (these will be set as task text!) - EXT_SET_UPDATE_NOTES("Fehler Division durch 0 repariert in den DB-Cache Statistiken."); + setExtensionUpdateNotes("Fehler Division durch 0 repariert in den DB-Cache Statistiken."); break; case '0.1.2': // SQL queries for v0.1.2 // Update notes (these will be set as task text!) - EXT_SET_UPDATE_NOTES("Die Tabelen {!_MYSQL_PREFIX!}_config, {!_MYSQL_PREFIX!}_refsystem, {!_MYSQL_PREFIX!}_refdepths und {!_MYSQL_PREFIX!}_mod_reg werden nun auch ausgelagert."); + setExtensionUpdateNotes("Die Tabelen {?_MYSQL_PREFIX?}_config, {?_MYSQL_PREFIX?}_refsystem, {?_MYSQL_PREFIX?}_refdepths und {?_MYSQL_PREFIX?}_mod_reg werden nun auch ausgelagert."); break; case '0.1.3': // SQL queries for v0.1.3 - ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` ADD cache_admins ENUM('Y','N') NOT NULL DEFAULT 'Y'"); - ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` ADD cache_acls ENUM('Y','N') NOT NULL DEFAULT 'Y'"); - ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` ADD cache_exts ENUM('Y','N') NOT NULL DEFAULT 'Y'"); - ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` ADD cache_config ENUM('Y','N') NOT NULL DEFAULT 'Y'"); - ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` ADD cache_modreg ENUM('Y','N') NOT NULL DEFAULT 'Y'"); - ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` ADD cache_refdepth ENUM('Y','N') NOT NULL DEFAULT 'Y'"); - ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` ADD cache_refsys ENUM('Y','N') NOT NULL DEFAULT 'Y'"); - // Update notes (these will be set as task text!) - EXT_SET_UPDATE_NOTES("Alle cache-baren Tabellen sind nun einzelnt ein- bzw. ausschaltbar. Falls die eine oder andere ausgelagerte Tabelle also Fehler verursachen sollte, so können Sie diese hier abschalten. Beachten Sie aber bitte, dass dann mehr Abfragen an die Datenbank gestellt wird und dies bedeutend mehr Zeit braucht, als nur die Daten aus einem Datenfeld zu laden, das sich im Speicher aufhält."); + setExtensionUpdateNotes("Ungültiges Update."); break; case '0.1.4': // SQL queries for v0.1.4 // Update notes (these will be set as task text!) - EXT_SET_UPDATE_NOTES("Fehler Division durch 0 repariert in inc/load_cache.php."); + setExtensionUpdateNotes("Fehler Division durch 0 repariert in inc/load_cache.php."); break; case '0.1.5': // SQL queries for v0.1.5 // Update notes (these will be set as task text!) - EXT_SET_UPDATE_NOTES("Weitere Fehler im System beseitigt."); + setExtensionUpdateNotes("Weitere Fehler im System beseitigt."); break; case '0.1.6': // SQL queries for v0.1.6 // Update notes (these will be set as task text!) - EXT_SET_UPDATE_NOTES("Probleme während des Installationsvorganges beseitigt."); + setExtensionUpdateNotes("Probleme während des Installationsvorganges beseitigt."); break; case '0.1.7': // SQL queries for v0.1.7 // Update notes (these will be set as task text!) - EXT_SET_UPDATE_NOTES("CSS-Klassenname gefixt in Templates."); + setExtensionUpdateNotes("CSS-Klassenname gefixt in Templates."); break; case '0.1.8': // SQL queries for v0.1.8 - ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` ADD cache_themes ENUM('Y','N') NOT NULL DEFAULT 'Y'"); - // Update notes (these will be set as task text!) - EXT_SET_UPDATE_NOTES("Daten von installierten Themes werden nun gecacht."); + setExtensionUpdateNotes("Daten von installierten Themes werden nun gecacht."); break; case '0.1.9': // SQL queries for v0.1.9 - ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` ADD cache_admin_menu ENUM('Y','N') NOT NULL DEFAULT 'N'"); - // Update notes (these will be set as task text!) - EXT_SET_UPDATE_NOTES("Administratormenü experimentell gecacht."); + setExtensionUpdateNotes("Update nicht mehr gültig."); break; case '0.2.0': // SQL queries for v0.2.0 // This update depends on sql_patches - EXT_ADD_UPDATE_DEPENDS('sql_patches'); + addExtensionUpdateDependency('sql_patches'); // Update notes (these will be set as task text!) - EXT_SET_UPDATE_NOTES("Die Erweiterung hängt nun von der sql_patches ab."); + setExtensionUpdateNotes("Die Erweiterung hängt nun von der sql_patches ab."); break; case '0.2.1': // SQL queries for v0.2.1 // Register the new filter - REGISTER_FILTER('extension_update', 'CACHE_DESTROY_ON_EXT_CHANGE', false, true, $dry_run); - REGISTER_FILTER('post_extension_installed', 'CACHE_DESTROY_ON_EXT_CHANGE', false, true, $dry_run); - REGISTER_FILTER('post_extension_run_sql', 'CACHE_DESTROY_ON_EXT_CHANGE', false, true, $dry_run); - REGISTER_FILTER('post_admin_added', 'CACHE_DESTROY_ON_ADMIN_CHANGE', false, true, $dry_run); - REGISTER_FILTER('post_admin_edited', 'CACHE_DESTROY_ON_ADMIN_CHANGE', false, true, $dry_run); - REGISTER_FILTER('post_admin_deleted', 'CACHE_DESTROY_ON_ADMIN_CHANGE', false, true, $dry_run); - REGISTER_FILTER('post_admin_reset_pass', 'CACHE_DESTROY_ON_ADMIN_CHANGE', false, true, $dry_run); - REGISTER_FILTER('extension_remove', 'CACHE_DESTROY_ALL', false, true, $dry_run); + registerFilter('extension_update', 'CACHE_DESTROY_ON_EXT_CHANGE', false, true, getExtensionDryRun()); + registerFilter('post_extension_installed', 'CACHE_DESTROY_ON_EXT_CHANGE', false, true, getExtensionDryRun()); + registerFilter('post_extension_run_sql', 'CACHE_DESTROY_ON_EXT_CHANGE', false, true, getExtensionDryRun()); + registerFilter('post_admin_added', 'CACHE_DESTROY_ON_ADMIN_CHANGE', false, true, getExtensionDryRun()); + registerFilter('post_admin_edited', 'CACHE_DESTROY_ON_ADMIN_CHANGE', false, true, getExtensionDryRun()); + registerFilter('post_admin_deleted', 'CACHE_DESTROY_ON_ADMIN_CHANGE', false, true, getExtensionDryRun()); + registerFilter('post_admin_reset_pass', 'CACHE_DESTROY_ON_ADMIN_CHANGE', false, true, getExtensionDryRun()); + registerFilter('extension_remove', 'CACHE_DESTROY_ALL', false, true, getExtensionDryRun()); // Update notes (these will be set as task text!) - EXT_SET_UPDATE_NOTES("Filter für Erweiterungsmanagement hinzugefügt."); + setExtensionUpdateNotes("Filter für Erweiterungsmanagement hinzugefügt."); break; case '0.2.2': // SQL queries for v0.2.2 - // Register the new filter - REGISTER_FILTER('post_extension_installed', 'CACHE_PURGE_ADMIN_MENU', false, true, $dry_run); - REGISTER_FILTER('post_extension_run_sql', 'CACHE_PURGE_ADMIN_MENU', false, true, $dry_run); - // Update notes (these will be set as task text!) - EXT_SET_UPDATE_NOTES("Weitere Filter hinzugefügt."); + setExtensionUpdateNotes("Update nicht mehr gültig."); break; - } - break; - case 'modify': // When the extension got modified + case '0.2.3': // SQL queries for v0.2.3 + addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD cache_filter ENUM('Y','N') NOT NULL DEFAULT 'Y'"); + + // Update notes (these will be set as task text!) + setExtensionUpdateNotes("Cachen von Filtern hinzugefügt."); + + // Register a new filter + registerFilter('shutdown', 'CACHE_DESTROY_FILTER', false, true, getExtensionDryRun()); break; - case 'test': // For testing purposes. For details see file inc/modules/admin/what-extensions.php, arround line 305. + case '0.2.4': // SQL queries for v0.2.4 + // SQL commands to run + addExtensionSql("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_admin_menu` WHERE `what`='config_cache' LIMIT 1"); + + // Remove config entries + addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` DROP `cache_themes`"); + addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` DROP `cache_admins`"); + addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` DROP `cache_acls`"); + addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` DROP `cache_exts`"); + addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` DROP `cache_config`"); + addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` DROP `cache_modreg`"); + addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` DROP `cache_refdepth`"); + addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` DROP `cache_refsys`"); + + // Update notes (these will be set as task text!) + setExtensionUpdateNotes("Der Cache hat keine Konfiguration mehr."); break; - default: // Do stuff when extension is loaded - // Create instance on class - if ($GLOBALS['cache_mode'] != 'init') { - // Initialize cache system only when it's needed - $GLOBALS['cache_instance'] = new CacheSystem(getConfig('cache_update'), "inc/".getConfig('cache_path'), getConfig('cache_tested')); - if ($GLOBALS['cache_instance']->getStatus() != 'done') { - // Failed to initialize cache sustem - addFatalMessage(__FILE__, __LINE__, "(".__LINE__."): ".getMessage('CACHE_CANNOT_INITIALIZE')); - } // END - if - } // END - if + case '0.2.5': // SQL queries for v0.2.5 + // Update notes (these will be set as task text!) + setExtensionUpdateNotes("Daten von gefundenen Sprachdateien werden zu den Erweiterungen gecacht."); break; -} + } + break; -// Keep this extension always active! -EXT_SET_ALWAYS_ACTIVE('Y'); + case 'modify': // When the extension got modified + break; + + case 'test': // For testing purposes. For details see file inc/modules/admin/what-extensions.php, arround line 305. + break; + + case 'init': // Do stuff when extension is initialized + break; + + default: // Unknown extension mode + logDebugMessage(__FILE__, __LINE__, sprintf("Unknown extension mode %s detected.", getExtensionMode())); + break; +} -// +// [EOF] ?>