From ea86158c35580561e29b84ee9e01c810db3f3676 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Roland=20H=C3=A4der?= Date: Mon, 22 Oct 2012 20:51:50 +0000 Subject: [PATCH] Rewrote handling almost all extension-based ALTER TABLE queries: - Introduced addExtensionAddTableColumnSql(), addExtensionChangeTableColumnSql() and addExtensionDropTableColumnSql() - Rewrote extension files to make usage of these new functions --- inc/extensions-functions.php | 40 +++++++++++++++++++-- inc/extensions/ext-admins.php | 26 +++++++------- inc/extensions/ext-autopurge.php | 12 +++---- inc/extensions/ext-beg.php | 22 ++++++------ inc/extensions/ext-birthday.php | 8 ++--- inc/extensions/ext-bonus.php | 50 +++++++++++++------------- inc/extensions/ext-country.php | 4 +-- inc/extensions/ext-coupon.php | 2 +- inc/extensions/ext-doubler.php | 2 +- inc/extensions/ext-holiday.php | 4 +-- inc/extensions/ext-html_mail.php | 6 ++-- inc/extensions/ext-menu.php | 2 +- inc/extensions/ext-newsletter.php | 2 +- inc/extensions/ext-nickname.php | 7 ++-- inc/extensions/ext-online.php | 4 +-- inc/extensions/ext-order.php | 6 ++-- inc/extensions/ext-payout.php | 29 ++++++++-------- inc/extensions/ext-rallye.php | 10 +++--- inc/extensions/ext-refback.php | 8 ++--- inc/extensions/ext-sql_patches.php | 44 +++++++++++------------ inc/extensions/ext-surfbar.php | 2 +- inc/extensions/ext-task.php | 4 +-- inc/extensions/ext-theme.php | 2 +- inc/extensions/ext-transfer.php | 4 +-- inc/extensions/ext-user.php | 56 +++++++++++++++--------------- inc/extensions/ext-wernis.php | 4 +-- 26 files changed, 199 insertions(+), 161 deletions(-) diff --git a/inc/extensions-functions.php b/inc/extensions-functions.php index ae3cf47a90..fda3057788 100644 --- a/inc/extensions-functions.php +++ b/inc/extensions-functions.php @@ -2005,12 +2005,48 @@ function addSponsorMenuSql ($action, $what, $title, $active, $sort) { } } +// Add ALTER TABLE `foo` ADD sql if not found +function addExtensionAddTableColumnSql ($tableName, $columnName, $columnSql) { + // Is the column there? + if (!ifSqlColumnExists('{?_MYSQL_PREFIX?}_' . $tableName, $columnName)) { + // Then add it + addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_' . $tableName . '` ADD `' . $columnName . '` ' . $columnSql); + } elseif (isDebugModeEnabled()) { + // Add debug line + logDebugMessage(__FUNCTION__, __LINE__, 'tableName=' . $tableName . ',columnName=' . $columnName . ',columnSql=' . $columnSql . ': does already exist.'); + } +} + +// Add ALTER TABLE `foo` CHANGE sql if not found +function addExtensionChangeTableColumnSql ($tableName, $fromColumnName, $toColumnName, $columnSql) { + // Is the column there? + if ((ifSqlColumnExists('{?_MYSQL_PREFIX?}_' . $tableName, $fromColumnName)) && (($fromColumnName == $toColumnName) || (!ifSqlColumnExists('{?_MYSQL_PREFIX?}_' . $tableName, $toColumnName)))) { + // Then add it + addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_' . $tableName . '` CHANGE `' . $fromColumnName . '` `' . $toColumnName . '` ' . $columnSql); + } elseif (isDebugModeEnabled()) { + // Add debug line + logDebugMessage(__FUNCTION__, __LINE__, 'tableName=' . $tableName . ',fromColumnName=' . $fromColumnName . ',toColumnName=' . $toColumnName . ',columnSql=' . $columnSql . ': Cannot be changed.'); + } +} + +// Add ALTER TABLE `foo` DROP sql if not found +function addExtensionDropTableColumnSql ($tableName, $columnName) { + // Is the column there? + if (ifSqlColumnExists('{?_MYSQL_PREFIX?}_' . $tableName, $columnName)) { + // Then add it + addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_' . $tableName . '` DROP `' . $columnName . '`'); + } elseif (isDebugModeEnabled()) { + // Add debug line + logDebugMessage(__FUNCTION__, __LINE__, 'tableName=' . $tableName . ',columnName=' . $columnName . ': does not exist.'); + } +} + // Add configuration entry if not found for actual extension function addConfigAddSql ($columnName, $columnSql) { // Is the column there? if (!ifSqlColumnExists('{?_MYSQL_PREFIX?}_config', $columnName)) { // Not found, so add it - addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD `' . $columnName . '` ' . $columnSql); + addExtensionAddTableColumnSql('config', $columnName, $columnSql); } elseif (isDebugModeEnabled()) { // Add debug line logDebugMessage(__FUNCTION__, __LINE__, 'Configuration entry ' . $columnName . ' already created. columnSql=' . $columnSql); @@ -2022,7 +2058,7 @@ function addConfigDropSql ($columnName) { // Is the column there? if (ifSqlColumnExists('{?_MYSQL_PREFIX?}_config', $columnName)) { // Found, so add it - addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_config` DROP `' . $columnName . '`'); + addExtensionDropTableColumnSql('config', $columnName); } elseif (isDebugModeEnabled()) { // Add debug line, reportBug() would cause some extenion updates fail logDebugMessage(__FUNCTION__, __LINE__, 'Configuration entry ' . $columnName . ' not found.'); diff --git a/inc/extensions/ext-admins.php b/inc/extensions/ext-admins.php index 9f0e42a260..186f37aef1 100644 --- a/inc/extensions/ext-admins.php +++ b/inc/extensions/ext-admins.php @@ -62,7 +62,7 @@ switch (getExtensionMode()) { addExtensionSql("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_admin_menu` WHERE `action`='admins'"); addDropTableSql('admins_acls'); addDropTableSql('admins_mails'); - addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_admins` DROP `default_acl`"); + addExtensionDropTableColumnSql('admins', 'default_acl'); // Remove filters unregisterFilter(__FILE__, __LINE__, 'sql_admin_extra_data', 'ADD_EXTRA_SQL_DATA', TRUE, isExtensionDryRun()); @@ -98,7 +98,7 @@ switch (getExtensionMode()) { addConfigAddSql('admins_default_acl', "ENUM('deny','allow') NOT NULL DEFAULT 'deny'"); // Default is deny everything - addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_admins` ADD `default_acl` ENUM('deny','allow') NOT NULL DEFAULT 'deny'"); + addExtensionAddTableColumnSql('admins', 'default_acl', "ENUM('deny','allow') NOT NULL DEFAULT 'deny'"); // But allow current admin everything (THIS SHALL BE YOU!) addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_admins` SET `default_acl`='allow' WHERE `id`=".bigintval(getCurrentAdminId())." LIMIT 1"); @@ -118,7 +118,7 @@ INDEX (`admin_id`)", break; case '0.3.1': // SQL queries for v0.3.1 - addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_admins_acls` CHANGE `id` `id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT"); + addExtensionChangeTableColumnSql('admins_acls', 'id', 'id', 'BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT'); break; case '0.4.0': // SQL queries for v0.4.0 @@ -264,7 +264,7 @@ INDEX (`admin_id`)", break; case '0.6.7': // SQL queries for v0.6.7 - addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_admins` ADD `la_mode` ENUM('global','OLD','NEW') NOT NULL DEFAULT 'global'"); + addExtensionAddTableColumnSql('admins', 'la_mode', "ENUM('global','OLD','NEW') NOT NULL DEFAULT 'global'"); // Update notes (these will be set as task text!) setExtensionUpdateNotes("Namenskonflikt zwischen den Erweiterungen admins und (kommender) contact. Beseitigung eines Fehlers HTTP_POSR_VARS beim Ändern von Administratoren."); @@ -283,8 +283,8 @@ INDEX (`admin_id`)", break; case '0.7.0': // SQL queries for v0.7.0 - addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_admins` ADD `login_failtures` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0"); - addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_admins` ADD `last_failture` TIMESTAMP NULL DEFAULT NULL"); + addExtensionAddTableColumnSql('admins', 'login_failtures', "BIGINT(20) UNSIGNED NOT NULL DEFAULT 0"); + addExtensionAddTableColumnSql('admins', 'last_failture', "TIMESTAMP NULL DEFAULT NULL"); // Update notes (these will be set as task text!) setExtensionUpdateNotes("Veraltetes Update."); @@ -302,18 +302,18 @@ INDEX (`admin_id`)", break; case '0.7.2': // SQL queries for v0.7.2 - addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_admins` DROP `login_failtures`"); - addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_admins` DROP `last_failture`"); - addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_admins` ADD `login_failures` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0"); - addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_admins` ADD `last_failure` TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00'"); + addExtensionDropTableColumnSql('admins', 'login_failtures'); + addExtensionDropTableColumnSql('admins', 'last_failture'); + addExtensionAddTableColumnSql('admins', 'login_failures', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT 0'); + addExtensionAddTableColumnSql('admins', 'last_failure', "TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00'"); // Update notes (these will be set as task text!) setExtensionUpdateNotes("Schreibweise korregiert."); break; case '0.7.3': // SQL queries for v0.7.3 - addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_admins` ADD `expert_settings` ENUM('Y','N') NOT NULL DEFAULT 'Y'"); - addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_admins` ADD `expert_warning` ENUM('Y','N') NOT NULL DEFAULT 'Y'"); + addExtensionAddTableColumnSql('admins', 'expert_settings', "ENUM('Y','N') NOT NULL DEFAULT 'Y'"); + addExtensionAddTableColumnSql('admins', 'expert_warning', "ENUM('Y','N') NOT NULL DEFAULT 'Y'"); // Update notes (these will be set as task text!) setExtensionUpdateNotes("Entwicklereinstellungen sind nun hinzugekommen."); @@ -337,7 +337,7 @@ INDEX (`admin_id`)", break; case '0.7.6': // SQL queries for v0.7.6 - addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_admins` CHANGE `last_failure` `last_failure` TIMESTAMP NULL DEFAULT NULL"); + addExtensionChangeTableColumnSql('admins', 'last_failure', 'last_failure', 'TIMESTAMP NULL DEFAULT NULL'); // Update notes (these will be set as task text!) setExtensionUpdateNotes("Ausgangswert ist nicht mehr 0000-00-00 00:00:00, sondern NULL."); diff --git a/inc/extensions/ext-autopurge.php b/inc/extensions/ext-autopurge.php index 13f1c332a2..089757cae2 100644 --- a/inc/extensions/ext-autopurge.php +++ b/inc/extensions/ext-autopurge.php @@ -55,16 +55,16 @@ switch (getExtensionMode()) { addExtensionDependency('bonus'); // SQL commands to run - addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_pool` CHANGE `data_type` `data_type` ENUM('TEMP','SEND','NEW','ADMIN','ACTIVE','DELETED') NOT NULL DEFAULT 'TEMP'"); - addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_bonus` CHANGE `data_type` `data_type` ENUM('NEW','QUEUE','SEND','DELETED') NOT NULL DEFAULT 'NEW'"); + addExtensionChangeTableColumnSql('pool', 'data_type', 'data_type', "ENUM('TEMP','SEND','NEW','ADMIN','ACTIVE','DELETED') NOT NULL DEFAULT 'TEMP'"); + addExtensionChangeTableColumnSql('bonus', 'data_type', 'data_type', "ENUM('NEW','QUEUE','SEND','DELETED') NOT NULL DEFAULT 'NEW'"); break; case 'remove': // Do stuff when removing extension // SQL commands to run - addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_pool` CHANGE `data_type` `data_type` ENUM('TEMP','SEND','NEW','ADMIN','ACTIVE') NOT NULL DEFAULT 'TEMP'"); - addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_bonus` CHANGE `data_type` `data_type` ENUM('NEW','QUEUE','SEND') NOT NULL DEFAULT 'NEW'"); + addExtensionChangeTableColumnSql('pool', 'data_type', 'data_type', "ENUM('TEMP','SEND','NEW','ADMIN','ACTIVE') NOT NULL DEFAULT 'TEMP'"); + addExtensionChangeTableColumnSql('bonus', 'data_type', 'data_type', "ENUM('NEW','QUEUE','SEND') NOT NULL DEFAULT 'NEW'"); addExtensionSql("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_admin_menu` WHERE `what` IN('config_autopurge','list_autopurge')"); - addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_user_data` DROP `ap_notified`"); + addExtensionDropTableColumnSql('user_data', 'ap_notified'); // Unregister with points data unregisterExtensionPointsData('autopurge_add'); @@ -94,7 +94,7 @@ switch (getExtensionMode()) { addConfigAddSql('ap_unconfirmed_time', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT 432000'); addAdminMenuSql('setup', 'config_autopurge', 'Auto-Löschung', 'Automatisch inaktive oder nicht bestätigte Accounts löschen.', 12); addAdminMenuSql('user', 'list_autopurge', 'Inaktive finden', 'Lassen Sie sich vor dem täglichen Reset anzeigen, welche Mitglieder als inaktiv erkannt werden und welche gelöscht werden.', 10); - addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_user_data` ADD `ap_notified` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0"); + addExtensionAddTableColumnSql('user_data', 'ap_notified', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT 0'); // Update notes (these will be set as task text!) setExtensionUpdateNotes("Automatisches Löschen von inaktiven bzw. nicht bestätigten Accounts hinzugefügt."); diff --git a/inc/extensions/ext-beg.php b/inc/extensions/ext-beg.php index 744a08408c..27e4607740 100644 --- a/inc/extensions/ext-beg.php +++ b/inc/extensions/ext-beg.php @@ -57,7 +57,7 @@ switch (getExtensionMode()) { addConfigAddSql('beg_timeout', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT 600'); addConfigAddSql('beg_userid_timeout', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT 1800'); addConfigAddSql('beg_points', 'FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00100'); - addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_user_data` ADD `beg_clicks` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0'); + addExtensionAddTableColumnSql('online', 'beg_clicks', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT 0'); // Table for IP locks addDropTableSql('beg_ips'); @@ -173,7 +173,7 @@ INDEX (`userid`)", addConfigAddSql('beg_ranks', 'TINYINT(3) UNSIGNED NOT NULL DEFAULT 10'); addConfigAddSql('beg_active', "ENUM('Y','N') NOT NULL DEFAULT 'N'"); addConfigAddSql('beg_rallye', "ENUM('Y','N') NOT NULL DEFAULT 'N'"); - addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_user_data` ADD `beg_points` FLOAT(21,5) UNSIGNED NOT NULL DEFAULT 0.00000"); + addExtensionAddTableColumnSql('user_data', 'beg_points', 'FLOAT(21,5) UNSIGNED NOT NULL DEFAULT 0.00000'); // Menu system addAdminMenuSql('user', 'list_beg', 'Bettel-Rallye', 'Listet alle Teilnehmer der monatlichen Bettel-Rallye auf.', 12); @@ -210,9 +210,9 @@ INDEX (`userid`)", addConfigAddSql('beg_new_mem_notify', "ENUM('Y','N') NOT NULL DEFAULT 'N'"); addConfigAddSql('beg_notify_bonus', 'FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000'); addConfigAddSql('beg_notify_wait', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT 30'); - addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_user_data` ADD `beg_ral_notify` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0'); - addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_user_data` ADD `beg_ral_en_notify` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0'); - addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_user_data` ADD `beg_ral_di_notify` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0'); + addExtensionAddTableColumnSql('online', 'beg_ral_notify', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT 0'); + addExtensionAddTableColumnSql('online', 'beg_ral_en_notify', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT 0'); + addExtensionAddTableColumnSql('online', 'beg_ral_di_notify', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT 0'); // Update notes (these will be set as task text!) setExtensionUpdateNotes("Die Mitglieder können nun optional automatisch über eine aktivierte und/oder deaktivierte Bettel-Rallye informiert werden. Beide Benachrichtigungen können Sie unter Einstellungen --> Bettel-Link/-rallye seperat ein- und ausschalten! Zudem ist eine Sperre gegen eingeloggte Mitglieder eingebaut, die das Klicken auf den eigenen Bettel-Link etwas erschweren soll."); @@ -263,7 +263,7 @@ INDEX (`userid`)", break; case '0.2.6': // SQL queries for v0.2.6 - addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_beg_ips` ADD `sid` VARCHAR(255) NOT NULL DEFAULT ''"); + addExtensionAddTableColumnSql('beg_ips', 'sid', "VARCHAR(255) NOT NULL DEFAULT ''"); addConfigAddSql('beg_pay_mode', "ENUM('IMG','JS','BOTH','NONE') DEFAULT 'NONE' NOT NULL ;"); // Update notes (these will be set as task text!) @@ -274,8 +274,8 @@ INDEX (`userid`)", addConfigChangeSql('beg_ral_en_notify', 'beg_ral_enable_notify', "ENUM('Y','N') NOT NULL DEFAULT 'N'"); addConfigChangeSql('beg_ral_di_notify', 'beg_ral_disable_notify', "ENUM('Y','N') NOT NULL DEFAULT 'N'"); addConfigChangeSql('beg_new_mem_notify', 'beg_new_member_notify', "ENUM('Y','N') NOT NULL DEFAULT 'N'"); - addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_user_data` CHANGE `beg_ral_en_notify` `beg_ral_enable_notify` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0'); - addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_user_data` CHANGE `beg_ral_di_notify` `beg_ral_disable_notify` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0'); + addExtensionChangeTableColumnSql('user_data', 'beg_ral_en_notify', 'beg_ral_enable_notify', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT 0'); + addExtensionChangeTableColumnSql('user_data', 'beg_ral_di_notify', 'beg_ral_disable_notify', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT 0'); // Update notes (these will be set as task text!) setExtensionUpdateNotes("Umbenannt nach neuer Namenskonvention"); @@ -284,8 +284,8 @@ INDEX (`userid`)", case '0.2.8': // SQL queries for v0.2.8 addConfigChangeSql('beg_ral_enable_notify', 'beg_rallye_enable_notify', "ENUM('Y','N') NOT NULL DEFAULT 'N'"); addConfigChangeSql('beg_ral_disable_notify', 'beg_rallye_disable_notify', "ENUM('Y','N') NOT NULL DEFAULT 'N'"); - addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_user_data` CHANGE `beg_ral_enable_notify` `beg_rallye_enable_notify` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0'); - addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_user_data` CHANGE `beg_ral_disable_notify` `beg_rallye_disable_notify` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0'); + addExtensionChangeTableColumnSql('user_data', 'beg_ral_enable_notify' 'beg_rallye_enable_notify', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT 0'); + addExtensionChangeTableColumnSql('user_data', 'beg_ral_disable_notify', 'beg_rallye_disable_notify', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT 0'); // Update notes (these will be set as task text!) setExtensionUpdateNotes("Umbenannt nach neuer Namenskonvention"); @@ -364,7 +364,7 @@ INDEX (`userid`)", // SQL queries (renaming) addRenameTableSql('beg_referrals', 'referrals'); - addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_beg_referrals` CHANGE `referal_url` `referral_url` TINYTEXT NOT NULL"); + addExtensionChangeTableColumnSql('beg_referrals', 'referal_url', 'referral_url', 'TINYTEXT NOT NULL'); addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_admin_menu` SET `what`='list_beg_referral_urls' WHERE `what`='list_beg_referal_urls' LIMIT 1"); // Update notes diff --git a/inc/extensions/ext-birthday.php b/inc/extensions/ext-birthday.php index f4bb404bb0..54690a47b3 100644 --- a/inc/extensions/ext-birthday.php +++ b/inc/extensions/ext-birthday.php @@ -49,7 +49,7 @@ setExtensionVersionHistory(array('0.0.0', '0.1.0', '0.2.0', '0.2.1', '0.2.2', '0 switch (getExtensionMode()) { case 'register': // Do stuff when installation is running // SQL commands to run - addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_user_data` ADD birthday_sent VARCHAR(10) NOT NULL DEFAULT 0"); + addExtensionAddTableColumnSql('user_data', 'birthday_sent', 'VARCHAR(10) NOT NULL DEFAULT 0'); break; case 'remove': // Do stuff when removing extension @@ -180,9 +180,9 @@ INDEX (`userid`)", break; case '0.3.9': // SQL queries for v0.3.9 - addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_user_data` CHANGE `birth_day` `birth_day` SMALLINT(2) UNSIGNED ZEROFILL NOT NULL DEFAULT 01'); - addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_user_data` CHANGE `birth_month` `birth_month` SMALLINT(2) UNSIGNED ZEROFILL NOT NULL DEFAULT 01'); - addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_user_data` CHANGE `birth_year` `birth_year` SMALLINT(4) UNSIGNED ZEROFILL NOT NULL DEFAULT 1970'); + addExtensionChangeTableColumnSql('user_data', 'birth_day', 'birth_day', 'SMALLINT(2) UNSIGNED ZEROFILL NOT NULL DEFAULT 01'); + addExtensionChangeTableColumnSql('user_data', 'birth_month', 'birth_month', 'SMALLINT(2) UNSIGNED ZEROFILL NOT NULL DEFAULT 01'); + addExtensionChangeTableColumnSql('user_data', 'birth_year', 'birth_year', 'SMALLINT(4) UNSIGNED ZEROFILL NOT NULL DEFAULT 1970'); // This update depends on ext-user addExtensionDependency('user'); diff --git a/inc/extensions/ext-bonus.php b/inc/extensions/ext-bonus.php index 93f9f92809..b2bc87acd5 100644 --- a/inc/extensions/ext-bonus.php +++ b/inc/extensions/ext-bonus.php @@ -73,9 +73,9 @@ PRIMARY KEY (`id`), INDEX (`cat_id`)", 'Bonus mails'); - addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_user_links` ADD `bonus_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0"); + addExtensionAddTableColumnSql('user_links', 'bonus_id', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT 0'); addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_user_links` ADD INDEX (`bonus_id`)"); - addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_bonus` ADD `html_msg` ENUM('Y','N') NOT NULL DEFAULT 'N'"); + addExtensionAddTableColumnSql('bonus', 'html_msg', "ENUM('Y','N') NOT NULL DEFAULT 'N'"); break; case 'remove': // Do stuff when removing extension @@ -138,8 +138,8 @@ INDEX (`cat_id`)", addConfigAddSql('bonus_ranks', 'TINYINT(3) UNSIGNED NOT NULL DEFAULT 10'); // Use actual month for this update - addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_user_data` ADD `login_bonus` FLOAT(20,3) NOT NULL DEFAULT 0.000"); - addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_user_data` ADD `turbo_bonus` FLOAT(20,3) NOT NULL DEFAULT 0.000"); + addExtensionAddTableColumnSql('user_data', 'login_bonus', 'FLOAT(20,3) NOT NULL DEFAULT 0.000'); + addExtensionAddTableColumnSql('user_data', 'turbo_bonus', 'FLOAT(20,3) NOT NULL DEFAULT 0.000'); // Update notes (these will be set as task text!) setExtensionUpdateNotes("Login-Bonus und Turbo-Klick-Bonus intergriert."); @@ -198,13 +198,13 @@ INDEX `userid` (`userid`)", case '0.2.8': // SQL queries for v0.2.8 addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_bonus` SET `timestamp`=0 WHERE `timestamp`='0000000000'"); - addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_bonus_turbo` CHANGE `points` `points` FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000"); - addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_user_data` CHANGE `turbo_bonus` `turbo_bonus` FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000"); - addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_user_data` CHANGE `login_bonus` `login_bonus` FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000"); + addExtensionChangeTableColumnSql('bonus_turbo', 'points', 'points', 'FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000'); + addExtensionChangeTableColumnSql('user_data', 'turbo_bonus', 'turbo_bonus', 'FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000'); + addExtensionChangeTableColumnSql('user_data', 'login_bonus', 'login_bonus', 'FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000'); // For configuration, we need different entries - addConfigChangeSql('turbo_bonus', 'turbo_bonus', 'FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000'); - addConfigChangeSql('login_bonus', 'login_bonus', 'FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000'); + addConfigChangeSql('user_data', 'turbo_bonus', 'turbo_bonus', 'FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000'); + addConfigChangeSql('user_data', 'login_bonus', 'login_bonus', 'FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000'); // Update notes (these will be set as task text!) setExtensionUpdateNotes("5 Nachkommastellen implementiert"); @@ -298,9 +298,9 @@ INDEX `userid` (`userid`)", addConfigAddSql('bonus_ref', 'FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 100.00000'); addConfigAddSql('bonus_stats', 'FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 5.00000'); addConfigAddSql('bonus_active', "ENUM('Y','N') NOT NULL DEFAULT 'Y'"); - addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_user_data` ADD `bonus_order` FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000"); - addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_user_data` ADD `bonus_ref` FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000"); - addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_user_data` ADD `bonus_stats` FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000"); + addExtensionAddTableColumnSql('user_data', 'bonus_order', 'FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000'); + addExtensionAddTableColumnSql('user_data', 'bonus_ref', 'FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000'); + addExtensionAddTableColumnSql('user_data', 'bonus_stats', 'FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000'); // Update notes (these will be set as task text!) setExtensionUpdateNotes("Bonus-{?POINTS?} für: Mailbestellung, Referral-Werbung (bei Best. der EMail-Adresse) und wenn 100% Klickrate jeder Mailbuchung erreicht wurde.
Template admin_config_bonus_pro.tpl ist überflüssig geworden. Bitte löschen Sie dies!
Eingestellte Bonus-{?POINTS?} für Rank 2 war um eins verschoben."); @@ -424,7 +424,7 @@ ORDER BY break; case '0.6.5': // SQL queries for v0.6.5 - addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_user_stats` ADD `bonus_stats` ENUM('Y','N') NOT NULL DEFAULT 'N'"); + addExtensionAddTableColumnSql('user_stats', 'bonus_stats', "ENUM('Y','N') NOT NULL DEFAULT 'N'"); // Update notes (these will be set as task text!) setExtensionUpdateNotes("Fehler mit bonus_stats beseitigt."); @@ -490,9 +490,9 @@ ORDER BY addConfigAddSql('bonus_new_mem_notify', "ENUM('Y','N') NOT NULL DEFAULT 'N'"); addConfigAddSql('bonus_notify_points', 'FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000'); addConfigAddSql('bonus_notify_wait', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT 30'); - addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_user_data` ADD `bonus_ral_en_notify` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0'); - addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_user_data` ADD `bonus_ral_di_notify` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0'); - addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_user_data` ADD `bonus_ral_notify` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0'); + addExtensionAddTableColumnSql('online', 'bonus_ral_en_notify', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT 0'); + addExtensionAddTableColumnSql('online', 'bonus_ral_di_notify', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT 0'); + addExtensionAddTableColumnSql('online', 'bonus_ral_notify', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT 0'); // Update notes (these will be set as task text!) setExtensionUpdateNotes("Optionale automatische Benachrichtigung über aktivierte und/oder deaktivierte Aktiv-Rallye einstellbar."); @@ -517,7 +517,7 @@ ORDER BY case '0.8.2': // SQL queries for v0.8.2 addConfigAddSql('bonus_include_own', "ENUM('Y','N') NOT NULL DEFAULT 'N'"); - addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_bonus` ADD `is_notify` ENUM('Y','N') NOT NULL DEFAULT 'N'"); + addExtensionAddTableColumnSql('bonus', 'is_notify', "ENUM('Y','N') NOT NULL DEFAULT 'N'"); // Update notes (these will be set as task text!) setExtensionUpdateNotes("Eigene Mitglied-Ids sind von der Aktiv-Rallye nun ausschliessbar. Benachrichtigungsmails sind von Aktiv-Rallye ausgeschlossen."); @@ -550,7 +550,7 @@ ORDER BY break; case '0.8.8': // SQL queries for v0.8.8 - addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_user_stats` ADD `bonus_stats_active` ENUM('Y','N') NOT NULL DEFAULT 'N'"); + addExtensionAddTableColumnSql('user_stats', 'bonus_stats_active', "ENUM('Y','N') NOT NULL DEFAULT 'N'"); // Update notes setExtensionUpdateNotes("Benachrichtigungsmails für z.B. Bettel- oder Aktiv-Rallye werden nun angezeigt."); @@ -581,25 +581,25 @@ ORDER BY break; case '0.9.2': // SQL queries for v0.9.2 - addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_user_data` CHANGE `bonus_ral_en_notify` `bonus_ralley_enable_notify` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0'); - addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_user_data` CHANGE `bonus_ral_di_notify` `bonus_ralley_disable_notify` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0'); - addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_user_data` CHANGE `bonus_ral_notify` `bonus_rallley_notify` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0'); + addExtensionChangeTableColumnSql('user_data', 'bonus_ral_en_notify` `bonus_ralley_enable_notify` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0'); + addExtensionChangeTableColumnSql('user_data', 'bonus_ral_di_notify` `bonus_ralley_disable_notify` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0'); + addExtensionChangeTableColumnSql('user_data', 'bonus_ral_notify` `bonus_rallley_notify` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0'); // Update notes setExtensionUpdateNotes("Umbenannt nach neuer Konvention (bitte Einstellungen kontrollieren)."); break; case '0.9.3': // SQL queries for v0.9.3 - addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_user_data` CHANGE `bonus_ralley_enable_notify` `bonus_rallye_enable_notify` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0'); - addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_user_data` CHANGE `bonus_ralley_disable_notify` `bonus_rallye_disable_notify` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0'); - addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_user_data` DROP `bonus_ralley_notify` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0'); + addExtensionChangeTableColumnSql('user_data', 'bonus_ralley_enable_notify', 'bonus_rallye_enable_notify', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT 0'); + addExtensionChangeTableColumnSql('user_data', 'bonus_ralley_disable_notify', 'bonus_rallye_disable_notify', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT 0'); + addExtensionDropTableColumnSql('user_data', 'bonus_ralley_notify'); // Update notes setExtensionUpdateNotes("Typos gefixt."); break; case '0.9.4': // SQL queries for v0.9.4 - addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_user_links` CHANGE `bonus_id` `bonus_id` BIGINT(20) UNSIGNED NULL DEFAULT NULL'); + addExtensionChangeTableColumnSql('user_links', 'bonus_id', 'bonus_id', 'BIGINT(20) UNSIGNED NULL DEFAULT NULL'); addExtensionSql('UPDATE `{?_MYSQL_PREFIX?}_user_links` SET `bonus_id`=NULL WHERE `bonus_id`=0'); // Update notes diff --git a/inc/extensions/ext-country.php b/inc/extensions/ext-country.php index 5e62d49da6..733fc6c621 100644 --- a/inc/extensions/ext-country.php +++ b/inc/extensions/ext-country.php @@ -63,7 +63,7 @@ UNIQUE INDEX (`code`)", 'Country codes and their full-length descriptions'); // Insert first (Germany) country - addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_countries` (code, descr, is_active) VALUES ('DE','Deutschland','Y')"); + addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_countries` (`code`, `descr`, `is_active`) VALUES ('DE','Deutschland','Y')"); // Admin menu addAdminMenuSql('country', NULL, 'Ländercodes verwalten','Stellen Sie hier Ländercodes ein, damit auch internationale Mitglieder sich zu Ihrem {OPEN_CONFIG}mt_word{CLOSE_CONFIG} anmelden können.', 8); @@ -73,7 +73,7 @@ UNIQUE INDEX (`code`)", addExtensionDependency('user'); // Add entry to user table - addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_user_data` ADD `country_code` BIGINT(20) UNSIGNED NOT NULL DEFAULT 1"); + addExtensionAddTableColumnSql('user_data', 'country_code', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT 1'); break; case 'remove': // Do stuff when removing extension diff --git a/inc/extensions/ext-coupon.php b/inc/extensions/ext-coupon.php index d1eac3651a..664776bad8 100644 --- a/inc/extensions/ext-coupon.php +++ b/inc/extensions/ext-coupon.php @@ -88,7 +88,7 @@ UNIQUE INDEX (`coupon_code`)", addConfigAddSql('coupon_userid', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT 0'); // User data table - addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_user_data` ADD `receiving_coupons` ENUM('Y','N') NOT NULL DEFAULT 'Y'"); + addExtensionAddTableColumnSql('user_data', 'receiving_coupons', "ENUM('Y','N') NOT NULL DEFAULT 'Y'"); // Menu systems: // - Admin entries diff --git a/inc/extensions/ext-doubler.php b/inc/extensions/ext-doubler.php index c53fd4ff3a..c47800cd6b 100644 --- a/inc/extensions/ext-doubler.php +++ b/inc/extensions/ext-doubler.php @@ -95,7 +95,7 @@ INDEX (`userid`)", // Number of entries which are already payed out addConfigAddSql('doubler_display_old', 'TINYINT(3) UNSIGNED NOT NULL DEFAULT 10'); // Points used by every member - addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_user_data` ADD `doubler_points` FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000'); + addExtensionAddTableColumnSql('online', 'doubler_points', 'FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000'); // Counter for usage of the doubler addConfigAddSql('doubler_counter', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT 0'); diff --git a/inc/extensions/ext-holiday.php b/inc/extensions/ext-holiday.php index 160a3ba580..0a984730fd 100644 --- a/inc/extensions/ext-holiday.php +++ b/inc/extensions/ext-holiday.php @@ -154,7 +154,7 @@ INDEX (`userid`)", break; case '0.1.3': // SQL queries for v0.1.3 - addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_user_data` ADD `holiday_active` ENUM('Y','N') NOT NULL DEFAULT 'N'"); + addExtensionAddTableColumnSql('user_data', 'holiday_active', "ENUM('Y','N') NOT NULL DEFAULT 'N'"); addExtensionSql("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_max_receive` WHERE `value`=0 LIMIT 1"); addConfigAddSql('holiday_lock', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT ' . (getOneDay() * 2)); @@ -175,7 +175,7 @@ INDEX (`userid`)", break; case '0.1.6': // SQL queries for v0.1.6 - addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_user_data` ADD holiday_activated BIGINT(20) UNSIGNED NOT NULL DEFAULT 0"); + addExtensionAddTableColumnSql('user_data', 'holiday_activated', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT 0'); // Update notes (these will be set as task text!) setExtensionUpdateNotes("Fehlende Tabellenspalte hinzugefügt."); diff --git a/inc/extensions/ext-html_mail.php b/inc/extensions/ext-html_mail.php index 583a0664b6..12a9b437ad 100644 --- a/inc/extensions/ext-html_mail.php +++ b/inc/extensions/ext-html_mail.php @@ -49,9 +49,9 @@ setExtensionVersionHistory(array('0.0.0', '0.0.1', '0.0.2', '0.0.3', '0.0.4', '0 switch (getExtensionMode()) { case 'register': // Do stuff when installation is running // SQL commands to run - addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_user_data` ADD `html` ENUM('Y','N') NOT NULL DEFAULT 'Y'"); - addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_bonus` ADD `html_msg` ENUM('Y','N') NOT NULL DEFAULT 'N'"); - addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_pool` ADD `html_msg` ENUM('Y','N') NOT NULL DEFAULT 'N'"); + addExtensionAddTableColumnSql('user_data', 'html', "ENUM('Y','N') NOT NULL DEFAULT 'Y'"); + addExtensionAddTableColumnSql('bonus', 'html_msg', "ENUM('Y','N') NOT NULL DEFAULT 'N'"); + addExtensionAddTableColumnSql('pool', 'html_msg', "ENUM('Y','N') NOT NULL DEFAULT 'N'"); addMemberMenuSql('main', 'html_mail', 'HTML-Empfang', 3); break; diff --git a/inc/extensions/ext-menu.php b/inc/extensions/ext-menu.php index 0df517f061..df067466fa 100644 --- a/inc/extensions/ext-menu.php +++ b/inc/extensions/ext-menu.php @@ -103,7 +103,7 @@ switch (getExtensionMode()) { case '0.0.4': // SQL queries for v0.0.4 // Change menu-string - addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_admin_menu` CHANGE `title` `title` VARCHAR(255) NOT NULL DEFAULT ''"); + 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)."); diff --git a/inc/extensions/ext-newsletter.php b/inc/extensions/ext-newsletter.php index f262a5889a..d4efcfaaf4 100644 --- a/inc/extensions/ext-newsletter.php +++ b/inc/extensions/ext-newsletter.php @@ -75,7 +75,7 @@ switch (getExtensionMode()) { case '0.0.1': // SQL queries for v0.0.1 addAdminMenuSql('newsletter', NULL, 'Newsletter','Einstellungen am Newsletter, Newsletter versenden, usw.', 3); addExtensionSql("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_admin_menu` WHERE `what` IN ('newsletter','config_newsletter') LIMIT 1"); - addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_user_data` ADD `nl_receive` ENUM('Y','N') NOT NULL DEFAULT 'Y'"); + addExtensionAddTableColumnSql('user_data', 'nl_receive', "ENUM('Y','N') NOT NULL DEFAULT 'Y'"); // Update notes (these will be set as task text!) setExtensionUpdateNotes('Menüpunkte hinzufügen und Mitgliedereinstellung.'); diff --git a/inc/extensions/ext-nickname.php b/inc/extensions/ext-nickname.php index ed9a18f8c4..96147b0760 100644 --- a/inc/extensions/ext-nickname.php +++ b/inc/extensions/ext-nickname.php @@ -49,8 +49,9 @@ setExtensionVersionHistory(array('0.0.0', '0.0.1', '0.0.2', '0.0.3', '0.0.4', '0 switch (getExtensionMode()) { case 'register': // Do stuff when installation is running // SQL commands to run - addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_user_data` ADD `nickname` VARCHAR(255) NOT NULL DEFAULT ''"); - addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_user_data` ADD `nick_userid` ENUM ('nick','userid') NOT NULL DEFAULT 'userid'"); + // @TODO NOT NULL DEFAULT '' is bad practice, use NULL + addExtensionAddTableColumnSql('user_data', 'nickname', "VARCHAR(255) NOT NULL DEFAULT ''"); + addExtensionAddTableColumnSql('user_data', 'nick_userid', "ENUM ('nick','userid') NOT NULL DEFAULT 'userid'"); // Add member menu addMemberMenuSql('extras', 'nickname', 'Nicknamen', 2); @@ -128,7 +129,7 @@ switch (getExtensionMode()) { break; case '0.1.1': // SQL queries for v0.1.1 - addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_user_data` DROP `nick_userid`'); + addExtensionDropTableColumnSql('user_data', 'nick_userid'); // Update notes (these will be set as task text!) setExtensionUpdateNotes("Auswahlfür Mitglied ob mit Nickname oder Mitglied-Id einloggen entfernt."); diff --git a/inc/extensions/ext-online.php b/inc/extensions/ext-online.php index 6cfe876588..64195f53ea 100644 --- a/inc/extensions/ext-online.php +++ b/inc/extensions/ext-online.php @@ -126,8 +126,8 @@ INDEX `admin_member` (`is_admin`, `is_member`)", break; case '0.0.6': // SQL queries for v0.0.6 - addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_online` CHANGE `userid` `userid` BIGINT(20) UNSIGNED NULL DEFAULT NULL'); - addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_online` CHANGE `refid` `refid` BIGINT(20) UNSIGNED NULL DEFAULT NULL'); + addExtensionChangeTableColumnSql('online', 'userid', 'userid', 'BIGINT(20) UNSIGNED NULL DEFAULT NULL'); + addExtensionChangeTableColumnSql('online', 'refid', 'refid', 'BIGINT(20) UNSIGNED NULL DEFAULT NULL'); // Update notes (these will be set as task text!) setExtensionUpdateNotes("Spalten userid und refid erlauben nun null."); diff --git a/inc/extensions/ext-order.php b/inc/extensions/ext-order.php index 3c24781bb3..04aeab3ec4 100644 --- a/inc/extensions/ext-order.php +++ b/inc/extensions/ext-order.php @@ -90,7 +90,7 @@ switch (getExtensionMode()) { break; case '0.1.1': // SQL queries for v0.1.1 - addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_user_data` ADD `mail_orders` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0"); + addExtensionAddTableColumnSql('user_data', 'mail_orders', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT 0'); // Update notes (these will be set as task text!) setExtensionUpdateNotes("Maximale Mailbuchung vervollständigt (Admin-Bereich und im Buchungsformular selber)."); @@ -335,8 +335,8 @@ INDEX (`pool_id`)", break; case '0.5.3': // SQL queries for v0.5.3 - addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_user_points` ADD `order_points` FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000'); - addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_user_points` ADD `locked_order_points` FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000'); + addExtensionAddTableColumnSql('user_points', 'order_points', 'FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000'); + addExtensionAddTableColumnSql('user_points', 'locked_order_points', 'FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000'); // This update depends on ext-user addExtensionDependency('user'); diff --git a/inc/extensions/ext-payout.php b/inc/extensions/ext-payout.php index 421771e65f..b086623571 100644 --- a/inc/extensions/ext-payout.php +++ b/inc/extensions/ext-payout.php @@ -107,27 +107,27 @@ PRIMARY KEY (`id`)", break; case '0.1.3': // SQL queries for v0.1.3 - addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_payout_types` ADD from_account VARCHAR(255) NOT NULL DEFAULT ''"); - addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_payout_types` ADD from_pass VARCHAR(255) NOT NULL DEFAULT ''"); - addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_payout_types` ADD engine_url VARCHAR(255) NOT NULL DEFAULT ''"); - addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_payout_types` ADD engine_ret_ok VARCHAR(255) NOT NULL DEFAULT ''"); - addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_payout_types` ADD engine_ret_failed VARCHAR(255) NOT NULL DEFAULT ''"); - addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_payout_types` ADD pass_enc ENUM('md5','base64','none') NOT NULL DEFAULT 'md5'"); + addExtensionChangeTableColumnSql('payout_types', 'from_account', "VARCHAR(255) NOT NULL DEFAULT ''"); + addExtensionChangeTableColumnSql('payout_types', 'from_pass', "VARCHAR(255) NOT NULL DEFAULT ''"); + addExtensionChangeTableColumnSql('payout_types', 'engine_url', "VARCHAR(255) NOT NULL DEFAULT ''"); + addExtensionChangeTableColumnSql('payout_types', 'engine_ret_ok', "VARCHAR(255) NOT NULL DEFAULT ''"); + addExtensionChangeTableColumnSql('payout_types', 'engine_ret_failed', "VARCHAR(255) NOT NULL DEFAULT ''"); + addExtensionChangeTableColumnSql('payout_types', 'pass_enc', "ENUM('md5','base64','none') NOT NULL DEFAULT 'md5'"); break; case '0.1.4': // SQL queries for v0.1.4 - addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_user_payouts` ADD password VARCHAR(255) NOT NULL DEFAULT ''"); + addExtensionChangeTableColumnSql('user_payouts', 'password', "VARCHAR(255) NOT NULL DEFAULT ''"); break; case '0.1.5': // SQL queries for v0.1.5 - addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_user_payouts` ADD target_url LONGTEXT NOT NULL"); - addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_user_payouts` ADD banner_url LONGTEXT NOT NULL"); - addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_user_payouts` ADD link_text VARCHAR(30) NOT NULL DEFAULT ''"); - addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_payout_types` ADD allow_url ENUM('Y','N') NOT NULL DEFAULT 'N'"); + addExtensionChangeTableColumnSql('user_payouts', 'target_url', 'LONGTEXT NOT NULL'); + addExtensionChangeTableColumnSql('user_payouts', 'banner_url', 'LONGTEXT NOT NULL'); + addExtensionChangeTableColumnSql('user_payouts', 'link_text', "VARCHAR(30) NOT NULL DEFAULT ''"); + addExtensionChangeTableColumnSql('payout_types', 'allow_url', "ENUM('Y','N') NOT NULL DEFAULT 'N'"); break; case '0.1.6': // SQL queries for v0.1.6 - addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_payout_types` CHANGE `pass_enc` `pass_enc` ENUM('md5','base64','xxx') NOT NULL DEFAULT 'xxx'"); + addExtensionChangeTableColumnSql('payout_types', 'pass_enc', 'pass_enc', "ENUM('md5','base64','xxx') NOT NULL DEFAULT 'xxx'"); break; case '0.1.8': // SQL queries for v0.1.8 @@ -146,11 +146,12 @@ PRIMARY KEY (`id`)", break; case '0.2.1': // SQL queries for v0.2.1 - addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_user_payouts` CHANGE `payout_total` `payout_total` FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000"); - addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_payout_types` CHANGE `rate` `rate` FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000"); + addExtensionChangeTableColumnSql('user_payouts', 'payout_total' 'payout_total', 'FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000'); + addExtensionChangeTableColumnSql('payout_types', 'rate', 'rate', 'FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000'); // Update notes (these will be set as task text!) setExtensionUpdateNotes("Problem mit Speicherung der Einstellungen beseitigt."); + break; case '0.2.2': // SQL queries for v0.2.2 // Update notes (these will be set as task text!) diff --git a/inc/extensions/ext-rallye.php b/inc/extensions/ext-rallye.php index 852ac1de84..75a03c1891 100644 --- a/inc/extensions/ext-rallye.php +++ b/inc/extensions/ext-rallye.php @@ -137,14 +137,14 @@ INDEX (`userid`)", case 'update': // Update an extension switch (getCurrentExtensionVersion()) { case '0.0.1': // SQL queries for v0.0.1 - addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_rallye_data` ADD `expired` ENUM('Y','N') NOT NULL DEFAULT 'N'"); + addExtensionAddTableColumnSql('rallye_data', 'expired', "ENUM('Y','N') NOT NULL DEFAULT 'N'"); // Update notes (these will be set as task text!) setExtensionUpdateNotes("Ablaufen der Rallyes intergriert."); break; case '0.0.2': // SQL queries for v0.0.2 - addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_rallye_users` ADD `curr_points` FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000"); + addExtensionAddTableColumnSql('rallye_users', 'curr_points', 'FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000'); // Update notes (these will be set as task text!) setExtensionUpdateNotes("Aktueller {?POINTS?}-Stand wird beachtet."); @@ -171,7 +171,7 @@ INDEX (`userid`)", break; case '0.1.0': // SQL queries for v0.2.1 - addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_rallye_users` CHANGE `curr_points` `curr_points` FLOAT(23,5) UNSIGNED NOT NULL DEFAULT 0.00000"); + addExtensionChangeTableColumnSql('rallye_users', 'curr_points', 'curr_points', 'FLOAT(23,5) UNSIGNED NOT NULL DEFAULT 0.00000'); // Update notes (these will be set as task text!) setExtensionUpdateNotes("5 Nachkommastellen implementiert."); @@ -223,8 +223,8 @@ INDEX (`userid`)", break; case '0.2.0': // SQL queries for v0.2.0 - addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_rallye_data` ADD `min_users` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0"); - addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_rallye_data` ADD `min_prices` BIGINT(20) UNSIGNED NOT NULL DEFAULT 3"); + addExtensionAddTableColumnSql('rallye_data', 'min_users', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT 0'); + addExtensionAddTableColumnSql('rallye_data', 'min_prices', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT 3'); // Update notes (these will be set as task text!) setExtensionUpdateNotes("Ablaufen der Rallyes intergriert. Bauen Sie in Ihr Template templates/de/emails/member/member_rallye_notify.tpl folgende zwei Zeilen ein:
diff --git a/inc/extensions/ext-refback.php b/inc/extensions/ext-refback.php index adbaa02b93..192176096e 100644 --- a/inc/extensions/ext-refback.php +++ b/inc/extensions/ext-refback.php @@ -108,10 +108,10 @@ switch (getExtensionMode()) { addExtensionDependency('user'); // SQL commands to run - drop old first, add new next - addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_user_refs` DROP `refback`'); - addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_user_refs` DROP `points`'); - addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_user_refs` ADD `refback_percents` FLOAT(4,1) NOT NULL DEFAULT 0.0'); - addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_user_refs` ADD `refback_points` FLOAT(20,5) NOT NULL DEFAULT 0.00000'); + addExtensionDropTableColumnSql('user_refs', 'refback`'); + addExtensionDropTableColumnSql('user_refs', 'points`'); + addExtensionAddTableColumnSql('user_refs', 'refback_percents', 'FLOAT(4,1) NOT NULL DEFAULT 0.0'); + addExtensionAddTableColumnSql('user_refs', 'refback_points', 'FLOAT(20,5) NOT NULL DEFAULT 0.00000'); // Update notes setExtensionUpdateNotes("Refback-Gutschriften werden nun über die Tabelle {OPEN_CONFIG}_MYSQL_PREFIX{CLOSE_CONFIG}_points_data verwaltet."); diff --git a/inc/extensions/ext-sql_patches.php b/inc/extensions/ext-sql_patches.php index 34dd773e49..29ea79fbc1 100644 --- a/inc/extensions/ext-sql_patches.php +++ b/inc/extensions/ext-sql_patches.php @@ -158,7 +158,7 @@ IN ( break; case '0.0.6': // SQL queries for v0.0.6 - addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_extensions` ADD `ext_has_css` ENUM('Y','N') NOT NULL DEFAULT 'Y'"); + addExtensionAddTableColumnSql('extensions', 'ext_has_css', "ENUM('Y','N') NOT NULL DEFAULT 'Y'"); // Update notes (these will be set as task text!) setExtensionUpdateNotes("Es können nun SQL-Updates von einander abhängig gemacht werden und die CSS-Datei kann per Admin-Bereich (wegen Debuggings) ein- bzw. ausgeschaltet werden."); @@ -220,7 +220,7 @@ IN ( break; case '0.1.5': // SQL queries for v0.1.5 - addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_extensions` DROP `ext_has_admin`"); + addExtensionDropTableColumnSql('extensions', 'ext_has_admin'); // Update notes (these will be set as task text!) setExtensionUpdateNotes("Spalte ext_has_admin aus der Tabelle {?_MYSQL_PREFIX?}_extensions entfernt, da sie keinen Sinn mehr macht."); @@ -255,10 +255,10 @@ IN ( break; case '0.2.0': // SQL queries for v0.2.0 - addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_jackpot` CHANGE `points` `points` FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000"); + addExtensionChangeTableColumnSql('jackpot', 'points', 'points', 'FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000'); - addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_payments` CHANGE `payment` `payment` FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000"); - addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_payments` CHANGE `price` `price` FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000"); + addExtensionChangeTableColumnSql('payments', 'payment', 'payment', 'FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000'); + addExtensionChangeTableColumnSql('payments', 'price', 'price', 'FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000'); // Update notes (these will be set as task text!) setExtensionUpdateNotes("5 Nachkommastellen implementiert"); @@ -454,12 +454,12 @@ INDEX (`admin_id`)", case '0.3.6': // SQL queries for v0.3.6 addConfigAddSql('salt_length', 'TINYINT(3) UNSIGNED NOT NULL DEFAULT 10'); addConfigAddSql('pass_scramble', "VARCHAR(255) NOT NULL DEFAULT ''"); - addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_admins` CHANGE `password` `password` VARCHAR(255) NOT NULL DEFAULT ''"); + addExtensionChangeTableColumnSql('admins', 'password', 'password', "VARCHAR(255) NOT NULL DEFAULT ''"); addConfigAddSql('rand_no', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT 0'); addConfigAddSql('file_hash', "VARCHAR(255) NOT NULL DEFAULT ''"); addConfigAddSql('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'"); + addExtensionAddTableColumnSql('mod_reg', '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!) @@ -471,8 +471,8 @@ INDEX (`admin_id`)", 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"); + addExtensionChangeTableColumnSql('admin_menu', 'descr', 'descr', 'MEDIUMTEXT NULL'); + addExtensionChangeTableColumnSql('pool', '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."); @@ -514,9 +514,9 @@ INDEX (`admin_id`)", 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"); + addExtensionChangeTableColumnSql('admin_menu', 'what', 'what', 'VARCHAR(255) NULL DEFAULT NULL'); + addExtensionChangeTableColumnSql('guest_menu', 'what', 'what', 'VARCHAR(255) NULL DEFAULT NULL'); + addExtensionChangeTableColumnSql('member_menu', '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`=''"); @@ -568,14 +568,14 @@ INDEX (`admin_id`)", break; case '0.5.1': // SQL queries for v0.5.1 - addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_member_menu` DROP `descr`'); + addExtensionDropTableColumnSql('member_menu', 'descr'); // Update notes (these will be set as task text!) setExtensionUpdateNotes("Beschreibungsspalte von Mitgliedsmenü entfernt, welche ohnehin nicht genutzt wird."); break; case '0.5.2': // SQL queries for v0.5.2 - addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_refdepths` CHANGE `percents` `percents` FLOAT(8,5) UNSIGNED NOT NULL DEFAULT 0.00000'); + addExtensionChangeTableColumnSql('refdepths', 'percents', 'percents', 'FLOAT(8,5) UNSIGNED NOT NULL DEFAULT 0.00000'); // Update notes (these will be set as task text!) setExtensionUpdateNotes("Prozentsätze können nun fünf Stellen hinter dem Komma sein."); @@ -760,15 +760,15 @@ INDEX (`ip`)", break; case '0.7.3': // SQL queries for v0.7.3 - addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_filters` CHANGE `filter_name` `filter_name` VARCHAR(50) NOT NULL DEFAULT ''"); - addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_filters` CHANGE `filter_function` `filter_function` VARCHAR(100) NOT NULL DEFAULT ''"); + addExtensionChangeTableColumnSql('filters', 'filter_name', 'filter_name', "VARCHAR(50) NOT NULL DEFAULT ''"); + addExtensionChangeTableColumnSql('filters', 'filter_function', 'filter_function', "VARCHAR(100) NOT NULL DEFAULT ''"); // Update notes (these will be set as task text!) setExtensionUpdateNotes("Spalten in Filtertabelle gekürzt (SQL-Fehler wegen zu grossem Schlüssel)."); break; case '0.7.4': // SQL queries for v0.7.4 - addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_pool` ADD `mails_sent` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0"); + addExtensionAddTableColumnSql('pool', 'mails_sent', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT 0'); // Update notes (these will be set as task text!) setExtensionUpdateNotes("Spalten in Filtertabelle gekürzt (SQL-Fehler wegen zu grossem Schlüssel)."); @@ -830,7 +830,7 @@ UNIQUE KEY (`subject`)", break; case '0.8.1': // SQL queries for v0.8.1 - addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_refdepths` CHANGE `level` `level` TINYINT(3) UNSIGNED NULL DEFAULT NULL'); + addExtensionChangeTableColumnSql('refdepths', 'level', 'level', 'TINYINT(3) UNSIGNED NULL DEFAULT NULL'); addExtensionSql('UPDATE `{?_MYSQL_PREFIX?}_refdepths` SET `level`=NULL WHERE `level`=0 LIMIT 1'); // Update notes (these will be set as task text!) @@ -839,9 +839,9 @@ UNIQUE KEY (`subject`)", case '0.8.2': // SQL queries for v0.8.2 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_points_data` DROP INDEX `ext_name`"); - addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_points_data` CHANGE `ext_name` `subject` VARCHAR(255) NOT NULL DEFAULT ''"); + addExtensionChangeTableColumnSql('points_data', 'ext_name', 'subject', "VARCHAR(255) NOT NULL DEFAULT ''"); addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_points_data` ADD INDEX `subject` (`subject`)"); - addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_points_data` ADD `notify_recipient` ENUM('Y','N') NOT NULL DEFAULT 'N'"); + addExtensionAddTableColumnSql('points_data', 'notify_recipient', "ENUM('Y','N') NOT NULL DEFAULT 'N'"); // Register points data registerExtensionPointsData('pool_payback', 'points', 'LOCKED', 'DIRECT'); @@ -890,7 +890,7 @@ INDEX (`history_last_used` DESC)", break; case '0.8.6': // SQL queries for v0.8.6 - addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_points_data` CHANGE `payment_method` `payment_method` ENUM('DIRECT','REFERRAL') NOT NULL DEFAULT 'REFERRAL'"); + addExtensionChangeTableColumnSql('points_data', 'payment_method', 'payment_method', "ENUM('DIRECT','REFERRAL') NOT NULL DEFAULT 'REFERRAL'"); addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_points_data` SET `payment_method`='REFERRAL' WHERE `payment_method` != 'DIRECT'"); // Update notes (these will be set as task text!) @@ -912,7 +912,7 @@ INDEX (`history_last_used` DESC)", break; case '0.8.9': // SQL queries for v0.8.9 - addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_points_data` ADD `account_provider` ENUM('EXTENSION', 'CUSTOM') NOT NULL DEFAULT 'EXTENSION'"); + addExtensionAddTableColumnSql('points_data', 'account_provider', "ENUM('EXTENSION', 'CUSTOM') NOT NULL DEFAULT 'EXTENSION'"); addConfigAddSql('points_remove_account', "VARCHAR(255) NOT NULL DEFAULT 'points'"); // Update notes (these will be set as task text!) diff --git a/inc/extensions/ext-surfbar.php b/inc/extensions/ext-surfbar.php index 3f05f0f823..2a83519b03 100644 --- a/inc/extensions/ext-surfbar.php +++ b/inc/extensions/ext-surfbar.php @@ -176,7 +176,7 @@ UNIQUE INDEX `status_action` (`actions_status`, `actions_action`)", addConfigAddSql('surfbar_guest_login_form', "ENUM('Y','N') NOT NULL DEFAULT 'Y'"); // Extend user data - addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_user_data` ADD `surfbar_low_notified` TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00'"); + addExtensionAddTableColumnSql('user_data', 'surfbar_low_notified', "TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00'"); // Member menus addMemberMenuSql('surfbar', NULL, 'Besuchertausch', 4); diff --git a/inc/extensions/ext-task.php b/inc/extensions/ext-task.php index 7697edc51a..1186012326 100644 --- a/inc/extensions/ext-task.php +++ b/inc/extensions/ext-task.php @@ -243,8 +243,8 @@ switch (getExtensionMode()) { break; case '0.3.3': // SQL queries for v0.3.3 - addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_task_system` CHANGE `assigned_admin` `assigned_admin` BIGINT(20) UNSIGNED NULL DEFAULT NULL'); - addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_task_system` CHANGE `userid` `userid` BIGINT(20) UNSIGNED NULL DEFAULT NULL'); + addExtensionChangeTableColumnSql('task_system', 'assigned_admin', 'assigned_admin', 'BIGINT(20) UNSIGNED NULL DEFAULT NULL'); + addExtensionChangeTableColumnSql('task_system', 'userid', 'userid', 'BIGINT(20) UNSIGNED NULL DEFAULT NULL'); addExtensionSql('UPDATE `{?_MYSQL_PREFIX?}_task_system` SET `assigned_admin`=NULL WHERE `assigned_admin`=0'); addExtensionSql('UPDATE `{?_MYSQL_PREFIX?}_task_system` SET `userid`=NULL WHERE `userid`=0'); diff --git a/inc/extensions/ext-theme.php b/inc/extensions/ext-theme.php index 5d8c6743e7..24960b0f9a 100644 --- a/inc/extensions/ext-theme.php +++ b/inc/extensions/ext-theme.php @@ -147,7 +147,7 @@ INDEX (`theme_active`)", 'Themes'); addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_member_menu` SET `action`='account',`sort`=1,`title`='Designs' WHERE `what`='themes' LIMIT 1"); // User data - addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_user_data` ADD `curr_theme` VARCHAR(255) NOT NULL DEFAULT 'default'"); + addExtensionAddTableColumnSql('user_data', 'curr_theme', "VARCHAR(255) NOT NULL DEFAULT 'default'"); // Update notes (these will be set as task text!) setExtensionUpdateNotes("Update von sql_patches übertragen. (Kann Fehlermeldungen verursacht haben!)"); diff --git a/inc/extensions/ext-transfer.php b/inc/extensions/ext-transfer.php index 035e906627..7f06be7750 100644 --- a/inc/extensions/ext-transfer.php +++ b/inc/extensions/ext-transfer.php @@ -95,7 +95,7 @@ INDEX (`to_userid`)", addConfigAddSql('transfer_code', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT 5'); // Add row(s) to user's data - addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_user_data` ADD opt_in ENUM('Y','N') NOT NULL DEFAULT 'N'"); + addExtensionAddTableColumnSql('user_data', 'opt_in', "ENUM('Y','N') NOT NULL DEFAULT 'N'"); break; case 'remove': // Do stuff when removing extension @@ -104,7 +104,7 @@ INDEX (`to_userid`)", addDropTableSql('user_transfers_out'); addExtensionSql("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_admin_menu` WHERE `action`='transfer'"); addExtensionSql("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_member_menu` WHERE `what`='transfer' LIMIT 1"); - addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_user_data` DROP `opt_in`"); + addExtensionDropTableColumnSql('user_data', 'opt_in'); // Unregister points data unregisterExtensionPointsData('transfer'); diff --git a/inc/extensions/ext-user.php b/inc/extensions/ext-user.php index 15db492729..45f6eaf514 100644 --- a/inc/extensions/ext-user.php +++ b/inc/extensions/ext-user.php @@ -230,7 +230,7 @@ INDEX (`stats_type`)", break; case '0.1.2': // SQL queries for v0.1.2 - addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_user_data` ADD `mails_confirmed` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0'); + addExtensionAddTableColumnSql('online', 'mails_confirmed', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT 0'); // Update notes (these will be set as task text!) setExtensionUpdateNotes("Dem Mitglied wird nun angezeigt, wie viele Mails er bestätigt hat. Alle vor dieser Version best. Mails werden leider nicht mehr berücksichtigt! Bitte teilen Sie dies Ihren Mitgliedern mit."); @@ -242,7 +242,7 @@ INDEX (`stats_type`)", break; case '0.1.4': // SQL queries for v0.1.4 - addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_user_data` ADD `emails_received` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0'); + addExtensionAddTableColumnSql('online', 'emails_received', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT 0'); // Update notes (these will be set as task text!) setExtensionUpdateNotes("Anzahl empfangener Mails wird angezeigt. Diese Anzeige kann fehlerhaft sein, wenn Sie bereits Mitglieder in Ihrem {?mt_word?} haben sollen!"); @@ -287,7 +287,7 @@ INDEX (`stats_type`)", break; case '0.2.2': // SQL queries for v0.2.2 - addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_user_data` CHANGE `gender` `gender` ENUM('M','F','C') NOT NULL DEFAULT 'M'"); + addExtensionChangeTableColumnSql('user_data', 'gender', 'gender', "ENUM('M','F','C') NOT NULL DEFAULT 'M'"); // Update notes (these will be set as task text!) setExtensionUpdateNotes("Anrede "Firma" hinzugefügt."); @@ -355,15 +355,15 @@ INDEX (`stats_type`)", case '0.3.4': // SQL queries for v0.3.4 addConfigAddSql('select_user_zero_refid', "ENUM('Y','N') NOT NULL DEFAULT 'Y'"); addConfigAddSql('user_min_confirmed', 'SMALLINT(5) UNSIGNED NOT NULL DEFAULT 10'); - addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_user_data` ADD `rand_confirmed` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0'); + addExtensionAddTableColumnSql('online', 'rand_confirmed', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT 0'); // Update notes (these will be set as task text!) setExtensionUpdateNotes("Mitglieder werden per Zufall als Referral-Id ausgewählt, die eine Mindestanzahl an bestätigten Mails haben, wenn die Ref-Id 0 ist."); break; case '0.3.5': // SQL queries for v0.3.5 - addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_user_data` ADD `lock_reason` TINYTEXT"); - addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_user_data` ADD `lock_timestamp` TIMESTAMP NULL DEFAULT NULL"); + addExtensionAddTableColumnSql('user_data', 'lock_reason', 'TINYTEXT'); + addExtensionAddTableColumnSql('user_data', 'lock_timestamp', 'TIMESTAMP NULL DEFAULT NULL'); addConfigAddSql('user_delete_purge', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT ' . (getOneDay() * 30)); addAdminMenuSql('user', 'list_user_del', 'Löschungen auflisten', 'Listet die Löschungen von Usern auf.', 9); addDropTableSql('user_del'); @@ -394,20 +394,20 @@ INDEX (`userid`)", break; case '0.3.7': // SQL queries for v0.3.7 - addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_user_cats` CHANGE `id` `id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT'); - addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_user_cats` CHANGE `userid` `userid` BIGINT(20) UNSIGNED NULL DEFAULT NULL'); - addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_user_cats` CHANGE `cat_id` `cat_id` TINYINT(3) UNSIGNED NULL DEFAULT NULL'); - addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_user_data` CHANGE `userid` `userid` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT'); - addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_user_del` CHANGE `userid` `userid` BIGINT(20) UNSIGNED NULL DEFAULT NULL'); - addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_user_links` CHANGE `stats_id` `stats_id` BIGINT(20) UNSIGNED NULL DEFAULT NULL'); - addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_user_links` CHANGE `userid` `userid` BIGINT(20) UNSIGNED NULL DEFAULT NULL'); - addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_user_points` CHANGE `userid` `userid` BIGINT(20) UNSIGNED NULL DEFAULT NULL'); - addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_user_points` CHANGE `ref_depth` `ref_depth` TINYINT(3) UNSIGNED NULL DEFAULT NULL'); - addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_user_stats` CHANGE `userid` `userid` BIGINT(20) UNSIGNED NULL DEFAULT NULL'); - addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_user_stats` CHANGE `cat_id` `cat_id` BIGINT(20) UNSIGNED NULL DEFAULT NULL'); - addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_user_stats` CHANGE `payment_id` `payment_id` BIGINT(20) UNSIGNED NULL DEFAULT NULL'); - addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_user_stats` CHANGE `pool_id` `pool_id` BIGINT(20) UNSIGNED NULL DEFAULT NULL'); - addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_user_stats_data` CHANGE `userid` `userid` BIGINT(20) UNSIGNED NULL DEFAULT NULL'); + addExtensionChangeTableColumnSql('user_points', 'id', 'id', 'BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT'); + addExtensionChangeTableColumnSql('user_points', 'userid', 'userid', 'BIGINT(20) UNSIGNED NULL DEFAULT NULL'); + addExtensionChangeTableColumnSql('user_points', 'cat_id', 'cat_id', 'TINYINT(3) UNSIGNED NULL DEFAULT NULL'); + addExtensionChangeTableColumnSql('user_data', 'userid', 'userid', 'BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT'); + addExtensionChangeTableColumnSql('user_del', 'userid', 'userid', 'BIGINT(20) UNSIGNED NULL DEFAULT NULL'); + addExtensionChangeTableColumnSql('user_links', 'stats_id', 'stats_id', 'BIGINT(20) UNSIGNED NULL DEFAULT NULL'); + addExtensionChangeTableColumnSql('user_links', 'userid', 'userid', 'BIGINT(20) UNSIGNED NULL DEFAULT NULL'); + addExtensionChangeTableColumnSql('user_points', 'userid', 'userid', 'BIGINT(20) UNSIGNED NULL DEFAULT NULL'); + addExtensionChangeTableColumnSql('user_points', 'ref_depth', 'ref_depth', 'TINYINT(3) UNSIGNED NULL DEFAULT NULL'); + addExtensionChangeTableColumnSql('user_stats', 'userid', 'userid', 'BIGINT(20) UNSIGNED NULL DEFAULT NULL'); + addExtensionChangeTableColumnSql('user_stats', 'cat_id', 'cat_id', 'BIGINT(20) UNSIGNED NULL DEFAULT NULL'); + addExtensionChangeTableColumnSql('user_stats', 'payment_id', 'payment_id', 'BIGINT(20) UNSIGNED NULL DEFAULT NULL'); + addExtensionChangeTableColumnSql('user_stats', 'pool_id', 'pool_id', 'BIGINT(20) UNSIGNED NULL DEFAULT NULL'); + addExtensionChangeTableColumnSql('user_stats_data', 'userid', 'userid', 'BIGINT(20) UNSIGNED NULL DEFAULT NULL'); // Cleanup SQLs addExtensionSql('DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_user_cats` WHERE `userid` IS NULL OR `cat_id` IS NULL'); @@ -426,7 +426,7 @@ INDEX (`userid`)", break; case '0.3.8': // SQL queries for v0.3.8 - addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_user_data` CHANGE `last_failure` `last_failure` TIMESTAMP NULL DEFAULT NULL'); + addExtensionChangeTableColumnSql('user_data', 'last_failure', 'last_failure', 'TIMESTAMP NULL DEFAULT NULL'); // Update notes (these will be set as task text!) setExtensionUpdateNotes("Ausgangswert ist nicht mehr 0000-00-00 00:00:00, sondern einfach NULL."); @@ -464,7 +464,7 @@ INDEX (`userid`)", case '0.4.3': // SQL queries for v0.4.3 // Add special fix include to fix filters - addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_user_data` CHANGE `refid` `refid` BIGINT(20) NULL DEFAULT NULL"); + addExtensionChangeTableColumnSql('user_data', 'refid', 'refid', 'BIGINT(20) NULL DEFAULT NULL'); // Update notes (these will be set as task text!) setExtensionUpdateNotes("Überflüssiges Menü chk_regs entfernt, dies kann mit list_user übernommen werden."); @@ -491,7 +491,7 @@ INDEX (`refid`)", break; case '0.4.5': // SQL queries for v0.4.5 - addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_user_links` CHANGE `link_type` `link_type` VARCHAR(255) NOT NULL DEFAULT 'NORMAL'"); + addExtensionChangeTableColumnSql('user_links', 'link_type', 'link_type', "VARCHAR(255) NOT NULL DEFAULT 'NORMAL'"); // Update notes (these will be set as task text!) setExtensionUpdateNotes("Die Spalte link_type ist nun kein ENUM mehr, um weitere Mailtypen zu erlauben."); @@ -510,7 +510,7 @@ INDEX (`refid`)", break; case '0.4.7': // SQL queries for v0.4.7 - addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_user_data` CHANGE `lock_timestamp` `lock_timestamp` TIMESTAMP NULL DEFAULT NULL'); + addExtensionChangeTableColumnSql('user_data', 'lock_timestamp', 'lock_timestamp', 'TIMESTAMP NULL DEFAULT NULL'); addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_user_data` SET `lock_timestamp`=NULL WHERE `lock_timestamp`='0000-00-00 00:00:00'"); // Update notes (these will be set as task text!) @@ -523,7 +523,7 @@ INDEX (`refid`)", break; case '0.4.9': // SQL queries for v0.4.9 - addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_user_data` CHANGE `last_module` `last_what` VARCHAR(255) NULL DEFAULT NULL'); + addExtensionChangeTableColumnSql('user_data', 'last_module', 'last_what', 'VARCHAR(255) NULL DEFAULT NULL'); // Register filter locked points registerFilter(__FILE__, __LINE__, 'get_locked_points', 'LOCKED_USER_POINTS', FALSE, TRUE, isExtensionDryRun()); @@ -554,7 +554,7 @@ INDEX (`refid`)", addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_admin_menu` SET `title`='Mitglieder auflisten' WHERE `what`='list_user' LIMIT 1"); // Change 'zip' to INT(6) - addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_user_data` CHANGE `zip` `zip` INT(6) NOT NULL DEFAULT 0'); + addExtensionChangeTableColumnSql('user_data', 'zip', 'zip', 'INT(6) NOT NULL DEFAULT 0'); // Register filter for WHERE/AND exclusion/inclusion statements registerFilter(__FILE__, __LINE__, 'user_exclusion_sql', 'TESTER_USER_EXCLUSION_SQL', FALSE, TRUE, isExtensionDryRun()); @@ -618,7 +618,7 @@ INDEX (`subid`)", 'Sub id logging'); // For saving used subid in user_data table - addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_user_data` ADD `subid` VARCHAR(255) NULL DEFAULT NULL'); + addExtensionAddTableColumnSql('online', 'subid', 'VARCHAR(255) NULL DEFAULT NULL'); addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_user_data` ADD INDEX (`subid`)'); // Configuration entry for purging old subid logs (7 days default) @@ -634,7 +634,7 @@ INDEX (`subid`)", registerFilter(__FILE__, __LINE__, 'update_referral_data', 'UPDATE_USER_SUBID', FALSE, TRUE, isExtensionDryRun()); // Add user agent - addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_subid_log` ADD `user_agent` TINYTEXT NOT NULL AFTER `remote_address`'); + addExtensionAddTableColumnSql('subid_log', 'user_agent', 'TINYTEXT NOT NULL AFTER `remote_address`'); // Update notes (these will be set as task text!) setExtensionUpdateNotes("Weitere Filter für Referral-Counter und Sub-Id hinzugefügt."); diff --git a/inc/extensions/ext-wernis.php b/inc/extensions/ext-wernis.php index aaa7c505b8..0e566ccba1 100644 --- a/inc/extensions/ext-wernis.php +++ b/inc/extensions/ext-wernis.php @@ -71,7 +71,7 @@ INDEX (`userid`)", addConfigAddSql('wernis_api_url', "VARCHAR(255) NOT NULL DEFAULT 'http://www.wds66.com/api/'"); // User data - addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_user_data` ADD `wernis_userid` VARCHAR(6) NOT NULL DEFAULT ''"); + addExtensionAddTableColumnSql('user_data', 'wernis_userid', "VARCHAR(6) NOT NULL DEFAULT ''"); // Admin menu addAdminMenuSql('wernis', NULL, 'Wernis-Management', 'Konfiguration zur WDS66-API einstellen, Auszahlungen auflisten usw..', 15); @@ -150,7 +150,7 @@ INDEX (`userid`)", break; case '0.0.5': // SQL queries for v0.0.5 - addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_user_wernis` CHANGE `wernis_type` `wernis_type` ENUM('WITHDRAW','PAYOUT','FAILED') NOT NULL DEFAULT 'FAILED'"); + addExtensionChangeTableColumnSql('user_wernis', 'wernis_type', 'wernis_type', "ENUM('WITHDRAW','PAYOUT','FAILED') NOT NULL DEFAULT 'FAILED'"); // Update notes setExtensionUpdateNotes("IN/OUT ersetzt mit WITHDRAW/PAYOUT."); -- 2.39.5