+Adminer 4.15.0-dev:
+Don't allow path in HTTP servers
+Hide error message from HTTP servers
+
Adminer 4.14.0:
Use autofocus HTML attribute
PostgreSQL: Fix initial value of exported autoincrement
var $_db = 'default';
function rootQuery($db, $query) {
- @ini_set('track_errors', 1); // @ - may be disabled
$file = @file_get_contents("$this->_url/?database=$db", false, stream_context_create(array('http' => array(
'method' => 'POST',
'content' => $this->isQuerySelectLike($query) ? "$query FORMAT JSONCompact" : $query,
'max_redirects' => 0,
))));
- if ($file === false) {
- $this->error = $php_errormsg;
- return $file;
- }
- if (!preg_match('~^HTTP/[0-9.]+ 2~i', $http_response_header[0])) {
- $this->error = lang('Invalid credentials.') . " $http_response_header[0]";
+ if ($file === false || !preg_match('~^HTTP/[0-9.]+ 2~i', $http_response_header[0])) {
+ $this->error = lang('Invalid credentials.');
return false;
}
$return = json_decode($file, true);
* @return array|false
*/
function rootQuery($path, array $content = null, $method = 'GET') {
- @ini_set('track_errors', 1); // @ - may be disabled
-
$file = @file_get_contents("$this->_url/" . ltrim($path, '/'), false, stream_context_create(array('http' => array(
'method' => $method,
'content' => $content !== null ? json_encode($content) : null,
* @return mixed
*/
function rootQuery($path, $content = array(), $method = 'GET') {
- @ini_set('track_errors', 1); // @ - may be disabled
-
$file = @file_get_contents("$this->_url/" . ltrim($path, '/'), false, stream_context_create(array('http' => array(
'method' => $method,
'content' => $content === null ? $content : json_encode($content),
'follow_location' => 0,
'max_redirects' => 0,
))));
- if (!$file) {
- $this->error = $php_errormsg;
- return $file;
- }
- if (!preg_match('~^HTTP/[0-9.]+ 2~i', $http_response_header[0])) {
- $this->error = lang('Invalid credentials.') . " $http_response_header[0]";
+ if (!$file || !preg_match('~^HTTP/[0-9.]+ 2~i', $http_response_header[0])) {
+ $this->error = lang('Invalid credentials.');
return false;
}
$return = json_decode($file, true);
}
$query = str_replace('%7E', '~', substr($query, 1));
$query .= "&Signature=" . urlencode(base64_encode(hmac('sha1', "POST\n" . preg_replace('~^https?://~', '', $host) . "\n/\n$query", $secret, true)));
- @ini_set('track_errors', 1); // @ - may be disabled
$file = @file_get_contents((preg_match('~^https?://~', $host) ? $host : "http://$host"), false, stream_context_create(array('http' => array(
'method' => 'POST', // may not fit in URL with GET
'content' => $query,
'max_redirects' => 0,
))));
if (!$file) {
- $connection->error = $php_errormsg;
+ $this->error = lang('Invalid credentials.');
return false;
}
libxml_use_internal_errors(true);