diff --git a/adminer/drivers/simpledb.inc.php b/adminer/drivers/simpledb.inc.php index b3dc34a5..df24d015 100644 --- a/adminer/drivers/simpledb.inc.php +++ b/adminer/drivers/simpledb.inc.php @@ -285,7 +285,20 @@ if (isset($_GET["simpledb"])) { } function fields($table) { - return array(); + $return = array(); + foreach ((array) $_POST["field_keys"] as $key => $val) { + if ($val != "") { + $_POST["fields"][bracket_escape($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)); + if (isset($_POST["function"][$key])) { + $return[$name]["null"] = true; + } + } + return $return; } function foreign_keys($table) { diff --git a/adminer/edit.inc.php b/adminer/edit.inc.php index 4dd9ea82..91ff9844 100644 --- a/adminer/edit.inc.php +++ b/adminer/edit.inc.php @@ -21,21 +21,6 @@ if ($_POST && !$error && !isset($_GET["select"])) { $unique_array = unique_array($_GET["where"], $indexes); $query_where = "\nWHERE $where"; - if (!support("table")) { - foreach ($_POST["field_keys"] as $key => $val) { - if ($val != "") { - $_POST["fields"][bracket_escape($val)] = $_POST["field_vals"][$key]; - } - } - foreach ($_POST["fields"] as $key => $val) { - $name = bracket_escape($key, 1); // 1 - back - $fields[$name] = array("field" => $name); - if (isset($_POST["function"][$key])) { - $fields[$name]["null"] = true; - } - } - } - if (isset($_POST["delete"])) { queries_redirect( $location, @@ -118,7 +103,7 @@ if (!support("table") && !$fields) { } if ($row) { foreach ($row as $key => $val) { - if (!$_POST["save"] && !$where) { + if (!$where) { $row[$key] = null; } $fields[$key] = array("field" => $key, "null" => ($key != "itemName()"));