OPTIGOV TEST – Modul erreicht
';
$widgetUrl = "https://reichshof.optigov.app/api/widget/1/render";
/* Volle Seiten-URL robust bauen (inkl. Proxy-Headern) */
$scheme = !empty($_SERVER['HTTP_X_FORWARDED_PROTO']) ? $_SERVER['HTTP_X_FORWARDED_PROTO']
: ((!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off') ? 'https' : 'http');
$host = $_SERVER['HTTP_X_FORWARDED_HOST'] ?? ($_SERVER['HTTP_HOST'] ?? 'localhost');
$uri = $_SERVER['REQUEST_URI'] ?? '/';
$fullUrl = $scheme.'://'.$host.$uri;
$agent = $_SERVER['HTTP_USER_AGENT'] ?? 'PHP-cURL';
/* Diagnose ins HTML (nur Quelltext) */
echo "\n\n";
/* Eindeutiger Container für das Widget */
$containerId = 'optigov-widget-'.mt_rand(1000,9999);
echo '';
/* Serverseitig abrufen (falls cURL verfügbar) */
if (function_exists('curl_init')) {
$u = $widgetUrl.'?url='.rawurlencode($fullUrl).'&agent='.rawurlencode($agent);
$ch = curl_init($u);
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_CONNECTTIMEOUT => 5,
CURLOPT_TIMEOUT => 15,
CURLOPT_USERAGENT => $agent,
]);
$response = curl_exec($ch);
$errno = curl_errno($ch);
$error = curl_error($ch);
curl_close($ch);
/* Kurze Diagnose */
echo "\n\n";
if ($response === false) {
echo '
OptiGov-Fehler '.$errno.': '.htmlspecialchars($error, ENT_QUOTES, 'UTF-8').'
';
} elseif (trim((string)$response) !== '') {
/* 1) offensichtliche kaputte Modul-URL fixen */
$response = str_replace(
[' VPTURL1 tigov.app/widget/optiGov.mjs',' tigov.app/widget/optiGov.mjs'],
'https://reichshof.optigov.app/widget/optiGov.mjs',
$response
);
/* 2) nur IN