X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=inc%2Fextensions%2Fext-menu.php;h=531b3e085ecaf6132e6ca007881c8634eb9cb115;hb=22ed4cd313c0f05d6578662b0e4ef191312f0aed;hp=dcd649008392382e12a5fe783b6b3c30cd809c24;hpb=8120bdd67eb1c09cca24c1a6421f41ab107f0c67;p=mailer.git diff --git a/inc/extensions/ext-menu.php b/inc/extensions/ext-menu.php index dcd6490083..531b3e085e 100644 --- a/inc/extensions/ext-menu.php +++ b/inc/extensions/ext-menu.php @@ -1,7 +1,7 @@ Vorsicht! Löschen Sie nicht das Login-Menü!',2)"); - ADD_EXT_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('menu','admin_add','Admin-Menü hinzufügen','Weiteren Menüpunkt zum Admin-Bereich hinzufügen',3)"); - ADD_EXT_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('menu','guest_add','Gäste-Menü hinzufügen','Fügen Sie weitere Menüpunkte dem Gäste-Menü hinzu.',5)"); - ADD_EXT_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('menu','memedit','Mitgliedsmenü editieren','Mitgliedsmenü editieren oder löschen',6)"); - ADD_EXT_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('menu','guestedit','Gäste-Menü editieren','Gäste-Menü editieren, löschen',4)"); - ADD_EXT_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('menu','mem_add','Mitgliedsmenü hinzufügen','Weiteren Menüpunkt zum Mitgliedsmenü hinzufügen',7)"); - break; - -case 'remove': // Do stuff when removing extension - // SQL commands to run - ADD_EXT_SQL("DELETE LOW_PRIORITY FROM `{!_MYSQL_PREFIX!}_admin_menu` WHERE `action`='menu'"); - break; - -case 'activate': // Do stuff when admin activates this extension - // SQL commands to run - break; - -case 'deactivate': // Do stuff when admin deactivates this extension - // SQL commands to run - break; - -case 'update': // Update an extension - switch ($EXT_VER) - { - case '0.0.1': // SQL queries for v0.0.1 - ADD_EXT_SQL(""); - - // Update notes (these will be set as task text!) - EXT_SET_UPDATE_NOTES(""); +setThisExtensionVersion('0.0.5'); + +// Version history array (add more with , '0.0.1' and so on) +setExtensionVersionHistory(array('0.0.0','0.0.1','0.0.2','0.0.3', '0.0.4', '0.0.5')); + +switch (getExtensionMode()) { + case 'setup': // Do stuff when installation is running + // SQL commands to run + // @TODO Convert menu-Id to one coding-standard. admin(edit|_add) => admin_menu_(edit|add), mem(edit|_add) => (edit|add)_(admin|guest|member)_menu + addAdminMenuSql('menu',NULL,'Menü-System','Alle drei Menü-System bearbeiten (Admin-, Mitglied- und Gast-Menü)',1); + addAdminMenuSql('menu','admin_add','Admin-Menü hinzufügen','Weiteren Menüpunkt zum Admin-Bereich hinzufügen',1); + addAdminMenuSql('menu','adminedit','Admin-Menü editieren','Das Administrationsmenü mit neuen Menüs erweitern, bestehende ändern oder löschen. Vorsicht! Löschen Sie nicht das Login-Menü!',2); + addAdminMenuSql('menu','mem_add','Mitgliedsmenü hinzufügen','Weiteren Menüpunkt zum Mitgliedsmenü hinzufügen',3); + addAdminMenuSql('menu','memedit','Mitgliedsmenü editieren','Mitgliedsmenü editieren oder löschen',4); + addAdminMenuSql('menu','guest_add','Gäste-Menü hinzufügen','Fügen Sie weitere Menüpunkte dem Gäste-Menü hinzu.',5); + addAdminMenuSql('menu','guestedit','Gäste-Menü editieren','Gäste-Menü editieren, löschen',6); + + // Unregister filter + unregisterFilter(__FILE__, __LINE__, 'guest_menu_advert', 'ADD_GENERIC_MENU_ADVERT', TRUE, isExtensionDryRun()); + unregisterFilter(__FILE__, __LINE__, 'member_menu_advert', 'ADD_GENERIC_MENU_ADVERT', TRUE, isExtensionDryRun()); + unregisterFilter(__FILE__, __LINE__, 'guest_menu_advert_end', 'ADD_GENERIC_MENU_ADVERT_END', TRUE, isExtensionDryRun()); + unregisterFilter(__FILE__, __LINE__, 'member_menu_advert_end', 'ADD_GENERIC_MENU_ADVERT_END', TRUE, isExtensionDryRun()); + break; + + case 'remove': // Do stuff when removing extension + // SQL commands to run + addExtensionSql("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_admin_menu` WHERE `action`='menu'"); + break; + + case 'activate': // Do stuff when admin activates this extension + // SQL commands to run + break; + + case 'deactivate': // Do stuff when admin deactivates this extension + // SQL commands to run + break; + + case 'update': // Update an extension + switch (getCurrentExtensionVersion()) { + case '0.0.1': // SQL queries for v0.0.1 + addConfigAddSql('guest_menu_advert_enabled', "ENUM('Y','N') NOT NULL DEFAULT 'Y'"); + addConfigAddSql('member_menu_advert_enabled', "ENUM('Y','N') NOT NULL DEFAULT 'Y'"); + + // Insert menu entry + addAdminMenuSql('menu','config_menu','Einstellungen','Einstellungen an den Gast- und Mitgliedsmenüs vornehmen.',7); + + // Update notes (these will be set as task text!) + setExtensionUpdateNotes("Gast- und Mitgliedsmenüs können nun Werbung zwischen den Menüblöcken einblenden."); + break; + + case '0.0.2': // SQL queries for v0.0.2 + // Load the fix include + addIncludeToPool('extension', 'inc/fix_menu.php'); + + // Update notes (these will be set as task text!) + setExtensionUpdateNotes("Doppelte Menüpunkte bereinigt."); + break; + + case '0.0.3': // SQL queries for v0.0.3 + // Change menu-string + addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_admin_menu` SET `title`='Admin-Menü editieren' WHERE `what` = 'adminedit' LIMIT 1"); + + // Update notes (these will be set as task text!) + setExtensionUpdateNotes("Menüpunkt 'Vom Admin editieren' in 'Admin-Menü editieren' bei bereits bestehenden Installationen umändern."); + break; + + case '0.0.4': // SQL queries for v0.0.4 + // Change menu-string + addExtensionChangeTableColumnSql('admin_menu', 'title', 'title', "VARCHAR(255) NOT NULL DEFAULT ''"); + + // Update notes (these will be set as task text!) + setExtensionUpdateNotes("VARCHAR(50) ist zu kurz für Linktitel (wegen der dynamischen Anteile)."); + break; + + case '0.0.5': // SQL queries for v0.0.5 + registerFilter(__FILE__, __LINE__, 'guest_menu_advert', 'ADD_GENERIC_MENU_ADVERT', FALSE, TRUE, isExtensionDryRun()); + registerFilter(__FILE__, __LINE__, 'member_menu_advert', 'ADD_GENERIC_MENU_ADVERT', FALSE, TRUE, isExtensionDryRun()); + registerFilter(__FILE__, __LINE__, 'guest_menu_advert_end', 'ADD_GENERIC_MENU_ADVERT_END', FALSE, TRUE, isExtensionDryRun()); + registerFilter(__FILE__, __LINE__, 'member_menu_advert_end', 'ADD_GENERIC_MENU_ADVERT_END', FALSE, TRUE, isExtensionDryRun()); + + // Update notes (these will be set as task text!) + setExtensionUpdateNotes("Filter hinzugefügt, die Werbeeinblendungen hinzufügen. Auf diese Filter kann später auch z.B. ext-clickbanner sich registrieren, damit die Werbung "exklusiv" angezeigt wird, muss das Flag exclusive auf TRUE gesetzt werden."); + break; + } // END - switch + break; + + case 'modify': // When the extension got modified break; - } - break; -case 'modify': // When the extension got modified - break; + case 'test': // For testing purposes + 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: // Do stuff when extension is loaded - break; -} + default: // Unknown extension mode + reportBug(__FILE__, __LINE__, sprintf("Unknown extension mode %s in extension %s detected.", getExtensionMode(), getCurrentExtensionName())); + break; +} // END - switch -// +// [EOF] ?>