From c169c55d706d0ab306d1f321e5345bd0d780057a Mon Sep 17 00:00:00 2001 From: Jakub Vrana Date: Tue, 25 Mar 2025 07:27:11 +0100 Subject: [PATCH] Call Plugins from Adminer class --- adminer/include/adminer.inc.php | 37 ++++++++++++++++--------------- editor/include/adminer.inc.php | 39 +++++++++++++++++++-------------- 2 files changed, 41 insertions(+), 35 deletions(-) diff --git a/adminer/include/adminer.inc.php b/adminer/include/adminer.inc.php index 3aa970ba..ef6989ab 100644 --- a/adminer/include/adminer.inc.php +++ b/adminer/include/adminer.inc.php @@ -111,15 +111,15 @@ class Adminer { /** Print login form */ function loginForm(): void { - global $drivers; + global $drivers, $adminer; echo "\n"; // this is matched by compile.php - echo $this->loginFormField('driver', '
' . lang('System') . '', html_select("auth[driver]", $drivers, DRIVER, "loginDriver(this);")); - echo $this->loginFormField('server', '
' . lang('Server') . '', ''); + echo $adminer->loginFormField('driver', '
' . lang('System') . '', html_select("auth[driver]", $drivers, DRIVER, "loginDriver(this);")); + echo $adminer->loginFormField('server', '
' . lang('Server') . '', ''); // this is matched by compile.php - echo $this->loginFormField('username', '
' . lang('Username') . '', '' . script("qs('#username').form['auth[driver]'].onchange();")); - echo $this->loginFormField('password', '
' . lang('Password') . '', ''); - echo $this->loginFormField('db', '
' . lang('Database') . '', ''); + echo $adminer->loginFormField('username', '
' . lang('Username') . '', '' . script("qs('#username').form['auth[driver]'].onchange();")); + echo $adminer->loginFormField('password', '
' . lang('Password') . '', ''); + echo $adminer->loginFormField('db', '
' . lang('Database') . '', ''); echo "
\n"; echo "

\n"; echo checkbox("auth[permanent]", 1, $_COOKIE["adminer_permanent"], lang('Permanent login')) . "\n"; @@ -519,7 +519,7 @@ class Adminer { * @return list expressions to join by AND */ function selectSearchProcess(array $fields, array $indexes): array { - global $connection, $driver; + global $connection, $driver, $adminer; $return = array(); foreach ($indexes as $i => $index) { if ($index["type"] == "FULLTEXT" && $_GET["fulltext"][$i] != "") { @@ -536,14 +536,14 @@ class Adminer { } elseif ($val["op"] == "SQL") { $cond = " $val[val]"; // SQL injection } elseif ($val["op"] == "LIKE %%") { - $cond = " LIKE " . $this->processInput($fields[$val["col"]], "%$val[val]%"); + $cond = " LIKE " . $adminer->processInput($fields[$val["col"]], "%$val[val]%"); } elseif ($val["op"] == "ILIKE %%") { - $cond = " ILIKE " . $this->processInput($fields[$val["col"]], "%$val[val]%"); + $cond = " ILIKE " . $adminer->processInput($fields[$val["col"]], "%$val[val]%"); } elseif ($val["op"] == "FIND_IN_SET") { $prefix = "$val[op](" . q($val["val"]) . ", "; $cond = ")"; } elseif (!preg_match('~NULL$~', $val["op"])) { - $cond .= " " . $this->processInput($fields[$val["col"]], $val["val"]); + $cond .= " " . $adminer->processInput($fields[$val["col"]], $val["val"]); } if ($val["col"] != "") { $return[] = $prefix . $driver->convertSearch(idf_escape($val["col"]), $val, $fields[$val["col"]]) . $cond; @@ -938,8 +938,8 @@ class Adminer { * @param string $missing can be "auth" if there is no database connection, "db" if there is no database selected, "ns" with invalid schema */ function navigation(string $missing): void { - global $VERSION, $drivers, $connection; - echo "

" . $this->name() . " $VERSION"; + global $VERSION, $drivers, $connection, $adminer; + echo "

" . $adminer->name() . " $VERSION"; $new_version = $_COOKIE["adminer_version"]; echo " " . (version_compare($VERSION, $new_version) < 0 ? h($new_version) : "") . ""; echo "

\n"; @@ -954,7 +954,7 @@ class Adminer { if ($password !== null) { $dbs = $_SESSION["db"][$vendor][$server][$username]; foreach (($dbs ? array_keys($dbs) : array("")) as $db) { - $output .= "
  • ($name) " . h($username . ($server != "" ? "@" . $this->serverName($server) : "") . ($db != "" ? " - $db" : "")) . "\n"; + $output .= "
  • ($name) " . h($username . ($server != "" ? "@" . $adminer->serverName($server) : "") . ($db != "" ? " - $db" : "")) . "\n"; } } } @@ -969,8 +969,8 @@ class Adminer { $connection->select_db(DB); $tables = table_status('', true); } - $this->syntaxHighlighting($tables); - $this->databasesPrint($missing); + $adminer->syntaxHighlighting($tables); + $adminer->databasesPrint($missing); $actions = array(); if (DB == "" || !$missing) { if (support("sql")) { @@ -986,7 +986,7 @@ class Adminer { echo ($actions ? "

    " . lang('No tables.') . "

    \n"; } @@ -1027,7 +1027,7 @@ class Adminer { /** Print databases list in menu */ function databasesPrint(string $missing): void { global $adminer, $connection; - $databases = $this->databases(); + $databases = $adminer->databases(); if (DB && $databases && !in_array(DB, $databases)) { array_unshift($databases, DB); } @@ -1060,9 +1060,10 @@ class Adminer { * @param TableStatus[] $tables result of table_status('', true) */ function tablesPrint(array $tables): void { + global $adminer; echo "