aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/install/database_update.php
diff options
context:
space:
mode:
authorOleg Pudeyev <oleg@bsdpower.com>2012-12-22 18:06:42 -0500
committerOleg Pudeyev <oleg@bsdpower.com>2012-12-22 18:06:42 -0500
commit4f477791ec83526b98153ad2b2d4b207554af15a (patch)
tree58a2e4a6d864a53ef06b0d070b4dc7a8b4880567 /phpBB/install/database_update.php
parent7829d2a8c8c2969597db412e7689824b0a9e9a9a (diff)
parent86f0c0a6d5d65141fbce138fc7702795b39693cd (diff)
downloadforums-4f477791ec83526b98153ad2b2d4b207554af15a.tar
forums-4f477791ec83526b98153ad2b2d4b207554af15a.tar.gz
forums-4f477791ec83526b98153ad2b2d4b207554af15a.tar.bz2
forums-4f477791ec83526b98153ad2b2d4b207554af15a.tar.xz
forums-4f477791ec83526b98153ad2b2d4b207554af15a.zip
Merge PR #1152 branch 'develop-olympus' into develop
* develop-olympus: [ticket/11278] Comment out the code for dropping the Q&A tables [ticket/11278] Fix not running queries from db tools in database update Conflicts: phpBB/install/database_update.php
Diffstat (limited to 'phpBB/install/database_update.php')
-rw-r--r--phpBB/install/database_update.php47
1 files changed, 30 insertions, 17 deletions
diff --git a/phpBB/install/database_update.php b/phpBB/install/database_update.php
index 1698e7777a..6160a93a04 100644
--- a/phpBB/install/database_update.php
+++ b/phpBB/install/database_update.php
@@ -1210,7 +1210,7 @@ function database_update_info()
*****************************************************************************/
function change_database_data(&$no_updates, $version)
{
- global $db, $errored, $error_ary, $config, $phpbb_root_path, $phpEx, $db_tools;
+ global $db, $db_tools, $errored, $error_ary, $config, $table_prefix, $phpbb_root_path, $phpEx;
$update_helpers = new phpbb_update_helpers();
@@ -1527,8 +1527,6 @@ function change_database_data(&$no_updates, $version)
),
);
- global $db_tools;
-
$statements = $db_tools->perform_schema_changes($changes);
foreach ($statements as $sql)
@@ -2170,26 +2168,41 @@ function change_database_data(&$no_updates, $version)
}
$db->sql_freeresult($result);
- global $db_tools, $table_prefix;
-
- // Recover from potentially broken Q&A CAPTCHA table on firebird
- // Q&A CAPTCHA was uninstallable, so it's safe to remove these
- // without data loss
+ /*
+ * Due to a bug, vanilla phpbb could not create captcha tables
+ * in 3.0.8 on firebird. It was possible for board administrators
+ * to adjust the code to work. If code was manually adjusted by
+ * board administrators, index names would not be the same as
+ * what 3.0.9 and newer expect. This code fragment drops captcha
+ * tables, destroying all entered Q&A captcha configuration, such
+ * that when Q&A is configured next the respective tables will be
+ * created with correct index names.
+ *
+ * If you wish to preserve your Q&A captcha configuration, you can
+ * manually rename indexes to the currently expected name:
+ * phpbb_captcha_questions_lang_iso => phpbb_captcha_questions_lang
+ * phpbb_captcha_answers_question_id => phpbb_captcha_answers_qid
+ *
+ * Again, this needs to be done only if a board was manually modified
+ * to fix broken captcha code.
+ *
if ($db_tools->sql_layer == 'firebird')
{
- $tables = array(
- $table_prefix . 'captcha_questions',
- $table_prefix . 'captcha_answers',
- $table_prefix . 'qa_confirm',
+ $changes = array(
+ 'drop_tables' => array(
+ $table_prefix . 'captcha_questions',
+ $table_prefix . 'captcha_answers',
+ $table_prefix . 'qa_confirm',
+ ),
);
- foreach ($tables as $table)
+ $statements = $db_tools->perform_schema_changes($changes);
+
+ foreach ($statements as $sql)
{
- if ($db_tools->sql_table_exists($table))
- {
- $db_tools->sql_table_drop($table);
- }
+ _sql($sql, $errored, $error_ary);
}
}
+ */
$no_updates = false;
break;