From bcc85ab679f6f100d169597990a8ab4138dd3158 Mon Sep 17 00:00:00 2001 From: Marc Alexander Date: Sun, 21 May 2017 15:59:59 +0200 Subject: [ticket/14992] Correctly remove table name and prefix from keys PHPBB3-14992 --- phpBB/phpbb/db/tools/tools.php | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'phpBB') diff --git a/phpBB/phpbb/db/tools/tools.php b/phpBB/phpbb/db/tools/tools.php index 112438fcdd..76036554d2 100644 --- a/phpBB/phpbb/db/tools/tools.php +++ b/phpBB/phpbb/db/tools/tools.php @@ -947,7 +947,19 @@ class tools implements tools_interface case 'oracle': case 'sqlite3': $index_name = $this->check_index_name_length($table_name, $table_name . '_' . $index_name, false); - $row[$col] = strpos($row[$col], $table_name) === 0 ? substr($row[$col], strlen($table_name) + 1) : $row[$col]; + $table_prefix = substr(CONFIG_TABLE, 0, -6); // strlen(config) + + if (strpos($index_name , $table_name) === false) + { + if (strpos($index_name, $table_prefix) !== false) + { + $row[$col] = substr($row[$col], strlen($table_prefix) + 1); + } + else + { + $row[$col] = substr($row[$col], strlen($table_name) + 1); + } + } break; } -- cgit v1.2.1