- PostgreSQL: Support COPY FROM stdin in SQL query (bug #942)
- MySQL: Display number of found rows in group queries (regression from 5.1.1)
- non-MySQL: Parse '--' without trailing space as comment in SQL command (bug SF-842)
+- New plugin: Set up driver, server and database in Adminer Editor
## Adminer 5.1.1 (released 2025-04-02)
- Export: Fix tar (regression from 5.0.3)
- `adminer/index.php` - Run development version of Adminer
- `editor/index.php` - Run development version of Adminer Editor
- `editor/example.php` - Example customization
-- `adminer/sqlite.php` - Development version of Adminer with SQLite allowed
-- `editor/sqlite.php` - Development version of Editor with SQLite allowed
-- `adminer/designs.php` - Development version of Adminer with `adminer.css` switcher
- `compile.php` - Create a single file version
- `lang.php` - Update translations
- `tests/*.html` - Katalon Recorder test suites
--- /dev/null
+<?php
+
+/** Set up driver, server and database to use with Adminer Editor
+* @link https://www.adminer.org/plugins/#use
+* @author Jakub Vrana, https://www.vrana.cz/
+* @license https://www.apache.org/licenses/LICENSE-2.0 Apache License, Version 2.0
+* @license https://www.gnu.org/licenses/gpl-2.0.html GNU General Public License, version 2 (one or other)
+*/
+class AdminerEditorSetup {
+ private $driver;
+ private $server;
+ private $database;
+
+ /**
+ * @param string $driver 'server' is MySQL, 'pgsql' is PostgreSQL, ...
+ * @param string $server null means the default host, usually localhost
+ * @param string $database null is the first available database
+ */
+ function __construct($driver = 'server', $server = null, $database = null) {
+ $this->driver = $driver;
+ $this->server = $server;
+ $this->database = $database;
+ }
+
+ function loginFormField($name, $heading, $value) {
+ if ($name == 'username') {
+ return $heading . str_replace("value='server'", "value='$this->driver'", $value) . "\n";
+ }
+ }
+
+ function credentials() {
+ return array($this->server, $_GET["username"], Adminer\get_password());
+ }
+
+ function database() {
+ if ($this->database) {
+ return $this->database;
+ }
+ }
+}