diff --git a/adminer/call.inc.php b/adminer/call.inc.php
index 77464ffa..f9871d53 100644
--- a/adminer/call.inc.php
+++ b/adminer/call.inc.php
@@ -55,7 +55,7 @@ if ($in) {
$field = $routine["fields"][$key];
echo "
" . h($field["field"]);
$value = $_POST["fields"][$key];
- if (strlen($value) && ($field["type"] == "enum" || $field["type"] == "set")) {
+ if (strlen($value) && ereg("enum|set", $field["type"])) {
$value = intval($value);
}
input($field, $value, (string) $_POST["function"][$name]); // param name can be empty
diff --git a/adminer/create.inc.php b/adminer/create.inc.php
index 15da283f..abd9efc8 100644
--- a/adminer/create.inc.php
+++ b/adminer/create.inc.php
@@ -101,7 +101,7 @@ page_header((strlen($TABLE) ? lang('Alter table') : lang('Create table')), $erro
$engines = array();
$result = $connection->query("SHOW ENGINES");
while ($row = $result->fetch_assoc()) {
- if ($row["Support"] == "YES" || $row["Support"] == "DEFAULT") {
+ if (ereg("YES|DEFAULT", $row["Support"])) {
$engines[] = $row["Engine"];
}
}
diff --git a/adminer/edit.inc.php b/adminer/edit.inc.php
index 23d39986..6aa40876 100644
--- a/adminer/edit.inc.php
+++ b/adminer/edit.inc.php
@@ -51,7 +51,7 @@ if ($_POST["save"]) {
$select = array();
foreach ($fields as $name => $field) {
if (isset($field["privileges"]["select"])) {
- $select[] = ($_POST["clone"] && $field["auto_increment"] ? "'' AS " : ($field["type"] == "enum" || $field["type"] == "set" ? "1*" . idf_escape($name) . " AS " : "")) . idf_escape($name);
+ $select[] = ($_POST["clone"] && $field["auto_increment"] ? "'' AS " : (ereg("enum|set", $field["type"]) ? "1*" . idf_escape($name) . " AS " : "")) . idf_escape($name);
}
}
$row = array();
@@ -71,7 +71,7 @@ if ($fields) {
echo " |
---|
" . $adminer->fieldName($field);
$default = $_GET["set"][bracket_escape($name)];
$value = (isset($row)
- ? (strlen($row[$name]) && ($field["type"] == "enum" || $field["type"] == "set") ? intval($row[$name]) : $row[$name])
+ ? (strlen($row[$name]) && ereg("enum|set", $field["type"]) ? intval($row[$name]) : $row[$name])
: ($_POST["clone"] && $field["auto_increment"] ? "" : (isset($_GET["select"]) ? false : (isset($default) ? $default : $field["default"])))
);
if (!$_POST["save"] && is_string($value)) {
diff --git a/adminer/include/functions.inc.php b/adminer/include/functions.inc.php
index 2b3fc3d1..1814c277 100644
--- a/adminer/include/functions.inc.php
+++ b/adminer/include/functions.inc.php
@@ -138,7 +138,7 @@ function get_vals($query, $column = 0) {
*/
function unique_idf($row, $indexes) {
foreach ($indexes as $index) {
- if ($index["type"] == "PRIMARY" || $index["type"] == "UNIQUE") {
+ if (ereg("PRIMARY|UNIQUE", $index["type"])) {
$return = array();
foreach ($index["columns"] as $key) {
if (!isset($row[$key])) { // NULL is ambiguous
|
---|