class Driver extends SqlDriver {
+ static $possibleDrivers = array("mongodb");
+ static $jush = "mongo";
+
var $editFunctions = array(array("json"));
var $operators = array(
}
return true;
}
-
- function driver_config() {
- return array(
- 'possible_drivers' => array("mongodb"),
- 'jush' => "mongo",
- );
- }
}
class Driver extends SqlDriver {
+ static $possibleDrivers = array("SQLSRV", "PDO_SQLSRV", "PDO_DBLIB");
+ static $jush = "mssql";
+
var $editFunctions = array(
array(
"date|time" => "getdate",
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",
- );
- }
}
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");
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
- );
- }
}
class Driver extends SqlDriver {
+ static $possibleDrivers = array("OCI8", "PDO_OCI");
+ static $jush = "oracle";
+
var $editFunctions = array(
array( //! no parentheses
"date" => "current_date",
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",
- );
- }
}
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");
global $connection;
return $connection->result("SHOW max_connections");
}
-
- function driver_config() {
- return array(
- 'possible_drivers' => array("PgSQL", "PDO_PgSQL"),
- 'jush' => "pgsql",
- );
- }
}
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(
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",
- );
- }
}
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;
}
$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
}
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
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");
function support($feature) {
return preg_match("~^(columns|sql|status|table|drop_col)$~", $feature);
}
-
- function driver_config() {
- return array(
- 'jush' => "clickhouse",
- );
- }
}
}
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");
function last_id() {
return connection()->last_id;
}
-
- function driver_config() {
- return array(
- 'possible_drivers' => array("json + allow_url_fopen"),
- 'jush' => "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");
function last_id() {
return connection()->last_id;
}
-
- function driver_config() {
- return array(
- 'possible_drivers' => array("json + allow_url_fopen"),
- 'jush' => "elastic",
- );
- }
}
class Driver extends SqlDriver {
+ static $possibleDrivers = array("interbase");
+ static $jush = "firebird";
+
var $operators = array("=");
}
function support($feature) {
return preg_match("~^(columns|sql|status|table)$~", $feature);
}
-
- function driver_config() {
- return array(
- 'possible_drivers' => array("interbase"),
- 'jush' => "firebird",
- );
- }
}
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");
} while ($xml->NextToken);
return $return;
}
-
- function driver_config() {
- return array(
- 'possible_drivers' => array("SimpleXML + allow_url_fopen"),
- 'jush' => "simpledb",
- );
- }
}