-PRIMARY KEY(`id`)
-) TYPE=MyISAM COMMENT='Member points booking table'";
-
- // Admin menu
- $SQLs[] = "INSERT INTO `{!_MYSQL_PREFIX!}_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('setup','config_booking','Kontoauszug','Einstellungen am Kontoauszug für Mitglieder vornehmen.', 14)";
- $SQLs[] = "INSERT INTO `{!_MYSQL_PREFIX!}_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('user','list_booking','Kontoauszug','Kontoauszüge aller Ihrer Mitglieder oder eines einzelnen Mitgliedes anzeigen.',10)";
-
- // Member menu
- $SQLs[] = "INSERT INTO `{!_MYSQL_PREFIX!}_member_menu` (`action`,`what`,`title`,`sort`,`visible`,`locked`) VALUES ('main','booking','{!POINTS!}-Kontoauszug',5,'Y','Y')";
- break;
-
-case "remove": // Do stuff when removing extension
- $SQLs[] = "DROP TABLE IF EXISTS `{!_MYSQL_PREFIX!}_user_book`";
- $SQLs[] = "DELETE LOW_PRIORITY FROM `{!_MYSQL_PREFIX!}_admin_menu` WHERE `what` IN ('config_booking','list_booking') LIMIT 2";
- $SQLs[] = "DELETE LOW_PRIORITY FROM `{!_MYSQL_PREFIX!}_member_menu` WHERE `what`='booking' LIMIT 1";
- break;
-
-case "activate": // Do stuff when admin activates this extension
- // SQL commands to run
- $SQLs[] = "UPDATE `{!_MYSQL_PREFIX!}_member_menu` SET `visible`='Y', `locked`='N' WHERE `what`='booking' LIMIT 1";
- break;
-
-case "deactivate": // Do stuff when admin deactivates this extension
- // SQL commands to run
- $SQLs[] = "UPDATE `{!_MYSQL_PREFIX!}_member_menu` SET `visible`='N', `locked`='Y' WHERE `what`='booking' LIMIT 1";
- break;
-
-case "update": // Update an extension
- switch ($EXT_VER)
- {
- case "0.0.1": // SQL queries for v0.0.1
- $SQLs[] = "";
-
- // Update notes (these will be set as task text!)
- $UPDATE_NOTES = "";
+PRIMARY KEY (`id`)
+) TYPE={?_TABLE_TYPE?} COMMENT='Member points booking table'");
+
+ // Admin menu
+ addAdminMenuSql('setup','config_booking','Kontoauszug','Einstellungen am Kontoauszug für Mitglieder vornehmen.', 14);
+ addAdminMenuSql('user','list_booking','Kontoauszug','Kontoauszüge aller Ihrer Mitglieder oder eines einzelnen Mitgliedes anzeigen.',10);
+
+ // Member menu
+ addMemberMenuSql('main','booking','{OPEN_CONFIG}POINTS{CLOSE_CONFIG}-Kontoauszug','N','Y',5);
+
+ // Add the filters
+ registerFilter('add_points', 'ADD_BOOKING_RECORD', false, true, getExtensionDryRun());
+ registerFilter('sub_points', 'ADD_BOOKING_RECORD', false, true, getExtensionDryRun());
+ break;
+
+ case 'remove': // Do stuff when removing extension
+ addExtensionSql("DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_user_book`");
+ addExtensionSql("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_admin_menu` WHERE `what` IN ('config_booking','list_booking')");
+ addExtensionSql("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_member_menu` WHERE `what`='booking'");
+
+ // Remove the filters
+ unregisterFilter('add_points', 'ADD_BOOKING_RECORD', false, true, getExtensionDryRun());
+ unregisterFilter('sub_points', 'ADD_BOOKING_RECORD', false, true, getExtensionDryRun());
+ break;
+
+ case 'activate': // Do stuff when admin activates this extension
+ // SQL commands to run
+ addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_member_menu` SET `visible`='Y', `locked`='N' WHERE `what`='booking' LIMIT 1");