settings->enableAdminer()) { $message = 'Integracja Adminera jest wyłączona na tym serwerze.'; if ($rawMode) { echo "HTTP/1.1 403 Forbidden\r\n"; echo "Content-Type: text/plain; charset=UTF-8\r\n\r\n"; echo $message; } else { http_response_code(403); header('Content-Type: text/plain; charset=UTF-8'); echo $message; } exit; } try { $ctx->requireCsrf('open_adminer_submit'); $requestedDb = trim($ctx->postString('adminer_db')); if ($requestedDb === '') { $requestedDb = null; } $sso = new AdminerSso($ctx->settings, $ctx->daUser, $ctx->pg); $target = $sso->issueLoginUrl($requestedDb); $safeTarget = htmlspecialchars($target, ENT_QUOTES | ENT_SUBSTITUTE, 'UTF-8'); if ($rawMode) { echo "HTTP/1.1 200 OK\r\n"; echo "Content-Type: text/html; charset=UTF-8\r\n"; echo "Cache-Control: no-store, no-cache, must-revalidate\r\n"; echo "Pragma: no-cache\r\n\r\n"; echo '
'; echo ''; echo 'Przekierowanie do Adminera... Kliknij tutaj'; } else { header('Location: ' . $target, true, 302); } exit; } catch (Throwable $e) { $message = 'Nie można otworzyć Adminera: ' . $e->getMessage(); @error_log( sprintf( "[%s] ADMINER_SSO_FAIL user=%s remote=%s message=%s\n", date('c'), $ctx->daUser->username(), Http::server('REMOTE_ADDR'), $e->getMessage() ), 3, PLUGIN_ROOT . '/error.log' ); if ($rawMode) { echo "HTTP/1.1 400 Bad Request\r\n"; echo "Content-Type: text/plain; charset=UTF-8\r\n\r\n"; echo $message; } else { http_response_code(400); header('Content-Type: text/plain; charset=UTF-8'); echo $message; } exit; } };