Even more rewrites/fixes from EL branch (please report any broken part after you...
[mailer.git] / inc / extensions / ext-sql_patches.php
index 5d9b11682ca53660fc6c5543f929af2d4e48f1b7..68d4ea59e1767755c22b7e9e67001e2c69afdb96 100644 (file)
@@ -53,8 +53,8 @@ setExtensionAlwaysActive('Y');
 
 switch (getExtensionMode()) {
        case 'register': // Do stuff when installation is running (modules.php?module=admin is called)
-               // SQL commands to run
-               addExtensionSql('');
+               // This depends on 'cache' now
+               addExtensionUpdateDependency('cache');
                break;
 
        case 'remove': // Do stuff when removing extension
@@ -92,36 +92,6 @@ switch (getExtensionMode()) {
 `action`='rals' OR
 `action`='account'");
 
-               // Drop indexes
-               /* @TODO SQL_ALTER_TABLE() should work now properly
-               addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_extensions` DROP UNIQUE KEY `ext_name`");
-               addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_admins` DROP UNIQUE KEY `login`");
-               addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_refbanner` DROP INDEX `visible`");
-               addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_refdepths` DROP UNIQUE KEY `level`");
-               addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_refsystem` DROP INDEX `level`");
-               addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_pool` DROP INDEX `data_type`");
-               addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_mod_reg` DROP UNIQUE KEY `module`");
-               addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_admin_menu` DROP INDEX `action`");
-               addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_admin_menu` DROP INDEX `what`");
-               addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_task_system` DROP INDEX `task_type`");
-               addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_task_system` DROP INDEX `status`");
-               addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_task_system` DROP INDEX `task_created`");
-               addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_task_system` DROP FULLTEXT `subject`");
-               addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_task_system` DROP INDEX `subject`");
-               addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_extensions` DROP INDEX `ext_active`");
-               addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_guest_menu` DROP INDEX `action`");
-               addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_guest_menu` DROP INDEX `what`");
-               addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_guest_menu` DROP INDEX `sort`");
-               addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_guest_menu` DROP INDEX `visible`");
-               addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_guest_menu` DROP INDEX `locked`");
-               addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_member_menu` DROP INDEX `what`");
-               addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_member_menu` DROP INDEX `sort`");
-               addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_member_menu` DROP INDEX `visible`");
-               addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_member_menu` DROP INDEX `locked`");
-               addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_cats` DROP INDEX `visible`");
-               addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_cats` DROP INDEX `sort`");
-               */
-
                // Unregister filter
                unregisterFilter('member_login_check', 'RESET_USER_LOGIN_FAILURE', true, getExtensionDryRun());
                break;
@@ -311,7 +281,7 @@ switch (getExtensionMode()) {
                                        // Switch to JPEG format
                                        $auto_type = 'jpg';
                                }
-                               addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD `img_type` ENUM('jpg','png') NOT NULL DEFAULT '".$auto_type."'");
+                               addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD `img_type` ENUM('jpg','png') NOT NULL DEFAULT '" . $auto_type . "'");
 
                                // Update notes (these will be set as task text!)
                                setExtensionUpdateNotes("Generierung des Mailbest&auml;tigungscodes h&auml;ngt davon ab, ob die PHP-Funktion <u>imagecreatefromjpeg()</u> und das JPEG-Bild vorhanden sind oder nicht.");
@@ -595,7 +565,7 @@ PRIMARY KEY (`id`)
                                addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_refdepths` CHANGE `percents` `percents` FLOAT(8,5) UNSIGNED NOT NULL DEFAULT 0.00000");
 
                                // Update notes (these will be set as task text!)
-                               setExtensionUpdateNotes("Prozents&aum;tze k&ouml;nnen nun f&uuml;nf Stelle hinter dem Komma sein.");
+                               setExtensionUpdateNotes("Prozents&auml;tze k&ouml;nnen nun f&uuml;nf Stelle hinter dem Komma sein.");
                                break;
 
                        case '0.5.3': // SQL queries for v0.5.3
@@ -777,7 +747,7 @@ INDEX (`ip`)
                setConfigEntry('secret_key', '');
 
                // Read key from secret file
-               if ((getConfig('file_hash') == '') || (getConfig('master_salt') == '') || (getConfig('pass_scramble') == '')) {
+               if ((isExtensionInstalledAndNewer('sql_patches', '0.3.6')) && ((getConfig('file_hash') == '') || (getConfig('master_salt') == '') || (getConfig('pass_scramble') == ''))) {
                        // Cache instance
                        // Maybe need setup of secret key!
                        loadIncludeOnce('inc/gen_sql_patches.php');
@@ -792,7 +762,7 @@ INDEX (`ip`)
                } // END - if
 
                // Test again
-               if ((getConfig('file_hash') != '') && (getConfig('master_salt') != '') && (getConfig('pass_scramble') != '')) {
+               if ((isExtensionInstalledAndNewer('sql_patches', '0.3.6')) && (getConfig('file_hash') != '') && (getConfig('master_salt') != '') && (getConfig('pass_scramble') != '')) {
                        // File hash fas generated so we can also file the secret file... hopefully.
                        $hashFile = sprintf("%sinc/.secret/.%s", getConfig('PATH'), getConfig('file_hash'));
                        if (isFileReadable($hashFile)) {
@@ -807,8 +777,10 @@ INDEX (`ip`)
                        }
                } // END - if
 
-               // Transfer words/numbers to constants
-               setConfigEntry('POINTS', getConfig('points_word'));
+               // Transfer words/numbers to constants if config entry is found
+               if (isExtensionInstalledAndNewer('sql_patches', '0.0.3')) {
+                       setConfigEntry('POINTS', getConfig('points_word'));
+               } // END - if
                break;
 
        default: // Unknown extension mode