Stadionzeitung Untersteinach vorbereiten und Instagram aktualisieren
This commit is contained in:
@@ -393,6 +393,21 @@ if (is_file($szFile)) {
|
||||
if (is_file($szFile)) {
|
||||
$szData = $szData ?? (json_decode((string) file_get_contents($szFile), true) ?: []);
|
||||
foreach ($szData['issues'] ?? [] as $ausgabe) {
|
||||
if (is_array($ausgabe['rueckblick'] ?? null)) {
|
||||
$rueckblick = $ausgabe['rueckblick'];
|
||||
$foto = $rueckblick['image'] ?? [];
|
||||
if (empty($foto['base']) || empty($foto['widths'])) {
|
||||
$errors[] = "Stadionzeitung '{$ausgabe['slug']}': Foto zum Spielrückblick fehlt.";
|
||||
}
|
||||
foreach ($foto['widths'] ?? [] as $w) {
|
||||
if (!is_file(PUBLIC_PATH . '/assets/' . ($foto['base'] ?? '') . "-{$w}.jpg")) {
|
||||
$errors[] = "Stadionzeitung '{$ausgabe['slug']}': Rückblick-Foto fehlt ({$w}px).";
|
||||
}
|
||||
}
|
||||
if (trim((string) ($rueckblick['credit'] ?? '')) === '') {
|
||||
$errors[] = "Stadionzeitung '{$ausgabe['slug']}': Bildnachweis zum Spielrückblick fehlt.";
|
||||
}
|
||||
}
|
||||
foreach ($ausgabe['galerie']['bilder'] ?? [] as $bild) {
|
||||
foreach ($bild['widths'] ?? [] as $w) {
|
||||
$datei = PUBLIC_PATH . '/assets/' . ($bild['base'] ?? '') . "-{$w}.jpg";
|
||||
|
||||
@@ -160,6 +160,7 @@ $vorwort = $findOne('vorwort');
|
||||
$rueckseite = $findOne('rueckseite');
|
||||
$spieler = $findOne('spieler');
|
||||
$verfasser = $findOne('verfasser');
|
||||
$rueckblickFoto = $findOne('rueckblick');
|
||||
$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
|
||||
@@ -213,6 +214,10 @@ $oldOpponentShort = $oldIssue['opponent_short'] ?? null;
|
||||
// Galerie-Seite: Kopf (kicker/heading/text) und Alt-Texte sind Chat-Pflege,
|
||||
// die Bilder schreibt dieser Lauf aus <ordner>/galerie/ (siehe unten).
|
||||
$oldGalerie = is_array($oldIssue['galerie'] ?? null) ? $oldIssue['galerie'] : null;
|
||||
$rueckblick = is_array($oldIssue['rueckblick'] ?? null) ? $oldIssue['rueckblick'] : null;
|
||||
if ($rueckblick !== null && $rueckblickFoto === null) {
|
||||
$fail('Spielrückblick vorhanden, aber rueckblick.* fehlt im Ablieferordner.');
|
||||
}
|
||||
$oldGegnerTeams = is_array($oldIssue['gegner_teams'] ?? null) ? array_values($oldIssue['gegner_teams']) : null;
|
||||
$veranstaltung = null;
|
||||
if (is_string($oldVeranstaltung) && $oldVeranstaltung !== '') {
|
||||
@@ -437,6 +442,13 @@ try {
|
||||
|
||||
$bloecke[] = ['name' => 'ergebnisse', 'seiten' => [$live('ergebnisse')], 'anzeigen_danach' => true];
|
||||
|
||||
// Redaktioneller Spielrückblick: Text und Bildnachweis sind Chat-Pflege,
|
||||
// das Foto kommt aus dem Ablieferordner und bleibt in dieser Ausgabe.
|
||||
if ($rueckblick !== null) {
|
||||
$rueckblick['image'] = $bild($rueckblickFoto, 'rueckblick', (string) ($rueckblick['image']['alt'] ?? $rueckblick['heading'] ?? 'Spielrückblick'));
|
||||
$bloecke[] = ['name' => 'rueckblick', 'seiten' => [$live('rueckblick')], 'anzeigen_danach' => true];
|
||||
}
|
||||
|
||||
// Galerie direkt hinter dem Ergebnis-Rückblick: erst das Ergebnis, dann die
|
||||
// Bilder dazu. Eigener Block, eine Anzeige dazwischen ist unbedenklich.
|
||||
if (!empty($galerie['bilder'])) {
|
||||
@@ -830,6 +842,7 @@ $issues[] = [
|
||||
'veranstaltung' => $oldVeranstaltung,
|
||||
'cover' => $oldCover,
|
||||
'galerie' => $galerie,
|
||||
'rueckblick' => $rueckblick,
|
||||
'verfasser_photo' => $verfasserPhoto,
|
||||
'termine_snapshot' => $termineSnapshot,
|
||||
'images' => $images,
|
||||
|
||||
Reference in New Issue
Block a user