mirror of
https://github.com/vrana/adminer.git
synced 2025-08-09 16:17:48 +02:00
Notices: Store maria into a declared variable
This commit is contained in:
@@ -13,7 +13,7 @@ if (isset($_GET["mssql"])) {
|
|||||||
define('Adminer\DRIVER', "mssql");
|
define('Adminer\DRIVER', "mssql");
|
||||||
if (extension_loaded("sqlsrv") && $_GET["ext"] != "pdo") {
|
if (extension_loaded("sqlsrv") && $_GET["ext"] != "pdo") {
|
||||||
class Db {
|
class Db {
|
||||||
public $extension = "sqlsrv", $server_info, $affected_rows, $errno, $error;
|
public $extension = "sqlsrv", $flavor = '', $server_info, $affected_rows, $errno, $error;
|
||||||
private $link, $result;
|
private $link, $result;
|
||||||
|
|
||||||
private function get_error() {
|
private function get_error() {
|
||||||
|
@@ -8,7 +8,7 @@ if (!defined('Adminer\DRIVER')) {
|
|||||||
// MySQLi supports everything, MySQL doesn't support multiple result sets, PDO_MySQL doesn't support orgtable
|
// MySQLi supports everything, MySQL doesn't support multiple result sets, PDO_MySQL doesn't support orgtable
|
||||||
if (extension_loaded("mysqli") && $_GET["ext"] != "pdo") {
|
if (extension_loaded("mysqli") && $_GET["ext"] != "pdo") {
|
||||||
class Db extends \MySQLi {
|
class Db extends \MySQLi {
|
||||||
public $extension = "MySQLi";
|
public $extension = "MySQLi", $flavor = '';
|
||||||
|
|
||||||
function __construct() {
|
function __construct() {
|
||||||
parent::init();
|
parent::init();
|
||||||
@@ -63,6 +63,7 @@ if (!defined('Adminer\DRIVER')) {
|
|||||||
class Db {
|
class Db {
|
||||||
public
|
public
|
||||||
$extension = "MySQL", ///< @var string extension name
|
$extension = "MySQL", ///< @var string extension name
|
||||||
|
$flavor = '', ///< @var string different vendor with the same API, e.g. MariaDB, usually stays empty
|
||||||
$server_info, ///< @var string server version
|
$server_info, ///< @var string server version
|
||||||
$affected_rows, ///< @var int number of affected rows
|
$affected_rows, ///< @var int number of affected rows
|
||||||
$errno, ///< @var int last error code
|
$errno, ///< @var int last error code
|
||||||
@@ -369,7 +370,7 @@ if (!defined('Adminer\DRIVER')) {
|
|||||||
|
|
||||||
function slowQuery($query, $timeout) {
|
function slowQuery($query, $timeout) {
|
||||||
if (min_version('5.7.8', '10.1.2')) {
|
if (min_version('5.7.8', '10.1.2')) {
|
||||||
if ($this->conn->maria) {
|
if ($this->conn->flavor == 'maria') {
|
||||||
return "SET STATEMENT max_statement_time=$timeout FOR $query";
|
return "SET STATEMENT max_statement_time=$timeout FOR $query";
|
||||||
} elseif (preg_match('~^(SELECT\b)(.+)~is', $query, $match)) {
|
} elseif (preg_match('~^(SELECT\b)(.+)~is', $query, $match)) {
|
||||||
return "$match[1] /*+ MAX_EXECUTION_TIME(" . ($timeout * 1000) . ") */ $match[2]";
|
return "$match[1] /*+ MAX_EXECUTION_TIME(" . ($timeout * 1000) . ") */ $match[2]";
|
||||||
@@ -394,7 +395,7 @@ if (!defined('Adminer\DRIVER')) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function tableHelp($name, $is_view = false) {
|
function tableHelp($name, $is_view = false) {
|
||||||
$maria = $this->conn->maria;
|
$maria = ($this->conn->flavor == 'maria');
|
||||||
if (information_schema(DB)) {
|
if (information_schema(DB)) {
|
||||||
return strtolower("information-schema-" . ($maria ? "$name-table/" : str_replace("_", "-", $name) . "-table.html"));
|
return strtolower("information-schema-" . ($maria ? "$name-table/" : str_replace("_", "-", $name) . "-table.html"));
|
||||||
}
|
}
|
||||||
@@ -451,8 +452,8 @@ if (!defined('Adminer\DRIVER')) {
|
|||||||
if ($connection->connect($credentials[0], $credentials[1], $credentials[2])) {
|
if ($connection->connect($credentials[0], $credentials[1], $credentials[2])) {
|
||||||
$connection->set_charset(charset($connection));
|
$connection->set_charset(charset($connection));
|
||||||
$connection->query("SET sql_quote_show_create = 1, autocommit = 1");
|
$connection->query("SET sql_quote_show_create = 1, autocommit = 1");
|
||||||
$connection->maria = preg_match('~MariaDB~', $connection->server_info);
|
$connection->flavor = (preg_match('~MariaDB~', $connection->server_info) ? 'maria' : '');
|
||||||
$drivers[DRIVER] = ($connection->maria ? "MariaDB" : "MySQL");
|
$drivers[DRIVER] = ($connection->flavor == 'maria' ? "MariaDB" : "MySQL");
|
||||||
return $connection;
|
return $connection;
|
||||||
}
|
}
|
||||||
$return = $connection->error;
|
$return = $connection->error;
|
||||||
@@ -599,7 +600,7 @@ if (!defined('Adminer\DRIVER')) {
|
|||||||
*/
|
*/
|
||||||
function fields($table) {
|
function fields($table) {
|
||||||
global $connection;
|
global $connection;
|
||||||
$maria = $connection->maria;
|
$maria = ($connection->flavor == 'maria');
|
||||||
$return = array();
|
$return = array();
|
||||||
foreach (get_rows("SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = " . q($table) . " ORDER BY ORDINAL_POSITION") as $row) {
|
foreach (get_rows("SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = " . q($table) . " ORDER BY ORDINAL_POSITION") as $row) {
|
||||||
$field = $row["COLUMN_NAME"];
|
$field = $row["COLUMN_NAME"];
|
||||||
@@ -824,7 +825,7 @@ if (!defined('Adminer\DRIVER')) {
|
|||||||
$default = $field[1][3];
|
$default = $field[1][3];
|
||||||
if (preg_match('~ GENERATED~', $default)) {
|
if (preg_match('~ GENERATED~', $default)) {
|
||||||
// swap default and null
|
// swap default and null
|
||||||
$field[1][3] = ($connection->maria ? "" : $field[1][2]); // MariaDB doesn't support NULL on virtual columns
|
$field[1][3] = ($connection->flavor == 'maria' ? "" : $field[1][2]); // MariaDB doesn't support NULL on virtual columns
|
||||||
$field[1][2] = $default;
|
$field[1][2] = $default;
|
||||||
}
|
}
|
||||||
$alter[] = ($table != "" ? ($field[0] != "" ? "CHANGE " . idf_escape($field[0]) : "ADD") : " ") . " " . implode($field[1]) . ($table != "" ? $field[2] : "");
|
$alter[] = ($table != "" ? ($field[0] != "" ? "CHANGE " . idf_escape($field[0]) : "ADD") : " ") . " " . implode($field[1]) . ($table != "" ? $field[2] : "");
|
||||||
|
@@ -7,7 +7,7 @@ if (isset($_GET["oracle"])) {
|
|||||||
define('Adminer\DRIVER', "oracle");
|
define('Adminer\DRIVER', "oracle");
|
||||||
if (extension_loaded("oci8") && $_GET["ext"] != "pdo") {
|
if (extension_loaded("oci8") && $_GET["ext"] != "pdo") {
|
||||||
class Db {
|
class Db {
|
||||||
public $extension = "oci8", $server_info, $affected_rows, $errno, $error;
|
public $extension = "oci8", $flavor = '', $server_info, $affected_rows, $errno, $error;
|
||||||
public $_current_db;
|
public $_current_db;
|
||||||
private $link, $result;
|
private $link, $result;
|
||||||
|
|
||||||
|
@@ -7,7 +7,7 @@ if (isset($_GET["pgsql"])) {
|
|||||||
define('Adminer\DRIVER', "pgsql");
|
define('Adminer\DRIVER', "pgsql");
|
||||||
if (extension_loaded("pgsql") && $_GET["ext"] != "pdo") {
|
if (extension_loaded("pgsql") && $_GET["ext"] != "pdo") {
|
||||||
class Db {
|
class Db {
|
||||||
public $extension = "PgSQL", $server_info, $affected_rows, $error, $timeout;
|
public $extension = "PgSQL", $flavor = '', $server_info, $affected_rows, $error, $timeout;
|
||||||
private $link, $result, $string, $database = true;
|
private $link, $result, $string, $database = true;
|
||||||
|
|
||||||
function _error($errno, $error) {
|
function _error($errno, $error) {
|
||||||
@@ -333,9 +333,9 @@ if (isset($_GET["pgsql"])) {
|
|||||||
$connection->query("SET application_name = 'Adminer'");
|
$connection->query("SET application_name = 'Adminer'");
|
||||||
}
|
}
|
||||||
$version = $connection->result("SELECT version()");
|
$version = $connection->result("SELECT version()");
|
||||||
$connection->cockroach = preg_match('~CockroachDB~', $version);
|
$connection->flavor = (preg_match('~CockroachDB~', $version) ? 'cockroach' : '');
|
||||||
$connection->server_info = preg_replace('~^\D*([\d.]+[-\w]*).*~', '\1', $version);
|
$connection->server_info = preg_replace('~^\D*([\d.]+[-\w]*).*~', '\1', $version);
|
||||||
if ($connection->cockroach) { // we don't use "PostgreSQL / CockroachDB" by default because it's too long
|
if ($connection->flavor == 'cockroach') { // we don't use "PostgreSQL / CockroachDB" by default because it's too long
|
||||||
$drivers[DRIVER] = "CockroachDB";
|
$drivers[DRIVER] = "CockroachDB";
|
||||||
}
|
}
|
||||||
return $connection;
|
return $connection;
|
||||||
@@ -962,7 +962,7 @@ AND typelem = 0"
|
|||||||
function support($feature) {
|
function support($feature) {
|
||||||
global $connection;
|
global $connection;
|
||||||
return preg_match('~^(check|database|table|columns|sql|indexes|descidx|comment|view|' . (min_version(9.3) ? 'materializedview|' : '') . 'scheme|' . (min_version(11) ? 'procedure|' : '') . 'routine|sequence|trigger|type|variables|drop_col'
|
return preg_match('~^(check|database|table|columns|sql|indexes|descidx|comment|view|' . (min_version(9.3) ? 'materializedview|' : '') . 'scheme|' . (min_version(11) ? 'procedure|' : '') . 'routine|sequence|trigger|type|variables|drop_col'
|
||||||
. ($connection->cockroach ? '' : '|processlist') // https://github.com/cockroachdb/cockroach/issues/24745
|
. ($connection->flavor == 'cockroach' ? '' : '|processlist') // https://github.com/cockroachdb/cockroach/issues/24745
|
||||||
. '|kill|dump)$~', $feature)
|
. '|kill|dump)$~', $feature)
|
||||||
;
|
;
|
||||||
}
|
}
|
||||||
|
@@ -100,6 +100,7 @@ if (isset($_GET["sqlite"])) {
|
|||||||
|
|
||||||
if (class_exists('Adminer\SqliteDb')) {
|
if (class_exists('Adminer\SqliteDb')) {
|
||||||
class Db extends SqliteDb {
|
class Db extends SqliteDb {
|
||||||
|
public $flavor = '';
|
||||||
|
|
||||||
function __construct() {
|
function __construct() {
|
||||||
parent::__construct(":memory:");
|
parent::__construct(":memory:");
|
||||||
|
@@ -1076,7 +1076,7 @@ class Adminer {
|
|||||||
echo "</script>\n";
|
echo "</script>\n";
|
||||||
}
|
}
|
||||||
echo script("syntaxHighlighting('" . (is_object($connection) ? preg_replace('~^(\d\.?\d).*~s', '\1', $connection->server_info) : "") . "'"
|
echo script("syntaxHighlighting('" . (is_object($connection) ? preg_replace('~^(\d\.?\d).*~s', '\1', $connection->server_info) : "") . "'"
|
||||||
. ($connection->maria ? ", 'maria'" : ($connection->cockroach ? ", 'cockroach'" : "")) . ");"
|
. ($connection->flavor == 'maria' ? ", 'maria'" : ($connection->flavor == 'cockroach' ? ", 'cockroach'" : "")) . ");"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -187,7 +187,7 @@ if (isset($_GET["username"]) && is_string(get_password())) {
|
|||||||
if ($adminer->operators === null) {
|
if ($adminer->operators === null) {
|
||||||
$adminer->operators = $driver->operators;
|
$adminer->operators = $driver->operators;
|
||||||
}
|
}
|
||||||
if (isset($connection->maria) || $connection->cockroach) {
|
if (Driver::$jush == 'sql' || $connection->flavor == 'cockroach') {
|
||||||
save_settings(array("vendor-" . DRIVER . "-" . SERVER => $drivers[DRIVER]));
|
save_settings(array("vendor-" . DRIVER . "-" . SERVER => $drivers[DRIVER]));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -596,11 +596,11 @@ function doc_link($paths, $text = "<sup>?</sup>") {
|
|||||||
$urls = array(
|
$urls = array(
|
||||||
'sql' => "https://dev.mysql.com/doc/refman/$version/en/",
|
'sql' => "https://dev.mysql.com/doc/refman/$version/en/",
|
||||||
'sqlite' => "https://www.sqlite.org/",
|
'sqlite' => "https://www.sqlite.org/",
|
||||||
'pgsql' => "https://www.postgresql.org/docs/" . ($connection->cockroach ? "current" : $version) . "/",
|
'pgsql' => "https://www.postgresql.org/docs/" . ($connection->flavor == 'cockroach' ? "current" : $version) . "/",
|
||||||
'mssql' => "https://learn.microsoft.com/en-us/sql/",
|
'mssql' => "https://learn.microsoft.com/en-us/sql/",
|
||||||
'oracle' => "https://www.oracle.com/pls/topic/lookup?ctx=db" . preg_replace('~^.* (\d+)\.(\d+)\.\d+\.\d+\.\d+.*~s', '\1\2', $server_info) . "&id=",
|
'oracle' => "https://www.oracle.com/pls/topic/lookup?ctx=db" . preg_replace('~^.* (\d+)\.(\d+)\.\d+\.\d+\.\d+.*~s', '\1\2', $server_info) . "&id=",
|
||||||
);
|
);
|
||||||
if ($connection->maria) {
|
if ($connection->flavor == 'maria') {
|
||||||
$urls['sql'] = "https://mariadb.com/kb/en/";
|
$urls['sql'] = "https://mariadb.com/kb/en/";
|
||||||
$paths['sql'] = (isset($paths['mariadb']) ? $paths['mariadb'] : str_replace(".html", "/", $paths['sql']));
|
$paths['sql'] = (isset($paths['mariadb']) ? $paths['mariadb'] : str_replace(".html", "/", $paths['sql']));
|
||||||
}
|
}
|
||||||
|
@@ -4,7 +4,7 @@ namespace Adminer;
|
|||||||
// PDO can be used in several database drivers
|
// PDO can be used in several database drivers
|
||||||
if (extension_loaded('pdo')) {
|
if (extension_loaded('pdo')) {
|
||||||
abstract class PdoDb {
|
abstract class PdoDb {
|
||||||
public $server_info, $affected_rows, $errno, $error;
|
public $flavor = '', $server_info, $affected_rows, $errno, $error;
|
||||||
protected $pdo;
|
protected $pdo;
|
||||||
private $result;
|
private $result;
|
||||||
|
|
||||||
|
@@ -44,7 +44,7 @@ function getCmMode(el) {
|
|||||||
if (match) {
|
if (match) {
|
||||||
const modes = {
|
const modes = {
|
||||||
js: 'application/json',
|
js: 'application/json',
|
||||||
sql: 'text/x-<?php echo ($connection->maria ? "mariadb" : "mysql"); ?>',
|
sql: 'text/x-<?php echo ($connection->flavor == "maria" ? "mariadb" : "mysql"); ?>',
|
||||||
oracle: 'text/x-sql',
|
oracle: 'text/x-sql',
|
||||||
clickhouse: 'text/x-sql',
|
clickhouse: 'text/x-sql',
|
||||||
firebird: 'text/x-sql'
|
firebird: 'text/x-sql'
|
||||||
|
@@ -8,7 +8,7 @@ if (isset($_GET["clickhouse"])) {
|
|||||||
|
|
||||||
if (ini_bool('allow_url_fopen')) {
|
if (ini_bool('allow_url_fopen')) {
|
||||||
class Db {
|
class Db {
|
||||||
public $extension = "JSON", $server_info, $errno, $error;
|
public $extension = "JSON", $flavor = '', $server_info, $errno, $error;
|
||||||
public $_db = 'default';
|
public $_db = 'default';
|
||||||
private $result, $url;
|
private $result, $url;
|
||||||
|
|
||||||
|
@@ -9,7 +9,7 @@ if (isset($_GET["elastic"])) {
|
|||||||
if (ini_bool('allow_url_fopen')) {
|
if (ini_bool('allow_url_fopen')) {
|
||||||
|
|
||||||
class Db {
|
class Db {
|
||||||
public $extension = "JSON", $server_info, $errno, $error;
|
public $extension = "JSON", $flavor = '', $server_info, $errno, $error;
|
||||||
private $url;
|
private $url;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -14,6 +14,7 @@ if (isset($_GET["firebird"])) {
|
|||||||
class Db {
|
class Db {
|
||||||
public
|
public
|
||||||
$extension = "Firebird",
|
$extension = "Firebird",
|
||||||
|
$flavor = '',
|
||||||
$server_info,
|
$server_info,
|
||||||
$affected_rows,
|
$affected_rows,
|
||||||
$errno,
|
$errno,
|
||||||
|
@@ -20,6 +20,7 @@ if (isset($_GET["imap"])) {
|
|||||||
if (extension_loaded("imap")) {
|
if (extension_loaded("imap")) {
|
||||||
class Db {
|
class Db {
|
||||||
public $extension = "IMAP";
|
public $extension = "IMAP";
|
||||||
|
public $flavor = '';
|
||||||
public $error;
|
public $error;
|
||||||
public $server_info = "?"; // imap_mailboxmsginfo() or imap_check() don't return anything useful
|
public $server_info = "?"; // imap_mailboxmsginfo() or imap_check() don't return anything useful
|
||||||
private $mailbox;
|
private $mailbox;
|
||||||
|
@@ -8,7 +8,7 @@ if (isset($_GET["mongo"])) {
|
|||||||
|
|
||||||
if (class_exists('MongoDB\Driver\Manager')) {
|
if (class_exists('MongoDB\Driver\Manager')) {
|
||||||
class Db {
|
class Db {
|
||||||
public $extension = "MongoDB", $server_info = MONGODB_VERSION, $affected_rows, $error, $last_id;
|
public $extension = "MongoDB", $flavor = '', $server_info = MONGODB_VERSION, $affected_rows, $error, $last_id;
|
||||||
/** @var MongoDB\Driver\Manager */
|
/** @var MongoDB\Driver\Manager */
|
||||||
public $_link;
|
public $_link;
|
||||||
public $_db, $_db_name;
|
public $_db, $_db_name;
|
||||||
|
@@ -8,7 +8,7 @@ if (isset($_GET["simpledb"])) {
|
|||||||
|
|
||||||
if (class_exists('SimpleXMLElement') && ini_bool('allow_url_fopen')) {
|
if (class_exists('SimpleXMLElement') && ini_bool('allow_url_fopen')) {
|
||||||
class Db {
|
class Db {
|
||||||
public $extension = "SimpleXML", $server_info = '2009-04-15', $error, $timeout, $next, $affected_rows;
|
public $extension = "SimpleXML", $flavor = '', $server_info = '2009-04-15', $error, $timeout, $next, $affected_rows;
|
||||||
private $result;
|
private $result;
|
||||||
|
|
||||||
function select_db($database) {
|
function select_db($database) {
|
||||||
|
Reference in New Issue
Block a user