]> git.joonet.de Git - adminer.git/commitdiff
Use min_version
authorJakub Vrana <jakub@vrana.cz>
Mon, 29 Jan 2018 18:49:52 +0000 (19:49 +0100)
committerJakub Vrana <jakub@vrana.cz>
Mon, 29 Jan 2018 19:54:24 +0000 (20:54 +0100)
adminer/create.inc.php
adminer/drivers/mysql.inc.php
adminer/drivers/pgsql.inc.php
adminer/include/editing.inc.php
adminer/include/functions.inc.php
adminer/user.inc.php

index b950771d225099f928a3992a0c7c0505eae80e98..1d881ffff0dc5cc12999869b8e1dd43c6dd5dfed 100644 (file)
@@ -191,7 +191,7 @@ edit_fields($row["fields"], $collations, "TABLE", $foreign_keys, $comments);
 <?php echo (support("comment")
        ? "<label><input type='checkbox' name='comments' value='1' class='jsonly'" . ($comments ? " checked" : "") . ">" . lang('Comment') . "</label>"
                . script("qsl('input').onclick = function () { columnShow(this.checked, 6); toggle('Comment'); if (this.checked) this.form['Comment'].focus(); };")
-               . ' <input name="Comment" id="Comment" value="' . h($row["Comment"]) . '" maxlength="' . ($connection->server_info >= 5.5 ? 2048 : 60) . '"' . ($comments ? '' : ' class="hidden"') . '>'
+               . ' <input name="Comment" id="Comment" value="' . h($row["Comment"]) . '" maxlength="' . (min_version(5.5) ? 2048 : 60) . '"' . ($comments ? '' : ' class="hidden"') . '>'
        : '')
 ; ?>
 <p>
index 4e9527319107a79df5f2e54274181e0a7b3a2c2a..4ed06b05e4b4e93880c58b9402ad4e2981258e8e 100644 (file)
@@ -325,11 +325,10 @@ if (!defined("DRIVER")) {
        * @return array
        */
        function get_databases($flush) {
-               global $connection;
                // SHOW DATABASES can take a very long time so it is cached
                $return = get_session("dbs");
                if ($return === null) {
-                       $query = ($connection->server_info >= 5
+                       $query = (min_version(5)
                                ? "SELECT SCHEMA_NAME FROM information_schema.SCHEMATA"
                                : "SHOW DATABASES"
                        ); // SHOW DATABASES can be disabled by skip_show_database
@@ -405,8 +404,7 @@ if (!defined("DRIVER")) {
        * @return array array($name => $type)
        */
        function tables_list() {
-               global $connection;
-               return get_key_vals($connection->server_info >= 5
+               return get_key_vals(min_version(5)
                        ? "SELECT TABLE_NAME, TABLE_TYPE FROM information_schema.TABLES WHERE TABLE_SCHEMA = DATABASE() ORDER BY TABLE_NAME"
                        : "SHOW TABLES"
                );
@@ -430,9 +428,8 @@ if (!defined("DRIVER")) {
        * @return array array($name => array("Name" => , "Engine" => , "Comment" => , "Oid" => , "Rows" => , "Collation" => , "Auto_increment" => , "Data_length" => , "Index_length" => , "Data_free" => )) or only inner array with $name
        */
        function table_status($name = "", $fast = false) {
-               global $connection;
                $return = array();
-               foreach (get_rows($fast && $connection->server_info >= 5
+               foreach (get_rows($fast && min_version(5)
                        ? "SELECT TABLE_NAME AS Name, ENGINE AS Engine, TABLE_COMMENT AS Comment FROM information_schema.TABLES WHERE TABLE_SCHEMA = DATABASE() " . ($name != "" ? "AND TABLE_NAME = " . q($name) : "ORDER BY Name")
                        : "SHOW TABLE STATUS" . ($name != "" ? " LIKE " . q(addcslashes($name, "%_\\")) : "")
                ) as $row) {
@@ -464,9 +461,8 @@ if (!defined("DRIVER")) {
        * @return bool
        */
        function fk_support($table_status) {
-               global $connection;
                return preg_match('~InnoDB|IBMDB2I~i', $table_status["Engine"])
-                       || (preg_match('~NDB~i', $table_status["Engine"]) && $connection->server_info >= 5.6);
+                       || (preg_match('~NDB~i', $table_status["Engine"]) && min_version(5.6));
        }
 
        /** Get information about fields
@@ -573,9 +569,8 @@ if (!defined("DRIVER")) {
        * @return bool
        */
        function information_schema($db) {
-               global $connection;
-               return ($connection->server_info >= 5 && $db == "information_schema")
-                       || ($connection->server_info >= 5.5 && $db == "performance_schema");
+               return (min_version(5) && $db == "information_schema")
+                       || (min_version(5.5) && $db == "performance_schema");
        }
 
        /** Get escaped error message
@@ -872,7 +867,7 @@ if (!defined("DRIVER")) {
        * @return Min_Result
        */
        function explain($connection, $query) {
-               return $connection->query("EXPLAIN " . ($connection->server_info >= 5.1 ? "PARTITIONS " : "") . $query);
+               return $connection->query("EXPLAIN " . (min_version(5.1) ? "PARTITIONS " : "") . $query);
        }
 
        /** Get approximate number of rows
@@ -982,7 +977,6 @@ if (!defined("DRIVER")) {
        * @return string
        */
        function convert_field($field) {
-               global $connection;
                if (preg_match("~binary~", $field["type"])) {
                        return "HEX(" . idf_escape($field["field"]) . ")";
                }
@@ -990,7 +984,7 @@ if (!defined("DRIVER")) {
                        return "BIN(" . idf_escape($field["field"]) . " + 0)"; // + 0 is required outside MySQLnd
                }
                if (preg_match("~geometry|point|linestring|polygon~", $field["type"])) {
-                       return ($connection->server_info >= 8 ? "ST_" : "") . "AsWKT(" . idf_escape($field["field"]) . ")";
+                       return (min_version(8) ? "ST_" : "") . "AsWKT(" . idf_escape($field["field"]) . ")";
                }
        }
 
@@ -1017,8 +1011,7 @@ if (!defined("DRIVER")) {
        * @return bool
        */
        function support($feature) {
-               global $connection;
-               return !preg_match("~scheme|sequence|type|view_trigger|materializedview" . ($connection->server_info < 5.1 ? "|event|partitioning" . ($connection->server_info < 5 ? "|routine|trigger|view" : "") : "") . "~", $feature);
+               return !preg_match("~scheme|sequence|type|view_trigger|materializedview" . (min_version(5.1) ? "" : "|event|partitioning" . (min_version(5) ? "" : "|routine|trigger|view")) . "~", $feature);
        }
 
        function kill_process($val) {
index 620a3446122820e75c01fdfd4d1a6c2c080b08a5..78c7183372e7594d7fb6f27b2d0871a160cf4933 100644 (file)
@@ -713,8 +713,7 @@ AND typelem = 0"
        }
 
        function process_list() {
-               global $connection;
-               return get_rows("SELECT * FROM pg_stat_activity ORDER BY " . ($connection->server_info < 9.2 ? "procpid" : "pid"));
+               return get_rows("SELECT * FROM pg_stat_activity ORDER BY " . (min_version(9.2) ? "pid" : "procpid"));
        }
 
        function show_status() {
@@ -728,8 +727,7 @@ AND typelem = 0"
        }
 
        function support($feature) {
-               global $connection;
-               return preg_match('~^(database|table|columns|sql|indexes|comment|view|' . ($connection->server_info >= 9.3 ? 'materializedview|' : '') . 'scheme|processlist|sequence|trigger|type|variables|drop_col|kill|dump)$~', $feature); //! routine|
+               return preg_match('~^(database|table|columns|sql|indexes|comment|view|' . (min_version(9.3) ? 'materializedview|' : '') . 'scheme|processlist|sequence|trigger|type|variables|drop_col|kill|dump)$~', $feature); //! routine|
        }
 
        function kill_process($val) {
index 94197287e824a64290e59db019ff42c10e39ee03..23a174d0951e310c1b86ebe45cf90c7584052533 100644 (file)
@@ -235,7 +235,7 @@ function type_class($type) {
 * @return null
 */
 function edit_fields($fields, $collations, $type = "TABLE", $foreign_keys = array(), $comments = false) {
-       global $connection, $inout;
+       global $inout;
        $fields = array_values($fields);
        ?>
 <thead><tr class="wrap">
@@ -274,7 +274,7 @@ function edit_fields($fields, $collations, $type = "TABLE", $foreign_keys = arra
 <td><?php echo checkbox("fields[$i][null]", 1, $field["null"], "", "", "block", "label-null"); ?>
 <td><label class="block"><input type="radio" name="auto_increment_col" value="<?php echo $i; ?>"<?php if ($field["auto_increment"]) { ?> checked<?php } ?> aria-labelledby="label-ai"><?php echo script("qsl('input').onclick = function () { var field = this.form['fields[' + this.value + '][field]']; if (!field.value) { field.value = 'id'; field.oninput(); } }"); ?></label><td><?php
 echo checkbox("fields[$i][has_default]", 1, $field["has_default"], "", "", "", "label-default"); ?><input name="fields[<?php echo $i; ?>][default]" value="<?php echo h($field["default"]); ?>" aria-labelledby="label-default"><?php echo script("qsl('input').oninput = function () { this.previousSibling.checked = true; }", ""); ?>
-<?php echo (support("comment") ? "<td" . ($comments ? "" : " class='hidden'") . "><input name='fields[$i][comment]' value='" . h($field["comment"]) . "' maxlength='" . ($connection->server_info >= 5.5 ? 1024 : 255) . "' aria-labelledby='label-comment'>" : ""); ?>
+<?php echo (support("comment") ? "<td" . ($comments ? "" : " class='hidden'") . "><input name='fields[$i][comment]' value='" . h($field["comment"]) . "' maxlength='" . (min_version(5.5) ? 1024 : 255) . "' aria-labelledby='label-comment'>" : ""); ?>
 <?php } ?>
 <?php
                echo "<td>";
index 2169582b4d6e54bff72dc88d57cfbf4679f45284..607a56e557fef634a29a97fa2c3e9cbc7d28ed1a 100644 (file)
@@ -93,7 +93,7 @@ function min_version($version, $maria_db = "") {
 * @return string
 */
 function charset($connection) {
-       return (version_compare($connection->server_info, "5.5.3") >= 0 ? "utf8mb4" : "utf8"); // SHOW CHARSET would require an extra query
+       return (min_version("5.5.3") ? "utf8mb4" : "utf8"); // SHOW CHARSET would require an extra query
 }
 
 /** Return <script> element
@@ -906,7 +906,7 @@ function enum_input($type, $attrs, $field, $value, $empty = null) {
 * @return null
 */
 function input($field, $value, $function) {
-       global $connection, $types, $adminer, $jush;
+       global $types, $adminer, $jush;
        $name = h(bracket_escape($field["field"]));
        echo "<td class='function'>";
        if (is_array($value) && !$function) {
@@ -961,7 +961,7 @@ function input($field, $value, $function) {
                } else {
                        // int(3) is only a display hint
                        $maxlength = (!preg_match('~int~', $field["type"]) && preg_match('~^(\\d+)(,(\\d+))?$~', $field["length"], $match) ? ((preg_match("~binary~", $field["type"]) ? 2 : 1) * $match[1] + ($match[3] ? 1 : 0) + ($match[2] && !$field["unsigned"] ? 1 : 0)) : ($types[$field["type"]] ? $types[$field["type"]] + ($field["unsigned"] ? 0 : 1) : 0));
-                       if ($jush == 'sql' && $connection->server_info >= 5.6 && preg_match('~time~', $field["type"])) {
+                       if ($jush == 'sql' && min_version(5.6) && preg_match('~time~', $field["type"])) {
                                $maxlength += 7; // microtime
                        }
                        // type='date' and type='time' display localized value which may be confusing, type='datetime' uses 'T' as date and time separator
index 176e307fd1946d37643c8aaba8b29243b9ff1407..97dff632496b0ab629fcaed392913d7ac09b5dcf 100644 (file)
@@ -61,7 +61,7 @@ if ($_POST && !$error) {
                $created = false;
                if (!$error) {
                        if ($old_user != $new_user) {
-                               $created = queries(($connection->server_info < 5 ? "GRANT USAGE ON *.* TO" : "CREATE USER") . " $new_user IDENTIFIED BY PASSWORD " . q($pass));
+                               $created = queries((min_version(5) ? "CREATE USER" : "GRANT USAGE ON *.* TO") . " $new_user IDENTIFIED BY PASSWORD " . q($pass));
                                $error = !$created;
                        } elseif ($pass != $old_pass) {
                                queries("SET PASSWORD FOR $new_user = " . q($pass));