From 2a9a50553bdc0d7d9e247ffa49920573ebf5659d Mon Sep 17 00:00:00 2001 From: Jakub Vrana Date: Sat, 11 Jan 2014 15:44:03 -0800 Subject: [PATCH] MongoDB: insert --- adminer/drivers/mongo.inc.php | 2 +- adminer/drivers/simpledb.inc.php | 14 +------------- adminer/edit.inc.php | 6 +++--- adminer/include/functions.inc.php | 19 +++++++++++++++++++ changes.txt | 3 +++ 5 files changed, 27 insertions(+), 17 deletions(-) diff --git a/adminer/drivers/mongo.inc.php b/adminer/drivers/mongo.inc.php index c3a0dce9..874bf100 100644 --- a/adminer/drivers/mongo.inc.php +++ b/adminer/drivers/mongo.inc.php @@ -245,7 +245,7 @@ if (isset($_GET["mongo"])) { } function fields($table) { - return array(); + return fields_from_edit(); } function convert_field($field) { diff --git a/adminer/drivers/simpledb.inc.php b/adminer/drivers/simpledb.inc.php index d317e051..231791d3 100644 --- a/adminer/drivers/simpledb.inc.php +++ b/adminer/drivers/simpledb.inc.php @@ -323,19 +323,7 @@ if (isset($_GET["simpledb"])) { } function fields($table) { - $return = array(); - foreach ((array) $_POST["field_keys"] as $key => $val) { - if ($val != "") { - $val = bracket_escape($val); - $_POST["function"][$val] = $_POST["field_funs"][$key]; - $_POST["fields"][$val] = $_POST["field_vals"][$key]; - } - } - foreach ((array) $_POST["fields"] as $key => $val) { - $name = bracket_escape($key, 1); // 1 - back - $return[$name] = array("field" => $name, "privileges" => array("insert" => 1, "update" => 1), "null" => 1); - } - return $return; + return fields_from_edit(); } function foreign_keys($table) { diff --git a/adminer/edit.inc.php b/adminer/edit.inc.php index faa3434d..c5de310b 100644 --- a/adminer/edit.inc.php +++ b/adminer/edit.inc.php @@ -165,9 +165,9 @@ if (!$fields) { if (!support("table")) { echo "" - . "" - . "" . html_select("field_funs[]", $adminer->editFunctions(array()), $_POST["field_funs"][0]) - . "" + . "" + . "" . html_select("field_funs[]", $adminer->editFunctions(array())) + . "" . "\n" ; } diff --git a/adminer/include/functions.inc.php b/adminer/include/functions.inc.php index a0178cec..ed570541 100644 --- a/adminer/include/functions.inc.php +++ b/adminer/include/functions.inc.php @@ -903,6 +903,25 @@ function process_input($field) { return $adminer->processInput($field, $value, $function); } +/** Compute fields() from $_POST edit data +* @return array +*/ +function fields_from_edit() { + $return = array(); + foreach ((array) $_POST["field_keys"] as $key => $val) { + if ($val != "") { + $val = bracket_escape($val); + $_POST["function"][$val] = $_POST["field_funs"][$key]; + $_POST["fields"][$val] = $_POST["field_vals"][$key]; + } + } + foreach ((array) $_POST["fields"] as $key => $val) { + $name = bracket_escape($key, 1); // 1 - back + $return[$name] = array("field" => $name, "privileges" => array("insert" => 1, "update" => 1), "null" => 1); + } + return $return; +} + /** Print results of search in all tables * @uses $_GET["where"][0] * @uses $_POST["tables"] diff --git a/changes.txt b/changes.txt index f921a5fc..1fdd70c0 100644 --- a/changes.txt +++ b/changes.txt @@ -1,3 +1,6 @@ +Adminer 4.0.3-dev: +MongoDB: insert + Adminer 4.0.2 (released 2014-01-11): Fix handling of long text in SQL textarea Support paste to SQL textarea in Opera