]> git.joonet.de Git - adminer.git/commitdiff
Trim identifiers (bug #3405309)
authorJakub Vrana <jakub@vrana.cz>
Sat, 10 Sep 2011 11:06:59 +0000 (13:06 +0200)
committerJakub Vrana <jakub@vrana.cz>
Sat, 10 Sep 2011 11:06:59 +0000 (13:06 +0200)
adminer/create.inc.php
adminer/database.inc.php
adminer/include/editing.inc.php
adminer/procedure.inc.php
adminer/scheme.inc.php
adminer/sequence.inc.php
adminer/type.inc.php
adminer/view.inc.php
changes.txt

index e46c419ae393196acef2897a11de16ab9880b08b..b81033cf5260047ca133eaba33d5ae42096808da 100644 (file)
@@ -78,9 +78,10 @@ if ($_POST && !$error && !$_POST["add"] && !$_POST["drop_col"] && !$_POST["up"]
                        cookie("adminer_engine", $_POST["Engine"]);
                        $message = lang('Table has been created.');
                }
-               queries_redirect(ME . "table=" . urlencode($_POST["name"]), $message, alter_table(
+               $name = trim($_POST["name"]);
+               queries_redirect(ME . "table=" . urlencode($name), $message, alter_table(
                        $TABLE,
-                       $_POST["name"],
+                       $name,
                        $fields,
                        $foreign,
                        $_POST["Comment"],
index 38b24c8603c33863576bc2051b0f6bd58c0db05b..58697c04a0f2bce4f9b99e15d38c91f6567d5bc5 100644 (file)
@@ -1,16 +1,17 @@
 <?php
 if ($_POST && !$error && !isset($_POST["add_x"])) { // add is an image and PHP changes add.x to add_x
        restart_session();
+       $name = trim($_POST["name"]);
        if ($_POST["drop"]) {
                $_GET["db"] = ""; // to save in global history
                queries_redirect(remove_from_uri("db|database"), lang('Database has been dropped.'), drop_databases(array(DB)));
-       } elseif (DB !== $_POST["name"]) {
+       } elseif (DB !== $name) {
                // create or rename database
                if (DB != "") {
-                       $_GET["db"] = $_POST["name"];
-                       queries_redirect(preg_replace('~db=[^&]*&~', '', ME) . "db=" . urlencode($_POST["name"]), lang('Database has been renamed.'), rename_database($_POST["name"], $_POST["collation"]));
+                       $_GET["db"] = $name;
+                       queries_redirect(preg_replace('~db=[^&]*&~', '', ME) . "db=" . urlencode($name), lang('Database has been renamed.'), rename_database($name, $_POST["collation"]));
                } else {
-                       $databases = explode("\n", str_replace("\r", "", $_POST["name"]));
+                       $databases = explode("\n", str_replace("\r", "", $name));
                        $success = true;
                        $last = "";
                        foreach ($databases as $db) {
@@ -28,7 +29,7 @@ if ($_POST && !$error && !isset($_POST["add_x"])) { // add is an image and PHP c
                if (!$_POST["collation"]) {
                        redirect(substr(ME, 0, -1));
                }
-               query_redirect("ALTER DATABASE " . idf_escape($_POST["name"]) . (eregi('^[a-z0-9_]+$', $_POST["collation"]) ? " COLLATE $_POST[collation]" : ""), substr(ME, 0, -1), lang('Database has been altered.'));
+               query_redirect("ALTER DATABASE " . idf_escape($name) . (eregi('^[a-z0-9_]+$', $_POST["collation"]) ? " COLLATE $_POST[collation]" : ""), substr(ME, 0, -1), lang('Database has been altered.'));
        }
 }
 
index bc40d4ccd26955d7d0c358bfe28f63c12e8c2897..34d444d98bdf33ea99d42baed6072ee669232d5d 100644 (file)
@@ -178,7 +178,7 @@ function process_type($field, $collate = "COLLATE") {
 */
 function process_field($field, $type_field) {
        return array(
-               idf_escape($field["field"]),
+               idf_escape(trim($field["field"])),
                process_type($type_field),
                ($field["null"] ? " NULL" : " NOT NULL"), // NULL for timestamp
                (isset($field["default"]) ? " DEFAULT " . (($field["type"] == "timestamp" && eregi('^CURRENT_TIMESTAMP$', $field["default"])) || ($field["type"] == "bit" && ereg("^([0-9]+|b'[0-1]+')\$", $field["default"])) ? $field["default"] : q($field["default"])) : ""),
index 5f767246b84e3f579ee3d5337b15df2d1b3d3d58..22c47f745f9bcc803221c0fdcc35bb6ad00a30c1 100644 (file)
@@ -15,7 +15,7 @@ if ($_POST && !$error && !$_POST["add"] && !$_POST["drop_col"] && !$_POST["up"]
        }
        $dropped = drop_create(
                "DROP $routine " . idf_escape($PROCEDURE),
-               "CREATE $routine " . idf_escape($_POST["name"]) . " (" . implode(", ", $set) . ")" . (isset($_GET["function"]) ? " RETURNS" . process_type($_POST["returns"], "CHARACTER SET") : "") . (in_array($_POST["language"], $routine_languages) ? " LANGUAGE $_POST[language]" : "") . rtrim("\n$_POST[definition]", ";") . ";",
+               "CREATE $routine " . idf_escape(trim($_POST["name"])) . " (" . implode(", ", $set) . ")" . (isset($_GET["function"]) ? " RETURNS" . process_type($_POST["returns"], "CHARACTER SET") : "") . (in_array($_POST["language"], $routine_languages) ? " LANGUAGE $_POST[language]" : "") . rtrim("\n$_POST[definition]", ";") . ";",
                substr(ME, 0, -1),
                lang('Routine has been dropped.'),
                lang('Routine has been altered.'),
index 8049827113857f80b3fc43bd296cc506568ccf76..49794f0ab85e56c540b62511147ef078676408d9 100644 (file)
@@ -4,11 +4,12 @@ if ($_POST && !$error) {
        if ($_POST["drop"]) {
                query_redirect("DROP SCHEMA " . idf_escape($_GET["ns"]), $link, lang('Schema has been dropped.'));
        } else {
-               $link .= urlencode($_POST["name"]);
+               $name = trim($_POST["name"]);
+               $link .= urlencode($name);
                if ($_GET["ns"] == "") {
-                       query_redirect("CREATE SCHEMA " . idf_escape($_POST["name"]), $link, lang('Schema has been created.'));
-               } elseif ($_GET["ns"] != $_POST["name"]) {
-                       query_redirect("ALTER SCHEMA " . idf_escape($_GET["ns"]) . " RENAME TO " . idf_escape($_POST["name"]), $link, lang('Schema has been altered.')); //! sp_rename in MS SQL
+                       query_redirect("CREATE SCHEMA " . idf_escape($name), $link, lang('Schema has been created.'));
+               } elseif ($_GET["ns"] != $name) {
+                       query_redirect("ALTER SCHEMA " . idf_escape($_GET["ns"]) . " RENAME TO " . idf_escape($name), $link, lang('Schema has been altered.')); //! sp_rename in MS SQL
                } else {
                        redirect($link);
                }
index 3904c9193e10de95cd1c4d9896a0e8af26c867c1..756fe56807f7a265d63a0ab75f7c8c79e61056f8 100644 (file)
@@ -3,12 +3,13 @@ $SEQUENCE = $_GET["sequence"];
 
 if ($_POST && !$error) {
        $link = substr(ME, 0, -1);
+       $name = trim($_POST["name"]);
        if ($_POST["drop"]) {
                query_redirect("DROP SEQUENCE " . idf_escape($SEQUENCE), $link, lang('Sequence has been dropped.'));
        } elseif ($SEQUENCE == "") {
-               query_redirect("CREATE SEQUENCE " . idf_escape($_POST["name"]), $link, lang('Sequence has been created.'));
-       } elseif ($SEQUENCE != $_POST["name"]) {
-               query_redirect("ALTER SEQUENCE " . idf_escape($SEQUENCE) . " RENAME TO " . idf_escape($_POST["name"]), $link, lang('Sequence has been altered.'));
+               query_redirect("CREATE SEQUENCE " . idf_escape($name), $link, lang('Sequence has been created.'));
+       } elseif ($SEQUENCE != $name) {
+               query_redirect("ALTER SEQUENCE " . idf_escape($SEQUENCE) . " RENAME TO " . idf_escape($name), $link, lang('Sequence has been altered.'));
        } else {
                redirect($link);
        }
index 610e2b019df6b5870995238a9ace205467e3a952..b3bb424aad5457b45b7c070e359f2c69d80038fe 100644 (file)
@@ -6,7 +6,7 @@ if ($_POST && !$error) {
        if ($_POST["drop"]) {
                query_redirect("DROP TYPE " . idf_escape($TYPE), $link, lang('Type has been dropped.'));
        } else {
-               query_redirect("CREATE TYPE " . idf_escape($_POST["name"]) . " $_POST[as]", $link, lang('Type has been created.'));
+               query_redirect("CREATE TYPE " . idf_escape(trim($_POST["name"])) . " $_POST[as]", $link, lang('Type has been created.'));
        }
 }
 
index b8fb834e4535f2977822b0c8553e47ea53329cb1..f23e756be22790218aae7cbfde7f2d52426ae1fa 100644 (file)
@@ -2,10 +2,11 @@
 $TABLE = $_GET["view"];
 $dropped = false;
 if ($_POST && !$error) {
+       $name = trim($_POST["name"]);
        $dropped = drop_create(
                "DROP VIEW " . table($TABLE),
-               "CREATE VIEW " . table($_POST["name"]) . " AS\n$_POST[select]",
-               ($_POST["drop"] ? substr(ME, 0, -1) : ME . "table=" . urlencode($_POST["name"])),
+               "CREATE VIEW " . table($name) . " AS\n$_POST[select]",
+               ($_POST["drop"] ? substr(ME, 0, -1) : ME . "table=" . urlencode($name)),
                lang('View has been dropped.'),
                lang('View has been altered.'),
                lang('View has been created.'),
index 282957e97eac6ce22ee0614b5c5a09f2f7246e2f..7e94f49f9fe1a0bf2ee62c93f7d47c930ffb7d6c 100644 (file)
@@ -2,8 +2,9 @@ Adminer 3.3.4-dev:
 Foreign keys default actions (bug #3397606)
 Fix minor parser bug in SQL command with webserver file
 Ctrl+click on button opens form to blank window
-PostgreSQL: fix alter foreign key
 SET DEFAULT foreign key action
+Trim table and column names (bug #3405309)
+PostgreSQL: fix alter foreign key
 PostgreSQL over PDO: connect if the eponymous database does not exist (bug #3391619)
 Boolean search (Editor)
 Persian translation