Stadionzeitung gegen TDC Lindau 2 mit Jugendbeitrag vorbereiten
This commit is contained in:
@@ -161,6 +161,7 @@ $rueckseite = $findOne('rueckseite');
|
||||
$spieler = $findOne('spieler');
|
||||
$verfasser = $findOne('verfasser');
|
||||
$rueckblickFoto = $findOne('rueckblick');
|
||||
$beitragFoto = $findOne('beitrag');
|
||||
$galerieQuellen = $findAll('galerie');
|
||||
// Anzeigen kommen NICHT mehr aus dem Ablieferordner, sondern aus dem dauerhaften
|
||||
// Bestand (data/anzeigen.json, gepflegt über bin/anzeige-add.php). Ein noch
|
||||
@@ -201,6 +202,16 @@ foreach ($existing['issues'] ?? [] as $entry) {
|
||||
$oldVorwort = $oldIssue['vorwort'] ?? null;
|
||||
// Interview wie das Vorwort chat-gepflegt — überlebt erneute Läufe ebenso.
|
||||
$oldInterview = $oldIssue['interview'] ?? null;
|
||||
$beitrag = $oldIssue['beitrag'] ?? null;
|
||||
if (is_array($beitrag) && $beitragFoto === null) {
|
||||
$fail('Redaktioneller Beitrag vorhanden, aber beitrag.* fehlt im Ablieferordner.');
|
||||
}
|
||||
if (is_array($beitrag)) {
|
||||
$beitragLink = trim((string) ($beitrag['source_url'] ?? ''));
|
||||
if (!filter_var($beitragLink, FILTER_VALIDATE_URL) || parse_url($beitragLink, PHP_URL_SCHEME) !== 'https') {
|
||||
$fail('Beitrag: source_url muss eine gültige HTTPS-Adresse sein.');
|
||||
}
|
||||
}
|
||||
// Aufruf-Seite (z. B. Sportfest-Helferaufruf) ebenso chat-gepflegt.
|
||||
$oldAufruf = $oldIssue['aufruf'] ?? null;
|
||||
// Sportfest-Ausgabe: Slug-Verweis auf data/veranstaltungen.json (Programm,
|
||||
@@ -417,6 +428,10 @@ try {
|
||||
if ($oldInterview !== null) {
|
||||
$aufschlag[] = $live('interview');
|
||||
}
|
||||
if (is_array($beitrag)) {
|
||||
$beitrag['image'] = $bild($beitragFoto, 'beitrag', (string) ($beitrag['image']['alt'] ?? $beitrag['heading'] ?? 'Vereinsbeitrag'));
|
||||
$aufschlag[] = $live('beitrag');
|
||||
}
|
||||
// Aufruf-Seite (Helferaufruf o. Ä.) reiht sich in denselben anzeigenfreien
|
||||
// Aufschlag ein, direkt hinter Vorwort/Interview — ein redaktioneller
|
||||
// Einstieg ohne Werbung dazwischen (chat-gepflegtes `aufruf`-Feld).
|
||||
@@ -761,6 +776,12 @@ foreach (['mitmachen', 'news', 'termine', 'matchcenter', 'mitglied-werden', 'his
|
||||
// (qr-aufruf.png) — der wird bei jedem Lauf ohnehin neu befüllt. club_url()
|
||||
// wie überall, damit der gedruckte Code auf die echte Domain zeigt.
|
||||
$aufrufLink = trim((string) ($oldAufruf['link'] ?? ''));
|
||||
$beitragLink = trim((string) ($beitrag['source_url'] ?? ''));
|
||||
if ($beitragLink !== '') {
|
||||
if (!generate_qr_png($beitragLink, "{$destDir}/qr-beitrag.png")) {
|
||||
$fail('QR-Code für den redaktionellen Beitrag konnte nicht erzeugt werden.');
|
||||
}
|
||||
}
|
||||
if ($aufrufLink !== '') {
|
||||
if (generate_qr_png(club_url($aufrufLink), "{$destDir}/qr-aufruf.png")) {
|
||||
$log("QR-Code für die Aufruf-Seite (/{$aufrufLink}) erzeugt.");
|
||||
@@ -838,6 +859,7 @@ $issues[] = [
|
||||
'qr_image' => $qrImage,
|
||||
'vorwort' => $oldVorwort,
|
||||
'interview' => $oldInterview,
|
||||
'beitrag' => $beitrag,
|
||||
'aufruf' => $oldAufruf,
|
||||
'veranstaltung' => $oldVeranstaltung,
|
||||
'cover' => $oldCover,
|
||||
|
||||
Reference in New Issue
Block a user