From d01f190aed26bb7f371de13847759519d437b0ef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20M=C3=BCller?= Date: Mon, 20 Apr 2026 10:34:18 +0200 Subject: [PATCH] Textbausteiene Monats verbessert --- public/monatsvorhersage.php | 51 ++++++++++++++++++++++++++++++++----- 1 file changed, 45 insertions(+), 6 deletions(-) diff --git a/public/monatsvorhersage.php b/public/monatsvorhersage.php index ab14485..ea84d44 100644 --- a/public/monatsvorhersage.php +++ b/public/monatsvorhersage.php @@ -11,6 +11,31 @@ $publicBasePath = './'; $currentYear = (int) date('Y'); $selectedYear = isset($_GET['year']) ? (int) $_GET['year'] : $currentYear; $selectedMonth = isset($_GET['month']) ? max(1, min(12, (int) $_GET['month'])) : (int) date('n'); + +// ------------------------------------------------------------------------- +// Bereits berechnete Bausteine der Monatsvorschau +// ------------------------------------------------------------------------- +// Stand heute erzeugt diese Seite bereits: +// - Monats-Sternkarten für Nordhimmel und Südhimmel +// - Mond- und Planetenkontext für die feste Monatszeit +// - Mondphasen des Monats +// - Goldener-Henkel-Termine +// - Jahreszeitenwechsel und Zeitumstellungen +// - Sonnen- und Mondfinsternisse +// - Perigäum/Apogäum des Mondes sowie Perihel/Aphel der Sonne +// - Größte Elongationen von Merkur/Venus und größte Venushelligkeit +// - Ereignisse äußerer Planeten und deren Stillstände +// - Jupitermonde auf nur einer Planetenseite +// - Annäherungen Mond-Planet, Mond-Deep-Sky und Planet-heller-Stern +// - Planetenkonjunktionen +// - Gute Merkursichtbarkeit +// - Planetenparaden +// - Sternbildwechsel der Planeten +// - Sternbedeckungen durch den Mond +// - Meteorstrom-Maxima +// - Gute Überflüge des Favoriten-Satelliten +// - Zusammengeführte Monatsereignisliste für Übersicht, SQL-Export und iCal + // ------------------------------------------------------------------------- // Grenzwerte fuer Sternkarte und Objektanzeige // ------------------------------------------------------------------------- @@ -1435,8 +1460,13 @@ foreach ($moonPhaseEvents as $phaseEvent) { continue; } + $phaseLabel = trim((string) ($phaseEvent['label'] ?? '')); + if ($phaseLabel === 'Erstes Viertel' || $phaseLabel === 'Letztes Viertel') { + $phaseLabel = 'Mond ' . $phaseLabel; + } + $monthEventList[] = [ - 'event' => (string) ($phaseEvent['label'] ?? ''), + 'event' => $phaseLabel, 'date' => (string) ($phaseEvent['local_date'] ?? ''), 'time' => (string) ($phaseEvent['local_time'] ?? ''), 'local_iso' => (string) ($phaseEvent['local_iso'] ?? ''), @@ -1642,11 +1672,7 @@ foreach ($jupiterMoonSideEvents as $jupiterMoonSideEvent) { continue; } - $durationLabel = trim((string) ($jupiterMoonSideEvent['duration_label'] ?? '')); $eventLabel = trim((string) ($jupiterMoonSideEvent['label'] ?? 'Alle 4 Jupitermonde auf einer Seite von Jupiter')); - if ($durationLabel !== '') { - $eventLabel .= ' (' . $durationLabel . ')'; - } $monthEventList[] = [ 'event' => $eventLabel, @@ -1768,8 +1794,21 @@ foreach ($planetConstellationChangeEvents as $changeEvent) { continue; } + $planetLabel = trim((string) ($changeEvent['planet_label'] ?? 'Planet')); + $fromConstellationName = trim((string) ($changeEvent['from_constellation_name'] ?? '')); + $toConstellationName = trim((string) ($changeEvent['to_constellation_name'] ?? '')); + $changeLabel = (string) ($changeEvent['label'] ?? 'Planet wechselt Sternbild'); + if ($fromConstellationName !== '' && $toConstellationName !== '') { + $changeLabel = sprintf( + '%s wechselt vom Sternbild %s in das Sternbild %s', + $planetLabel, + $fromConstellationName, + $toConstellationName + ); + } + $monthEventList[] = [ - 'event' => (string) ($changeEvent['label'] ?? 'Planet wechselt Sternbild'), + 'event' => $changeLabel, 'date' => (string) ($changeEvent['local_date'] ?? ''), 'time' => (string) ($changeEvent['local_time'] ?? ''), 'local_iso' => (string) ($changeEvent['local_iso'] ?? ''),