From ca3f027f7e714df46865d8e8393d94ff535a957d Mon Sep 17 00:00:00 2001 From: William Desportes Date: Sun, 28 Apr 2019 21:01:36 +0200 Subject: [PATCH] Fix #13178 - Issues with uppercase table and database names Fixes: #13178 [ci skip] Signed-off-by: William Desportes --- .../Server/ServerDatabasesController.php | 6 ++++++ tbl_create.php | 9 +++++++++ tbl_operations.php | 15 +++++++++++++++ 3 files changed, 30 insertions(+) diff --git a/libraries/classes/Controllers/Server/ServerDatabasesController.php b/libraries/classes/Controllers/Server/ServerDatabasesController.php index fea993841f..d6db415d55 100644 --- a/libraries/classes/Controllers/Server/ServerDatabasesController.php +++ b/libraries/classes/Controllers/Server/ServerDatabasesController.php @@ -125,6 +125,12 @@ class ServerDatabasesController extends Controller */ public function createDatabaseAction() { + // lower_case_table_names=1 `DB` becomes `db` + if ($GLOBALS['dbi']->getLowerCaseNames() === '1') { + $_POST['new_db'] = mb_strtolower( + $_POST['new_db'] + ); + } /** * Builds and executes the db creation sql query */ diff --git a/tbl_create.php b/tbl_create.php index 503b168a32..1d9c30cc3c 100644 --- a/tbl_create.php +++ b/tbl_create.php @@ -62,6 +62,15 @@ $action = 'tbl_create.php'; * The form used to define the structure of the table has been submitted */ if (isset($_POST['do_save_data'])) { + // lower_case_table_names=1 `DB` becomes `db` + if ($GLOBALS['dbi']->getLowerCaseNames() === '1') { + $db = mb_strtolower( + $db + ); + $table = mb_strtolower( + $table + ); + } $sql_query = $createAddField->getTableCreationQuery($db, $table); // If there is a request for SQL previewing. diff --git a/tbl_operations.php b/tbl_operations.php index 0935b9f5d6..4ff5ab9d69 100644 --- a/tbl_operations.php +++ b/tbl_operations.php @@ -24,6 +24,15 @@ require_once 'libraries/common.inc.php'; */ require_once 'libraries/check_user_privileges.inc.php'; +// lower_case_table_names=1 `DB` becomes `db` +$lowerCaseNames = $GLOBALS['dbi']->getLowerCaseNames() === '1'; + +if ($lowerCaseNames) { + $GLOBALS['table'] = mb_strtolower( + $GLOBALS['table'] + ); +} + $pma_table = new Table($GLOBALS['table'], $GLOBALS['db']); /** @@ -121,6 +130,12 @@ if (isset($_POST['submitoptions'])) { $warning_messages = array(); if (isset($_POST['new_name'])) { + // lower_case_table_names=1 `DB` becomes `db` + if ($lowerCaseNames) { + $_POST['new_name'] = mb_strtolower( + $_POST['new_name'] + ); + } // Get original names before rename operation $oldTable = $pma_table->getName(); $oldDb = $pma_table->getDbName();