From 49c1484722aad25886305836dba567fa96676e12 Mon Sep 17 00:00:00 2001 From: Jakub Vrana Date: Fri, 26 Apr 2013 23:21:09 -0700 Subject: [PATCH] Display bit default value same as existing values --- adminer/edit.inc.php | 8 +++++++- adminer/include/adminer.inc.php | 2 +- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/adminer/edit.inc.php b/adminer/edit.inc.php index 08892e94..49849681 100644 --- a/adminer/edit.inc.php +++ b/adminer/edit.inc.php @@ -84,9 +84,15 @@ if (!$fields) { foreach ($fields as $name => $field) { echo "" . $adminer->fieldName($field); $default = $_GET["set"][bracket_escape($name)]; + if ($default === null) { + $default = $field["default"]; + if ($field["type"] == "bit" && ereg("^b'([01]*)'\$", $default, $regs)) { + $default = $regs[1]; + } + } $value = ($row !== null ? ($row[$name] != "" && $jush == "sql" && ereg("enum|set", $field["type"]) ? (is_array($row[$name]) ? array_sum($row[$name]) : +$row[$name]) : $row[$name]) - : (!$update && $field["auto_increment"] ? "" : (isset($_GET["select"]) ? false : ($default !== null ? $default : $field["default"]))) + : (!$update && $field["auto_increment"] ? "" : (isset($_GET["select"]) ? false : $default)) ); if (!$_POST["save"] && is_string($value)) { $value = $adminer->editVal($value, $field); diff --git a/adminer/include/adminer.inc.php b/adminer/include/adminer.inc.php index b88b648c..0a92e068 100644 --- a/adminer/include/adminer.inc.php +++ b/adminer/include/adminer.inc.php @@ -545,7 +545,7 @@ username.form['auth[driver]'].onchange(); return $value; // SQL injection } $name = $field["field"]; - $return = ($field["type"] == "bit" && ereg("^([0-9]+|b'[0-1]+')\$", $value) ? $value : q($value)); + $return = q($value); if (ereg('^(now|getdate|uuid)$', $function)) { $return = "$function()"; } elseif (ereg('^current_(date|timestamp)$', $function)) {