+ break;
+
+ case '0.2.8': // SQL queries for v0.2.8
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Nicht mehr gültiges Update.");
+ break;
+
+ case '0.2.9': // SQL queries for v0.2.9
+ addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD `mt_word` VARCHAR(255) NOT NULL DEFAULT 'Mailtausch'");
+ addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD `mt_word2` VARCHAR(255) NOT NULL DEFAULT 'Mailtausches'");
+ addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD `mt_word3` VARCHAR(255) NOT NULL DEFAULT 'Mailtauscher'");
+
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Wörter <strong>{?mt_word?}</strong>, <strong>{?mt_word2?}</strong> und <strong>{?mt_word3?}</strong> sind austauschbar.");
+ break;
+
+ case '0.3.0': // SQL queries for v0.3.0
+ addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_admin_menu` SET `title`='{OPEN_CONFIG}POINTS{CLOSE_CONFIG}/Referal-Ebenen' WHERE `what`='config_points' LIMIT 1");
+ addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_admin_menu` SET `title`='Mailvergütungen...' WHERE `what`='payments' LIMIT 1");
+
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Zwei Menüpunkte umbenannt.");
+ break;
+
+ case '0.3.1': // SQL queries for v0.3.1
+ addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_extensions` ADD UNIQUE KEY `ext_name` (`ext_name`)");
+ addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_admins` ADD UNIQUE KEY `login` (`login`)");
+ addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_refbanner` ADD INDEX `visible` (`visible`)");
+ addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_refdepths` ADD UNIQUE KEY `level` (`level`)");
+ addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_refsystem` ADD INDEX `level` (`level`)");
+ addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_pool` ADD INDEX `data_type` (`data_type`)");
+ addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_mod_reg` ADD UNIQUE KEY `module` (`module`)");
+ addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_admin_menu` ADD INDEX `action` (`action`)");
+ addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_admin_menu` ADD INDEX `what` (`what`)");
+ addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_task_system` ADD INDEX `task_type` (`task_type`)");
+ addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_task_system` ADD INDEX `status` (`status`)");
+ addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_task_system` ADD INDEX `task_created` (`task_created`)");
+ addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_task_system` ADD FULLTEXT `subject` (`subject`)");
+ addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_task_system` ADD INDEX `subject` (`subject`)");
+ addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_extensions` ADD INDEX `ext_active` (`ext_active`)");
+ addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_guest_menu` ADD INDEX `action` (`action`)");
+ addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_guest_menu` ADD INDEX `what` (`what`)");
+ addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_guest_menu` ADD INDEX `sort` (`sort`)");
+ addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_guest_menu` ADD INDEX `visible` (`visible`)");
+ addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_guest_menu` ADD INDEX `locked` (`locked`)");
+ addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_member_menu` ADD INDEX `what` (`what`)");
+ addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_member_menu` ADD INDEX `sort` (`sort`)");
+ addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_member_menu` ADD INDEX `visible` (`visible`)");
+ addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_member_menu` ADD INDEX `locked` (`locked`)");
+ addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_cats` ADD INDEX `visible` (`visible`)");
+ addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_cats` ADD INDEX `sort` (`sort`)");
+
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Eindeutige Schlüssel (UNIQUE KEY) und normale Schlüssel (INDEX) gesetzt.");
+ break;
+
+ case '0.3.2': // SQL queries for v0.3.2
+ // Connection table between the menu system and the "logical area" system
+ addDropTableSql('admin_menu_las');
+ addExtensionSql("CREATE TABLE `{?_MYSQL_PREFIX?}_admin_menu_las` (
+`id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
+`la_id` VARCHAR(255) NOT NULL DEFAULT '',
+`la_action` VARCHAR(255) NOT NULL DEFAULT '',
+`la_what` VARCHAR(255) NOT NULL DEFAULT '',
+INDEX (`la_id`),
+INDEX (`la_action`),
+INDEX (`la_what`),
+PRIMARY KEY (`id`)
+) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci");
+ // All "logical areas" together
+ addDropTableSql('admin_menu_las_data');
+ addExtensionSql("CREATE TABLE `{?_MYSQL_PREFIX?}_admin_menu_las_data` (
+`id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
+`la_id` VARCHAR(255) NOT NULL DEFAULT '',
+`la_title` VARCHAR(255) NOT NULL DEFAULT '',
+`la_posx` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
+`la_posy` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
+UNIQUE KEY (`la_id`),
+INDEX (`la_posx`),
+INDEX (`la_posy`),
+PRIMARY KEY (`id`)
+) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci");
+ // Which menu do you like?
+ addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD `admin_menu` ENUM('NEW','OLD') NOT NULL DEFAULT 'OLD'");
+
+ // Insert menus
+ addAdminMenuSql('setup','config_admin','Adminmenü','Diverse Einstellungen am Adminmenü vornehmen.', 9);
+
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Logische Bereiche (Logical Areas = LAs) eingeführt. Dadurch wird das immer stärker anwachsende Admin-Menü in grosse Hauptgruppen unterteilt, wodurch ein Auffinden von Menüpunkten verbessert wird.");
+ break;
+
+ case '0.3.3': // SQL queries for v0.3.3
+ // Switch of the "intelligent menu sorter" when you want to have a fixed menu structure...
+ addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD `admin_menu_sorter` ENUM('Y','N') NOT NULL DEFAULT 'Y'");
+
+ // The statistics table
+ addDropTableSql('admin_menu_stats');
+ addExtensionSql("CREATE TABLE `{?_MYSQL_PREFIX?}_admin_menu_stats` (
+`id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
+`admin_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
+`type` ENUM('la','action','what') NOT NULL DEFAULT 'what',
+`clicks` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
+INDEX (`admin_id`),
+PRIMARY KEY (`id`)
+) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci");
+
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Admin-abhängig werden nun Klicks im Admin-Menü gezählt, die zur automatischen Anpassung des Menüs in den logischen Bereichen diennen. Dieses "intelligente Unbauen" können Sie auch ganz abschalten.");
+ break;
+
+ case '0.3.4': // SQL queries for v0.3.4
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Veraltetes Update (what=list_user&mode=noref)");
+ break;
+
+ case '0.3.5': // SQL queries for v0.3.5
+ // List accounts with no referal
+ addMemberMenuSql('stats',NULL,'Statistiken','Y','N',4);
+ addMemberMenuSql('stats','stats2','Framekiller-Mails','Y','N',2);
+ addMemberMenuSql('extras',NULL,'Extras','Y','N',5);
+ addMemberMenuSql('rals',NULL,'Rallyes','Y','N',6);
+ addMemberMenuSql('account',NULL,'Ihr Account','Y','N',7);
+ addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_member_menu` SET `action`='stats', `sort`=1, `title`='Klick-Mails' WHERE `what`='stats' LIMIT 1");
+ addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_member_menu` SET `action`='extras', `sort`=3 WHERE `what`='reflinks' LIMIT 1");
+
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Mitgliedsmenü komplett umgebaut.");
+ break;
+
+ case '0.3.6': // SQL queries for v0.3.6
+ addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD `salt_length` TINYINT(3) UNSIGNED NOT NULL DEFAULT 10");
+ addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD `pass_scramble` VARCHAR(255) NOT NULL DEFAULT ''");
+ addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_admins` MODIFY `password` VARCHAR(255) NOT NULL DEFAULT ''");
+ addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD `rand_no` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0");
+ addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD `file_hash` VARCHAR(255) NOT NULL DEFAULT ''");
+ addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD `master_salt` VARCHAR(255) NOT NULL DEFAULT ''");
+ addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_config` SET `rand_no`=(ROUND(RAND() * 99999) + 100000) WHERE `config`=0 LIMIT 1");
+ addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_mod_reg` ADD `has_menu` ENUM('Y','N') NOT NULL DEFAULT 'N'");
+ addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_mod_reg` SET `has_menu`='Y' WHERE `module`='admin' OR `module`='index' OR `module`='login' LIMIT 3");
+
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Passwort-System mit Zufallshash erweitert (Schutzt gegen Dictionary-Attacks!)");
+ break;
+
+ case '0.3.7': // SQL queries for v0.3.7
+ setExtensionUpdateNotes("Problem während des Installationsvorganges behoben.");
+ break;
+
+ case '0.3.8': // SQL queries for v0.3.8
+ addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_admin_menu` CHANGE `descr` `descr` MEDIUMTEXT NULL");
+ addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_pool` CHANGE `text` `text` LONGTEXT NOT NULL");
+
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Beschreibungstexte für Admin-Menüs können länger sein. Diverse Fixes.");
+ break;
+
+ case '0.3.9': // SQL queries for v0.3.9
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Beschreibungstexte für Admin-Menüs können länger sein. Diverse Fixes.");
+ break;
+
+ case '0.4.0': // SQL queries for v0.4.0
+ addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_admin_menu` SET `title` = 'Email-Management' WHERE `action` = 'email' AND (`what`='' OR `what` IS NULL) LIMIT 1");
+
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Email-Verwaltung nach Email-Management umbenannt.");
+ break;
+
+ case '0.4.1': // SQL queries for v0.4.1
+ addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD `show_timings` ENUM ('Y','N') NOT NULL DEFAULT 'Y'");
+
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Tabellen-Schlüssel neu gesetzt und Parsing-Zeit im Footer eingeblendet.");
+ break;
+
+ case '0.4.2': // SQL queries for v0.4.2
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Nicht mehr gültiges Update.");
+ break;
+
+ case '0.4.3': // SQL queries for v0.4.3
+ addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD `proxy_host` VARCHAR(255) NOT NULL DEFAULT ''");
+ addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD `proxy_port` INT(5) UNSIGNED NOT NULL DEFAULT 0");
+ addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD `proxy_username` VARCHAR(255) NOT NULL DEFAULT ''");
+ addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD `proxy_password` VARCHAR(255) NOT NULL DEFAULT ''");
+ addAdminMenuSql('setup','config_proxy','Proxy-Einstellungen','Sollte Ihr Webserver sich hinter einem Proxy befinden, so können Sie Ihren {?mt_word?} so konfigurieren, dass es Updates durch diesen hindurch sucht!', 15);
+
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Proxy-Einstellungen hinzugefügt.");
+ break;
+
+ case '0.4.4': // SQL queries for v0.4.4
+ addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_admin_menu` CHANGE `what` `what` VARCHAR(255) NULL DEFAULT NULL");
+ addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_guest_menu` CHANGE `what` `what` VARCHAR(255) NULL DEFAULT NULL");
+ addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_member_menu` CHANGE `what` `what` VARCHAR(255) NULL DEFAULT NULL");
+ addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_admin_menu` SET `what`=NULL WHERE `what`=''");
+ addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_guest_menu` SET `what`=NULL WHERE `what`=''");
+ addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_member_menu` SET `what`=NULL WHERE `what`=''");
+
+ // Make this depending on ext-menu
+ addExtensionDependency('menu');
+
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Schlüssel in Admin-, Gast- und Mitgliedsmenü verbessert.");
+ break;
+
+ case '0.4.5': // SQL queries for v0.4.5
+ addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD `last_month` CHAR(2) NOT NULL DEFAULT '00'");
+ addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD `last_week` CHAR(2) NOT NULL DEFAULT '00'");
+
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Täglichen/wöchentlichen/monatlichen Reset verbessert.");
+ break;
+
+ case '0.4.6': // SQL queries for v0.4.6
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Nicht mehr gültiges Update.");
+ break;
+
+ case '0.4.7': // SQL queries for v0.4.7
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Veraltetes Update.");
+ break;
+
+ case '0.4.8': // SQL queries for v0.4.8
+ addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_task_system` ADD INDEX (`subject`)");
+
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Index für Betreff eingefügt.");
+ break;
+
+ case '0.4.9': // SQL queries for v0.4.9
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Nicht mehr gültiges Update.");
+ break;
+
+ case '0.5.0': // SQL queries for v0.5.0
+ addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_refsystem` DROP INDEX `level`");
+ addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_refsystem` DROP INDEX `userid`");
+ addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_refsystem` ADD UNIQUE `userid_level` (`userid`,`level`)");
+
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Referal-System unterstützt nun detailierte Referal-Übersicht und vieles mehr.");
+ break;
+
+ case '0.5.1': // SQL queries for v0.5.1
+ addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_member_menu` DROP `descr`");