diff --git a/includes/views/projects_section.php b/includes/views/projects_section.php index 29726cb..c71f97a 100644 --- a/includes/views/projects_section.php +++ b/includes/views/projects_section.php @@ -57,9 +57,15 @@ foreach ($serverStatusByUrl as $__u => $__svc) { $status = null; $statusKey = null; + // Für interne Tools (z.B. Adminer) keinen Status-Badge anzeigen + $isNoStatusBadge = false; + if (!empty($project['url']) && is_string($project['url']) && $project['url'] === '/adminer') { + $isNoStatusBadge = true; + } + // Für JS-Update: eine kanonische Status-URL bestimmen $statusUrl = null; - if (!empty($project['url']) && is_string($project['url'])) { + if (!$isNoStatusBadge && !empty($project['url']) && is_string($project['url'])) { if (substr($project['url'], 0, 1) === '/') { $statusUrl = $__normalize_status_url('https://fabianschieder.com' . $project['url']); } else { @@ -68,12 +74,12 @@ foreach ($serverStatusByUrl as $__u => $__svc) { } // 1) Externe absolute URL direkt matchen - if (!empty($project['url']) && isset($__serverStatusByUrlNormalized[$__normalize_status_url((string)$project['url'])])) { + if (!$isNoStatusBadge && !empty($project['url']) && isset($__serverStatusByUrlNormalized[$__normalize_status_url((string)$project['url'])])) { $statusKey = $__normalize_status_url((string)$project['url']); } // 2) Interne Pfade (/git, /nextcloud) auf Domain mappen - if ($statusKey === null && !empty($project['url']) && is_string($project['url']) && substr($project['url'], 0, 1) === '/') { + if (!$isNoStatusBadge && $statusKey === null && !empty($project['url']) && is_string($project['url']) && substr($project['url'], 0, 1) === '/') { $statusKeyCandidate = 'https://fabianschieder.com' . $project['url']; $statusKeyCandidate = $__normalize_status_url($statusKeyCandidate); if (isset($__serverStatusByUrlNormalized[$statusKeyCandidate])) { @@ -89,7 +95,7 @@ foreach ($serverStatusByUrl as $__u => $__svc) { $detail = $status && !empty($status['detail']) ? (string)$status['detail'] : ''; $badgeText = null; - if ($category !== 'dienste') { + if (!$isNoStatusBadge && $category !== 'dienste') { $badgeText = 'Unbekannt'; if ($state === 'up') $badgeText = 'Online'; elseif ($state === 'down') $badgeText = 'Offline'; diff --git a/scripts/check_adminer_badge.php b/scripts/check_adminer_badge.php new file mode 100644 index 0000000..bfdf33e --- /dev/null +++ b/scripts/check_adminer_badge.php @@ -0,0 +1,20 @@ +