diff --git a/adminer/include/editing.inc.php b/adminer/include/editing.inc.php
index ff2382cb..4ef7067e 100644
--- a/adminer/include/editing.inc.php
+++ b/adminer/include/editing.inc.php
@@ -1,4 +1,6 @@
";
}
+/** Generate HTML "
+ : " size='10' value='" . h($value) . "' placeholder='$placeholder'>"
+ ) . ($onchange ? script("qsl('$tag').onchange = $onchange;", "") : ""); //! use oninput for input
+}
+
+/** Print one row in JSON object
+* @param string or "" to close the object
+* @param string
+* @return null
+*/
+function json_row($key, $val = null) {
+ static $first = true;
+ if ($first) {
+ echo "{";
+ }
+ if ($key != "") {
+ echo ($first ? "" : ",") . "\n\t\"" . addcslashes($key, "\r\n\t\"\\/") . '": ' . ($val !== null ? '"' . addcslashes($val, "\r\n\"\\/") . '"' : 'null');
+ $first = false;
+ } else {
+ echo "\n}\n";
+ $first = true;
+ }
+}
+
/** Print table columns for type edit
* @param string
* @param array
@@ -189,6 +226,22 @@ echo optionlist(array_merge($extra_types, $structured_types), $type);
echo ($foreign_keys ? " " : " "); // space for IE
}
+/** Get partition info
+* @param string
+* @return array
+*/
+function get_partitions_info($table) {
+ global $connection;
+ $from = "FROM information_schema.PARTITIONS WHERE TABLE_SCHEMA = " . q(DB) . " AND TABLE_NAME = " . q($table);
+ $result = $connection->query("SELECT PARTITION_METHOD, PARTITION_EXPRESSION, PARTITION_ORDINAL_POSITION $from ORDER BY PARTITION_ORDINAL_POSITION DESC LIMIT 1");
+ $return = array();
+ list($return["partition_by"], $return["partition"], $return["partitions"]) = $result->fetch_row();
+ $partitions = get_key_vals("SELECT PARTITION_NAME, PARTITION_DESCRIPTION $from AND PARTITION_NAME != '' ORDER BY PARTITION_ORDINAL_POSITION");
+ $return["partition_names"] = array_keys($partitions);
+ $return["partition_values"] = array_values($partitions);
+ return $return;
+}
+
/** Filter length value including enums
* @param string
* @return string
@@ -225,7 +278,6 @@ function process_field($field, $type_field) {
if ($field["on_update"]) {
$field["on_update"] = str_ireplace("current_timestamp()", "CURRENT_TIMESTAMP", $field["on_update"]);
}
-
return array(
idf_escape(trim($field["field"])),
process_type($type_field),
diff --git a/adminer/include/functions.inc.php b/adminer/include/functions.inc.php
index 90a3c7ea..9cb45133 100644
--- a/adminer/include/functions.inc.php
+++ b/adminer/include/functions.inc.php
@@ -1,4 +1,6 @@
or if $options are empty
-* @param string
-* @param array
-* @param string
-* @param string
-* @param string
-* @return string
-*/
-function select_input($attrs, $options, $value = "", $onchange = "", $placeholder = "") {
- $tag = ($options ? "select" : "input");
- return "<$tag$attrs" . ($options
- ? ">