Exportaktionen der Monatsvorhersage zusammenfassen und tzdata-Setup dokumentieren
This commit is contained in:
@@ -2,6 +2,16 @@
|
|||||||
|
|
||||||
Diese Anleitung enthält die lokalen Startbefehle für mehrere Rechner.
|
Diese Anleitung enthält die lokalen Startbefehle für mehrere Rechner.
|
||||||
|
|
||||||
|
## Python-Zeitzonendaten unter Windows
|
||||||
|
|
||||||
|
Die astronomischen Berechnungen benötigen das Python-Paket `tzdata`, damit Zeitzonen wie `Europe/Berlin` verfügbar sind. Einmalig mit dem Python aus dem PATH installieren, das auch die PHP-Aufrufe verwenden:
|
||||||
|
|
||||||
|
```powershell
|
||||||
|
python -m pip install tzdata
|
||||||
|
```
|
||||||
|
|
||||||
|
Fehlt das Paket, erscheint bei der Berechnung die Meldung „Zeitzone ist ungueltig oder auf dem Server nicht verfuegbar.“ Nach der Installation die Seite neu laden und die Berechnung erneut starten.
|
||||||
|
|
||||||
## ARBEITSPLATZTM
|
## ARBEITSPLATZTM
|
||||||
|
|
||||||
### PHP-Pfad
|
### PHP-Pfad
|
||||||
|
|||||||
+109
-92
@@ -2947,7 +2947,14 @@ $observationTipCalendarFilenameJson = json_encode(sprintf('astrotools-monatserei
|
|||||||
</form>
|
</form>
|
||||||
|
|
||||||
<?php if ($shouldRunForecast): ?>
|
<?php if ($shouldRunForecast): ?>
|
||||||
<div class="monatszip-export">
|
<section class="monatskarte-card monatsaktionen" aria-labelledby="monatsaktionen-heading">
|
||||||
|
<div class="monatskarte-header">
|
||||||
|
<h3 id="monatsaktionen-heading">Export und Eintragen</h3>
|
||||||
|
</div>
|
||||||
|
<div class="monatsaktionen-gruppen">
|
||||||
|
<div class="monatsaktionen-gruppe">
|
||||||
|
<h4>Monatspaket</h4>
|
||||||
|
<div class="monatskarte-export">
|
||||||
<button type="button" class="monatskarte-export-button" id="downloadMonatsueberblickZip">
|
<button type="button" class="monatskarte-export-button" id="downloadMonatsueberblickZip">
|
||||||
Monatspaket als ZIP herunterladen
|
Monatspaket als ZIP herunterladen
|
||||||
</button>
|
</button>
|
||||||
@@ -2961,99 +2968,23 @@ $observationTipCalendarFilenameJson = json_encode(sprintf('astrotools-monatserei
|
|||||||
<?php endif; ?>
|
<?php endif; ?>
|
||||||
<p id="monatsueberblickZipStatus" role="status" aria-live="polite"></p>
|
<p id="monatsueberblickZipStatus" role="status" aria-live="polite"></p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<section class="monatsnarrativ-card" id="monatsueberblick">
|
|
||||||
<div class="monatskarte-header">
|
|
||||||
<div>
|
|
||||||
<h3>Monat im Überblick</h3>
|
|
||||||
<p><?= htmlspecialchars($months[$selectedMonth] . ' ' . (string) $selectedYear, ENT_QUOTES, 'UTF-8') ?></p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="monatskarte-footer">
|
|
||||||
<p class="monatsnarrativ-text"><?= htmlspecialchars($monthNarrativeText, ENT_QUOTES, 'UTF-8') ?></p>
|
|
||||||
</div>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section class="monatskarte-card">
|
|
||||||
<div class="monatskarte-header">
|
|
||||||
<div>
|
|
||||||
<h3>Zenitprojektion <?= htmlspecialchars($months[$selectedMonth] . ' ' . (string) $selectedYear, ENT_QUOTES, 'UTF-8') ?></h3>
|
|
||||||
<p id="monatskarteMeta">
|
|
||||||
<?= htmlspecialchars($chartConfig['localTimeLabel'], ENT_QUOTES, 'UTF-8') ?>,
|
|
||||||
<?= htmlspecialchars($chartLocationName, ENT_QUOTES, 'UTF-8') ?>
|
|
||||||
</p>
|
|
||||||
</div>
|
</div>
|
||||||
|
<div class="monatsaktionen-gruppe">
|
||||||
|
<h4>Grafiken</h4>
|
||||||
<div class="monatskarte-export">
|
<div class="monatskarte-export">
|
||||||
<button type="button" class="monatskarte-export-button" id="downloadMonatskartePng">
|
<button type="button" class="monatskarte-export-button" id="downloadMonatskartePng">
|
||||||
PNG herunterladen
|
Zenitprojektion als PNG
|
||||||
</button>
|
</button>
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="monatskarte-stage">
|
|
||||||
<canvas id="monatskarteCanvas" width="900" height="900" aria-label="Sternkarte in Zenitprojektion"></canvas>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="monatskarte-footer">
|
|
||||||
<p id="monatskarteStatus">Bereite Sternkarte vor...</p>
|
|
||||||
</div>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section class="monatskarte-card">
|
|
||||||
<div class="monatskarte-header">
|
|
||||||
<div>
|
|
||||||
<h3>Südhimmel <?= htmlspecialchars($months[$selectedMonth] . ' ' . (string) $selectedYear, ENT_QUOTES, 'UTF-8') ?></h3>
|
|
||||||
<p id="monatskarteSouthMeta">
|
|
||||||
<?= htmlspecialchars($chartConfig['localTimeLabel'], ENT_QUOTES, 'UTF-8') ?>,
|
|
||||||
<?= htmlspecialchars($chartLocationName, ENT_QUOTES, 'UTF-8') ?>
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
<div class="monatskarte-export">
|
|
||||||
<button type="button" class="monatskarte-export-button" id="downloadMonatskarteSouthPng">
|
<button type="button" class="monatskarte-export-button" id="downloadMonatskarteSouthPng">
|
||||||
PNG herunterladen
|
Südhimmel als PNG
|
||||||
</button>
|
</button>
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="monatskarte-stage monatskarte-stage-south">
|
|
||||||
<canvas id="monatskarteSouthCanvas" width="1200" height="720" aria-label="Südhimmel-Projektion"></canvas>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="monatskarte-footer">
|
|
||||||
<p id="monatskarteSouthStatus">Bereite Südhimmelkarte vor...</p>
|
|
||||||
</div>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section class="monatskarte-card">
|
|
||||||
<div class="monatskarte-header">
|
|
||||||
<div>
|
|
||||||
<h3>Mondphasen</h3>
|
|
||||||
<p><?= htmlspecialchars($months[$selectedMonth] . ' ' . (string) $selectedYear, ENT_QUOTES, 'UTF-8') ?></p>
|
|
||||||
</div>
|
|
||||||
<div class="monatskarte-export">
|
|
||||||
<button type="button" class="monatskarte-export-button" id="downloadMonatsphasenPng">
|
<button type="button" class="monatskarte-export-button" id="downloadMonatsphasenPng">
|
||||||
PNG herunterladen
|
Mondphasen als PNG
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="monatsaktionen-gruppe">
|
||||||
<div class="monatskarte-stage monatsphase-stage">
|
<h4>Ereignisse</h4>
|
||||||
<div class="monatsphase-strip-wrap">
|
|
||||||
<img id="monatsphasenImage" alt="Mondphasen des Monats in bis zu vier Zeilen">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="monatskarte-footer">
|
|
||||||
<p id="monatsphasenStatus">Bereite Mondphasenleiste vor...</p>
|
|
||||||
</div>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section class="monatskarte-card">
|
|
||||||
<div class="monatskarte-header">
|
|
||||||
<div>
|
|
||||||
<h3>Ereignisse <?= htmlspecialchars($months[$selectedMonth] . ' ' . (string) $selectedYear, ENT_QUOTES, 'UTF-8') ?></h3>
|
|
||||||
<p>Chronologische Monatsliste für <?= htmlspecialchars($chartTimezone, ENT_QUOTES, 'UTF-8') ?></p>
|
|
||||||
</div>
|
|
||||||
<div class="monatskarte-export">
|
<div class="monatskarte-export">
|
||||||
<?php if ($monthEventList): ?>
|
<?php if ($monthEventList): ?>
|
||||||
<form method="post" action="<?= htmlspecialchars($observationTipInsertEndpoint, ENT_QUOTES, 'UTF-8') ?>" class="monatskarte-inline-form" id="observationTipInsertForm">
|
<form method="post" action="<?= htmlspecialchars($observationTipInsertEndpoint, ENT_QUOTES, 'UTF-8') ?>" class="monatskarte-inline-form" id="observationTipInsertForm">
|
||||||
@@ -3077,7 +3008,7 @@ $observationTipCalendarFilenameJson = json_encode(sprintf('astrotools-monatserei
|
|||||||
<?php endif; ?>
|
<?php endif; ?>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
<div class="monatskarte-footer">
|
<div class="monatskarte-footer">
|
||||||
<p class="monatskarte-insert-status" id="observationTipInsertStatus" role="status" aria-live="polite" hidden></p>
|
<p class="monatskarte-insert-status" id="observationTipInsertStatus" role="status" aria-live="polite" hidden></p>
|
||||||
<?php if ($observationTipInsertSql !== ''): ?>
|
<?php if ($observationTipInsertSql !== ''): ?>
|
||||||
@@ -3089,6 +3020,89 @@ $observationTipCalendarFilenameJson = json_encode(sprintf('astrotools-monatserei
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<?php endif; ?>
|
<?php endif; ?>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section class="monatsnarrativ-card" id="monatsueberblick">
|
||||||
|
<div class="monatskarte-header">
|
||||||
|
<div>
|
||||||
|
<h3>Monat im Überblick</h3>
|
||||||
|
<p><?= htmlspecialchars($months[$selectedMonth] . ' ' . (string) $selectedYear, ENT_QUOTES, 'UTF-8') ?></p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="monatskarte-footer">
|
||||||
|
<p class="monatsnarrativ-text"><?= htmlspecialchars($monthNarrativeText, ENT_QUOTES, 'UTF-8') ?></p>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section class="monatskarte-card">
|
||||||
|
<div class="monatskarte-header">
|
||||||
|
<div>
|
||||||
|
<h3>Zenitprojektion <?= htmlspecialchars($months[$selectedMonth] . ' ' . (string) $selectedYear, ENT_QUOTES, 'UTF-8') ?></h3>
|
||||||
|
<p id="monatskarteMeta">
|
||||||
|
<?= htmlspecialchars($chartConfig['localTimeLabel'], ENT_QUOTES, 'UTF-8') ?>,
|
||||||
|
<?= htmlspecialchars($chartLocationName, ENT_QUOTES, 'UTF-8') ?>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="monatskarte-stage">
|
||||||
|
<canvas id="monatskarteCanvas" width="900" height="900" aria-label="Sternkarte in Zenitprojektion"></canvas>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="monatskarte-footer">
|
||||||
|
<p id="monatskarteStatus">Bereite Sternkarte vor...</p>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section class="monatskarte-card">
|
||||||
|
<div class="monatskarte-header">
|
||||||
|
<div>
|
||||||
|
<h3>Südhimmel <?= htmlspecialchars($months[$selectedMonth] . ' ' . (string) $selectedYear, ENT_QUOTES, 'UTF-8') ?></h3>
|
||||||
|
<p id="monatskarteSouthMeta">
|
||||||
|
<?= htmlspecialchars($chartConfig['localTimeLabel'], ENT_QUOTES, 'UTF-8') ?>,
|
||||||
|
<?= htmlspecialchars($chartLocationName, ENT_QUOTES, 'UTF-8') ?>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="monatskarte-stage monatskarte-stage-south">
|
||||||
|
<canvas id="monatskarteSouthCanvas" width="1200" height="720" aria-label="Südhimmel-Projektion"></canvas>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="monatskarte-footer">
|
||||||
|
<p id="monatskarteSouthStatus">Bereite Südhimmelkarte vor...</p>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section class="monatskarte-card">
|
||||||
|
<div class="monatskarte-header">
|
||||||
|
<div>
|
||||||
|
<h3>Mondphasen</h3>
|
||||||
|
<p><?= htmlspecialchars($months[$selectedMonth] . ' ' . (string) $selectedYear, ENT_QUOTES, 'UTF-8') ?></p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="monatskarte-stage monatsphase-stage">
|
||||||
|
<div class="monatsphase-strip-wrap">
|
||||||
|
<img id="monatsphasenImage" alt="Mondphasen des Monats in bis zu vier Zeilen">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="monatskarte-footer">
|
||||||
|
<p id="monatsphasenStatus">Bereite Mondphasenleiste vor...</p>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section class="monatskarte-card">
|
||||||
|
<div class="monatskarte-header">
|
||||||
|
<div>
|
||||||
|
<h3>Ereignisse <?= htmlspecialchars($months[$selectedMonth] . ' ' . (string) $selectedYear, ENT_QUOTES, 'UTF-8') ?></h3>
|
||||||
|
<p>Chronologische Monatsliste für <?= htmlspecialchars($chartTimezone, ENT_QUOTES, 'UTF-8') ?></p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="monatskarte-footer">
|
||||||
<?php if ($monthEventList): ?>
|
<?php if ($monthEventList): ?>
|
||||||
<div class="riseset-grid" style="grid-template-columns: 1.5fr 1fr 1fr; row-gap: 10px;">
|
<div class="riseset-grid" style="grid-template-columns: 1.5fr 1fr 1fr; row-gap: 10px;">
|
||||||
<span class="riseset-label riseset-dim">Ereignis</span>
|
<span class="riseset-label riseset-dim">Ereignis</span>
|
||||||
@@ -3135,15 +3149,18 @@ $observationTipCalendarFilenameJson = json_encode(sprintf('astrotools-monatserei
|
|||||||
margin: 0;
|
margin: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.monatszip-export {
|
.monatsaktionen-gruppen {
|
||||||
display: flex;
|
display: grid;
|
||||||
align-items: center;
|
gap: 18px;
|
||||||
gap: 14px;
|
margin-top: 16px;
|
||||||
flex-wrap: wrap;
|
|
||||||
padding: 0 20px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.monatszip-export p {
|
.monatsaktionen-gruppe h4 {
|
||||||
|
margin: 0 0 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#monatsueberblickZipStatus {
|
||||||
|
flex-basis: 100%;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
color: rgba(222, 232, 255, 0.86);
|
color: rgba(222, 232, 255, 0.86);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user