From ed2c27c2496576283f1b004b468c6b8be2c81755 Mon Sep 17 00:00:00 2001 From: jakubvrana Date: Fri, 17 Jul 2009 14:06:30 +0000 Subject: [PATCH] Respect field function git-svn-id: https://adminer.svn.sourceforge.net/svnroot/adminer/trunk@851 7c3ca157-0c34-0410-bff1-cbf682f78f5c --- adminer/edit.inc.php | 2 +- adminer/include/functions.inc.php | 4 ++-- changes.txt | 1 + todo.txt | 1 + 4 files changed, 5 insertions(+), 3 deletions(-) diff --git a/adminer/edit.inc.php b/adminer/edit.inc.php index bdb7d5e2..a81a60a3 100644 --- a/adminer/edit.inc.php +++ b/adminer/edit.inc.php @@ -78,7 +78,7 @@ if ($fields) { ? (strlen($row[$name]) && ($field["type"] == "enum" || $field["type"] == "set") ? intval($row[$name]) : $row[$name]) : ($_POST["clone"] && $field["auto_increment"] ? "" : (isset($_GET["select"]) ? false : $field["default"])) ); - $function = ($_POST["save"] ? (string) $_POST["function"][$name] : ($field[($where ? "on_update" : "default")] == "CURRENT_TIMESTAMP" ? "now" : ($value === false ? null : (isset($value) ? '' : 'NULL')))); + $function = ($_POST["save"] ? (string) $_POST["function"][$name] : ($where && $field["on_update"] == "CURRENT_TIMESTAMP" ? "now" : ($value === false ? null : (isset($value) ? '' : 'NULL')))); input($name, $field, $value, $function); if (isset($_GET["default"]) && $field["type"] == "timestamp") { if (!isset($create) && !$_POST) { diff --git a/adminer/include/functions.inc.php b/adminer/include/functions.inc.php index 9d909019..0d84836b 100644 --- a/adminer/include/functions.inc.php +++ b/adminer/include/functions.inc.php @@ -348,8 +348,6 @@ function process_input($name, $field) { return false; //! report errors } return "_binary" . $dbh->quote($file); - } elseif ($field["type"] == "timestamp" && $value == "CURRENT_TIMESTAMP") { - return $value; } elseif (ereg('^(now|uuid)$', $function)) { return "$function()"; } elseif (ereg('^[+-]$', $function)) { @@ -360,6 +358,8 @@ function process_input($name, $field) { return "$function(" . idf_escape($name) . ", " . $dbh->quote($value) . ")"; } elseif (ereg('^(md5|sha1|password)$', $function)) { return "$function(" . $dbh->quote($value) . ")"; + } elseif ($field["type"] == "timestamp" && $value == "CURRENT_TIMESTAMP") { + return $value; } else { return $dbh->quote($value); } diff --git a/changes.txt b/changes.txt index d1782af0..13420ba6 100644 --- a/changes.txt +++ b/changes.txt @@ -7,6 +7,7 @@ Create single column foreign key in table structure Separate types to groups in table creation Show type in field name title (thanks to Jakub Sochor) Preselect now() for timestamp columns (thanks to paranoiq) +Clear history (thanks to paranoiq) Faster multiple update, clone and delete Use HTML Strict instead of XHTML Fix grant ALL PRIVILEGES with GRANT OPTION diff --git a/todo.txt b/todo.txt index a89e816c..5f8f4602 100644 --- a/todo.txt +++ b/todo.txt @@ -13,6 +13,7 @@ Edit default values directly in table creation Offer enum and set items in search - whisperer Use event $intervals + microseconds in relative date functions Ability to select external style - list downloaded by JavaScript +Table list cache - SHOW TABLE STATUS is slow with big InnoDB tables ? Column and table names auto-completition in SQL textarea ? Save token also to cookie - for session expiration and login in other window ? Save uploaded files after error to session variable instead of hidden field