]> git.joonet.de Git - adminer.git/commitdiff
Move possible drivers and JUSH to Driver
authorJakub Vrana <jakub@vrana.cz>
Thu, 6 Mar 2025 13:27:58 +0000 (14:27 +0100)
committerJakub Vrana <jakub@vrana.cz>
Thu, 6 Mar 2025 13:27:58 +0000 (14:27 +0100)
14 files changed:
adminer/drivers/mongo.inc.php
adminer/drivers/mssql.inc.php
adminer/drivers/mysql.inc.php
adminer/drivers/oracle.inc.php
adminer/drivers/pgsql.inc.php
adminer/drivers/sqlite.inc.php
adminer/include/auth.inc.php
adminer/include/bootstrap.inc.php
adminer/include/driver.inc.php
plugins/drivers/clickhouse.php
plugins/drivers/elastic.php
plugins/drivers/elastic5.php
plugins/drivers/firebird.php
plugins/drivers/simpledb.php

index 7ef1ebc371f71206264b0bedf8fb7cd9aa643fba..e51a712f5e124050038199e96a2b99e4ad732b50 100644 (file)
@@ -279,6 +279,9 @@ if (isset($_GET["mongo"])) {
 
 
        class Driver extends SqlDriver {
+               static $possibleDrivers = array("mongodb");
+               static $jush = "mongo";
+
                var $editFunctions = array(array("json"));
 
                var $operators = array(
@@ -532,11 +535,4 @@ if (isset($_GET["mongo"])) {
                }
                return true;
        }
-
-       function driver_config() {
-               return array(
-                       'possible_drivers' => array("mongodb"),
-                       'jush' => "mongo",
-               );
-       }
 }
index fea55eceed4cd4af5afb91f5c1e8f52172f6481f..869ed24c6d645895f67a9cc1341766d18e6cd9c6 100644 (file)
@@ -186,6 +186,9 @@ if (isset($_GET["mssql"])) {
 
 
        class Driver extends SqlDriver {
+               static $possibleDrivers = array("SQLSRV", "PDO_SQLSRV", "PDO_DBLIB");
+               static $jush = "mssql";
+
                var $editFunctions = array(
                        array(
                                "date|time" => "getdate",
@@ -704,11 +707,4 @@ WHERE sys1.xtype = 'TR' AND sys2.name = " . q($table)) as $row
        function support($feature) {
                return preg_match('~^(check|comment|columns|database|drop_col|dump|indexes|descidx|scheme|sql|table|trigger|view|view_trigger)$~', $feature); //! routine|
        }
-
-       function driver_config() {
-               return array(
-                       'possible_drivers' => array("SQLSRV", "PDO_SQLSRV", "PDO_DBLIB"),
-                       'jush' => "mssql",
-               );
-       }
 }
index f5f6e045477192cdf9e4f1323d0238f88125cb17..a4336a19048a2100cec2533692468496608eb92a 100644 (file)
@@ -281,6 +281,9 @@ if (!defined("DRIVER")) {
 
 
        class Driver extends SqlDriver {
+               static $possibleDrivers = array("MySQLi", "MySQL", "PDO_MySQL");
+               static $jush = "sql"; ///< @var string JUSH identifier
+
                var $unsigned = array("unsigned", "zerofill", "unsigned zerofill");
                var $operators = array("=", "<", ">", "<=", ">=", "!=", "LIKE", "LIKE %%", "REGEXP", "IN", "FIND_IN_SET", "IS NULL", "NOT LIKE", "NOT REGEXP", "NOT IN", "IS NOT NULL", "SQL");
                var $functions = array("char_length", "date", "from_unixtime", "lower", "round", "floor", "ceil", "sec_to_time", "time_to_sec", "upper");
@@ -1196,14 +1199,4 @@ if (!defined("DRIVER")) {
                global $connection;
                return $connection->result("SELECT @@max_connections");
        }
-
-       /** Get driver config
-       * @return array ['possible_drivers' => , 'jush' => ]
-       */
-       function driver_config() {
-               return array(
-                       'possible_drivers' => array("MySQLi", "MySQL", "PDO_MySQL"),
-                       'jush' => "sql", ///< @var string JUSH identifier
-               );
-       }
 }
index 6a0d75f412bda6e8deb6259de7546903dababfc7..1a8dfaf0d9083170d00daf596e2673885d4a5ebc 100644 (file)
@@ -141,6 +141,9 @@ if (isset($_GET["oracle"])) {
 
 
        class Driver extends SqlDriver {
+               static $possibleDrivers = array("OCI8", "PDO_OCI");
+               static $jush = "oracle";
+
                var $editFunctions = array(
                        array( //! no parentheses
                                "date" => "current_date",
@@ -544,11 +547,4 @@ ORDER BY PROCESS
        function support($feature) {
                return preg_match('~^(columns|database|drop_col|indexes|descidx|processlist|scheme|sql|status|table|variables|view)$~', $feature); //!
        }
-
-       function driver_config() {
-               return array(
-                       'possible_drivers' => array("OCI8", "PDO_OCI"),
-                       'jush' => "oracle",
-               );
-       }
 }
index 1eaa1085b947e0a9bfe32598d1a681cf58b3d00b..15845b31a6068f993f6a32e237a3076bd09561f2 100644 (file)
@@ -196,6 +196,9 @@ if (isset($_GET["pgsql"])) {
 
 
        class Driver extends SqlDriver {
+               static $possibleDrivers = array("PgSQL", "PDO_PgSQL");
+               static $jush = "pgsql";
+
                var $operators = array("=", "<", ">", "<=", ">=", "!=", "~", "!~", "LIKE", "LIKE %%", "ILIKE", "ILIKE %%", "IN", "IS NULL", "NOT LIKE", "NOT IN", "IS NOT NULL"); // no "SQL" to avoid CSRF
                var $functions = array("char_length", "lower", "round", "to_hex", "to_timestamp", "upper");
                var $grouping = array("avg", "count", "count distinct", "max", "min", "sum");
@@ -935,11 +938,4 @@ AND typelem = 0"
                global $connection;
                return $connection->result("SHOW max_connections");
        }
-
-       function driver_config() {
-               return array(
-                       'possible_drivers' => array("PgSQL", "PDO_PgSQL"),
-                       'jush' => "pgsql",
-               );
-       }
 }
index 4b68374043c4728ddfa84a8f8b638cba265016c1..4e5083a8fec4dfa5207449f971e9d77065a342f7 100644 (file)
@@ -127,6 +127,9 @@ if (isset($_GET["sqlite"])) {
 
 
        class Driver extends SqlDriver {
+               static $possibleDrivers = array("SQLite3", "PDO_SQLite");
+               static $jush = "sqlite";
+
                protected $types = array(array("integer" => 0, "real" => 0, "numeric" => 0, "text" => 0, "blob" => 0));
 
                var $editFunctions = array(
@@ -737,11 +740,4 @@ if (isset($_GET["sqlite"])) {
        function support($feature) {
                return preg_match('~^(check|columns|database|drop_col|dump|indexes|descidx|move_col|sql|status|table|trigger|variables|view|view_trigger)$~', $feature);
        }
-
-       function driver_config() {
-               return array(
-                       'possible_drivers' => array("SQLite3", "PDO_SQLite"),
-                       'jush' => "sqlite",
-               );
-       }
 }
index b345c9fe36589e3b1a4a235944545aeb28836fc4..48602037eff0842d3c3220058508caa64f0fc90a 100644 (file)
@@ -150,7 +150,7 @@ function auth_error($error) {
 if (isset($_GET["username"]) && !class_exists('Adminer\Db')) {
        unset($_SESSION["pwds"][DRIVER]);
        unset_permanent();
-       page_header(lang('No extension'), lang('None of the supported PHP extensions (%s) are available.', implode(", ", $possible_drivers)), false);
+       page_header(lang('No extension'), lang('None of the supported PHP extensions (%s) are available.', implode(", ", Driver::$possibleDrivers)), false);
        page_footer("auth");
        exit;
 }
index 60e4d0b7cbd118c4274c0112c17744ad1ff144f4..8a23fe731ad1ecda12f72f95981ab637fe198286 100644 (file)
@@ -78,9 +78,7 @@ include "./include/adminer.inc.php";
 $adminer = (function_exists('adminer_object') ? adminer_object() : new Adminer);
 include "../adminer/drivers/mysql.inc.php"; // must be included as last driver
 
-$config = driver_config();
-$possible_drivers = $config['possible_drivers'];
-$jush = $config['jush'];
+$jush = Driver::$jush;
 
 define("SERVER", $_GET[DRIVER]); // read from pgsql=localhost
 define("DB", $_GET["db"]); // for the sake of speed and size
index fe51a22dec63dc1006285f64d3fffe30bf8a4f99..ad25c4447765fe4e6ce010eb894312b752e5c908 100644 (file)
@@ -23,6 +23,9 @@ function get_driver($id) {
 }
 
 abstract class SqlDriver {
+       static $possibleDrivers = array();
+       static $jush; ///< @var string JUSH identifier
+
        var $_conn;
        protected $types = array(); ///< @var array [$description => [$type => $maximum_unsigned_length, ...], ...]
        var $editFunctions = array(); ///< @var array of ["$type|$type2" => "$function/$function2"] functions used in editing, [0] - edit and insert, [1] - edit only
index b76bea52503d41f800283bf9e29a9ff57d458b62..e3fbd10cb62be039a582333722305a248b91c483 100644 (file)
@@ -131,6 +131,9 @@ if (isset($_GET["clickhouse"])) {
 
 
        class Driver extends SqlDriver {
+               static $possibleDrivers = array("allow_url_fopen");
+               static $jush = "clickhouse";
+
                var $operators = array("=", "<", ">", "<=", ">=", "!=", "~", "!~", "LIKE", "LIKE %%", "IN", "IS NULL", "NOT LIKE", "NOT IN", "IS NOT NULL", "SQL");
                var $grouping = array("avg", "count", "count distinct", "max", "min", "sum");
 
@@ -380,10 +383,4 @@ if (isset($_GET["clickhouse"])) {
        function support($feature) {
                return preg_match("~^(columns|sql|status|table|drop_col)$~", $feature);
        }
-
-       function driver_config() {
-               return array(
-                       'jush' => "clickhouse",
-               );
-       }
 }
index 0b20d63f85f8688053304f08e8c9f2bf502a235b..f2ee4987bca4c6ebdcdafb4b7fa39b908b195876 100644 (file)
@@ -122,6 +122,9 @@ if (isset($_GET["elastic"])) {
        }
 
        class Driver extends SqlDriver {
+               static $possibleDrivers = array("json + allow_url_fopen");
+               static $jush = "elastic";
+
                var $editFunctions = array(array("json"));
                var $operators = array("=", "must", "should", "must_not");
 
@@ -564,11 +567,4 @@ if (isset($_GET["elastic"])) {
        function last_id() {
                return connection()->last_id;
        }
-
-       function driver_config() {
-               return array(
-                       'possible_drivers' => array("json + allow_url_fopen"),
-                       'jush' => "elastic",
-               );
-       }
 }
index f204b7257cb8354366d568acbb003e4f8572cd72..89d317ce0a909913aabeec4f87a40f76235f8a1a 100644 (file)
@@ -113,6 +113,9 @@ if (isset($_GET["elastic5"])) {
        }
 
        class Driver extends SqlDriver {
+               static $possibleDrivers = array("json + allow_url_fopen");
+               static $jush = "elastic";
+
                var $editFunctions = array(array("json"));
                var $operators = array("=", "must", "should", "must_not");
 
@@ -530,11 +533,4 @@ if (isset($_GET["elastic5"])) {
        function last_id() {
                return connection()->last_id;
        }
-
-       function driver_config() {
-               return array(
-                       'possible_drivers' => array("json + allow_url_fopen"),
-                       'jush' => "elastic",
-               );
-       }
 }
index 6320fd3f1a7fd8988940eceec9466aa426229a17..404f009cf72b9369b8e027843e0e41ab3723c17f 100644 (file)
@@ -115,6 +115,9 @@ if (isset($_GET["firebird"])) {
 
 
        class Driver extends SqlDriver {
+               static $possibleDrivers = array("interbase");
+               static $jush = "firebird";
+
                var $operators = array("=");
        }
 
@@ -301,11 +304,4 @@ ORDER BY RDB$INDEX_SEGMENTS.RDB$FIELD_POSITION';
        function support($feature) {
                return preg_match("~^(columns|sql|status|table)$~", $feature);
        }
-
-       function driver_config() {
-               return array(
-                       'possible_drivers' => array("interbase"),
-                       'jush' => "firebird",
-               );
-       }
 }
index b04539ef67a56661b151970cc9e783c12698669b..d73c33bcfdf7348f10d25fbf6d993f9b519f0b63 100644 (file)
@@ -118,6 +118,9 @@ if (isset($_GET["simpledb"])) {
 
 
        class Driver extends SqlDriver {
+               static $possibleDrivers = array("SimpleXML + allow_url_fopen");
+               static $jush = "simpledb";
+
                var $operators = array("=", "<", ">", "<=", ">=", "!=", "LIKE", "LIKE %%", "IN", "IS NULL", "NOT LIKE", "IS NOT NULL");
                var $grouping = array("count");
 
@@ -465,11 +468,4 @@ if (isset($_GET["simpledb"])) {
                } while ($xml->NextToken);
                return $return;
        }
-
-       function driver_config() {
-               return array(
-                       'possible_drivers' => array("SimpleXML + allow_url_fopen"),
-                       'jush' => "simpledb",
-               );
-       }
 }