driver)) { $externals->driver = 'server'; } if (isset($_POST['auth'])) { $_POST['auth']['driver'] = $externals->driver; $_POST['auth']['server'] = $_POST['auth']['username'] = $_POST['auth']['password'] = ''; } $this->externals = $externals; } function name() { return empty($this->externals->app_name) ? null : $this->externals->app_name; } function credentials() { if (empty($this->externals->authenticated)) { # always check external stat rather than relying on adminer's session login auth_error( empty($this->externals->expired_html) ? 'External authentication expired.' : $this->externals->expired_html ); return false; } return [ $this->externals->server, $this->externals->username, $this->externals->password, ]; } function database() { return empty($this->externals->database) ? null : $this->externals->database; } function loginForm() { if (empty($this->externals->authenticated)) { if (empty($this->externals->failure_html)) { echo '

You must first log in to the system that grants access to this tool.

'; } else { echo $this->externals->failure_html; } return false; } if (empty($this->externals->manual_login)) { echo script( <<database()); return << EOHTML; case 'driver': if (function_exists('get_driver')) { $value = h($this->externals->driver); $driver = h(get_driver($this->externals->driver)) ?: 'Unknown'; return <<$driver EOHTML; } $value = ' value="' . h($this->externals->driver) . '"'; # don't break case 'server': case 'username': case 'password': return << EOHTML; } } function login($login, $password) { return !empty($this->externals->authenticated); } }