1
0
mirror of https://github.com/vrana/adminer.git synced 2025-08-15 19:13:59 +02:00

SimpleDB: Allow inserting JSON

This commit is contained in:
Jakub Vrana
2013-08-09 16:26:51 -07:00
parent 6317c7737d
commit 3f47f63c61
2 changed files with 16 additions and 11 deletions

View File

@@ -197,16 +197,17 @@ if (isset($_GET["simpledb"])) {
foreach ($set as $name => $value) { foreach ($set as $name => $value) {
if ($value != "NULL") { if ($value != "NULL") {
$name = idf_unescape($name); $name = idf_unescape($name);
$value = idf_unescape($value);
if ($name == "itemName()") { if ($name == "itemName()") {
$params["ItemName"] = $value; $params["ItemName"] = idf_unescape($value);
} else { } else {
foreach ((array) $value as $val) {
$params["Attribute.$i.Name"] = $name; $params["Attribute.$i.Name"] = $name;
$params["Attribute.$i.Value"] = $value; $params["Attribute.$i.Value"] = (is_array($value) ? $val : idf_unescape($value));
$i++; $i++;
} }
} }
} }
}
return sdb_request('PutAttributes', $params); return sdb_request('PutAttributes', $params);
} }
@@ -322,15 +323,14 @@ if (isset($_GET["simpledb"])) {
$return = array(); $return = array();
foreach ((array) $_POST["field_keys"] as $key => $val) { foreach ((array) $_POST["field_keys"] as $key => $val) {
if ($val != "") { if ($val != "") {
$_POST["fields"][bracket_escape($val)] = $_POST["field_vals"][$key]; $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) { foreach ((array) $_POST["fields"] as $key => $val) {
$name = bracket_escape($key, 1); // 1 - back $name = bracket_escape($key, 1); // 1 - back
$return[$name] = array("field" => $name, "privileges" => array("insert" => 1, "update" => 1)); $return[$name] = array("field" => $name, "privileges" => array("insert" => 1, "update" => 1), "null" => 1);
if (isset($_POST["function"][$key])) {
$return[$name]["null"] = true;
}
} }
return $return; return $return;
} }

View File

@@ -160,7 +160,12 @@ if (!$fields) {
} }
if (!support("table")) { if (!support("table")) {
echo "<tr><th><input name='field_keys[]'><td class='function'>&nbsp;<td><input name='field_vals[]'>"; echo "<tr>"
. "<th><input name='field_keys[]' value='" . h($_POST["field_keys"][0]) . "'>"
. "<td class='function'>" . html_select("field_funs[]", $adminer->editFunctions(array()), $_POST["field_funs"][0])
. "<td><input name='field_vals[]' value='" . h($_POST["field_vals"][0]) . "'>"
. "\n"
;
} }
echo "</table>\n"; echo "</table>\n";