$user, 'password' => $password, 'database' => $database, ]; } function da_adminer_bootstrap_auth(array $auth): void { $user = isset($auth['user']) && is_string($auth['user']) ? trim($auth['user']) : ''; $password = isset($auth['password']) && is_string($auth['password']) ? $auth['password'] : ''; $database = isset($auth['database']) && is_string($auth['database']) ? trim($auth['database']) : ''; if ($user === '' || $password === '') { return; } $driver = 'pgsql'; $server = 'localhost'; $_GET[$driver] = $server; $_GET['username'] = $user; if ($database !== '' && (!isset($_GET['db']) || !is_string($_GET['db']) || $_GET['db'] === '')) { $_GET['db'] = $database; } if (!isset($_SESSION['pwds']) || !is_array($_SESSION['pwds'])) { $_SESSION['pwds'] = []; } $_SESSION['pwds'][$driver][$server][$user] = $password; if ($database !== '') { if (!isset($_SESSION['db']) || !is_array($_SESSION['db'])) { $_SESSION['db'] = []; } $_SESSION['db'][$driver][$server][$user][$database] = true; } } function adminer_object() { static $bootstrapped = false; if (!$bootstrapped) { $auth = da_adminer_sso_auth(); if ($auth !== null) { da_adminer_bootstrap_auth($auth); } $bootstrapped = true; } if (!class_exists('DirectAdminAdminerExtension', false)) { class DirectAdminAdminerExtension extends \Adminer\Adminer { public function credentials() { $auth = da_adminer_sso_auth(); if ($auth !== null) { return ['localhost', (string)$auth['user'], (string)$auth['password']]; } $username = isset($_GET['username']) && is_string($_GET['username']) ? $_GET['username'] : ''; $password = \Adminer\get_password(); if (!is_string($password)) { $password = ''; } return ['localhost', $username, $password]; } public function loginFormField($name, $heading, $value) { if ($name === 'driver') { return "\n"; } if ($name === 'server') { return "\n"; } return parent::loginFormField($name, $heading, $value); } } } return new DirectAdminAdminerExtension(); }