Files
tsv08kulmbach-website/app/pages/impressum.php
fs 2f8619e78d Gedruckte Adressen aus club.website statt base_url
QR-Codes und Adresszeilen trugen `http://localhost:8000` ins Druckmaterial, weil
sie über abs_url() liefen. Nach dem Produktivgang hätten alle zehn Codes neu
erzeugt werden müssen — und ein gedruckter Code mit localhost darin ist Altpapier.

Die öffentliche Domain ist Vereinsidentität, keine Umgebungseinstellung: neues
Feld `club.website` in data/club.json plus club_url()/club_domain(). base_url
bleibt umgebungsabhängig, weil Canonical, OG, Sitemap und JSON-LD zur
ausliefernden Adresse passen müssen.

Umgestellt: Cover-QR und die acht geteilten CTA-QRs, die Internet-Zeile im
Heft-Impressum, die Cover-Zeile neben dem QR, die acht Linkzeilen unter den
CTA-QRs der Live-Seiten (die hatte ich beim ersten Durchgang übersehen), das
Web-Feld im Website-Impressum und bin/qr.php.

Nebenbei: club_domain() ohne Pfad hängte einen Wurzel-Slash an
(„tsv08kulmbach.de/"), und der Kopf-Kommentar von stadionzeitung-add.php
beschrieb noch die alten vier Anzeigen-Gruppen.

Nicht verifizierbar und deshalb dokumentiert: die vendorte QR-Bibliothek
arbeitet nicht reproduzierbar (gleiche URL, andere Pixel — anderes Maskenmuster,
beides gültig). Ein PNG-Vergleich beweist nichts, nachweisbar ist nur der
Code-Pfad. Jeden Druck-QR einmal scannen.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NzeVVgMCrzCDJAKeLEdKr7
2026-07-31 15:40:59 +02:00

143 lines
7.0 KiB
PHP
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?php
declare(strict_types=1);
/**
* Impressum — Angaben gemäß § 5 DDG, Vertretungsberechtigter Vorstand,
* Bankverbindung, Haftungs- und Urheberrechtshinweise.
* Alle Vereinsdaten aus data/club.json (Single Source of Truth).
*/
$club = json_load('club');
$addr = $club['address'] ?? [];
$chair = $club['board']['members'][0]['name'] ?? '';
$meta = [
'title' => 'Impressum',
'description' => 'Impressum des TSV 1908 Kulmbach e. V. Anbieterkennzeichnung, vertretungsberechtigter Vorstand und Kontaktdaten.',
'schema' => page_schema([
['name' => 'Startseite', 'slug' => ''],
['name' => 'Impressum', 'slug' => 'impressum'],
]),
];
?>
<section class="section legal">
<div class="container">
<div class="legal__head">
<p class="legal__kicker">Rechtliches</p>
<h1>Impressum</h1>
<p class="legal__lead">Angaben gemäß § 5 Digitale-Dienste-Gesetz (DDG).</p>
</div>
<div class="legal__body prose">
<section>
<h2>Anbieter</h2>
<div class="legal__card">
<address>
<strong><?= e($club['legal_name']) ?></strong><br>
<?= e($addr['street']) ?><br>
<?= e($addr['zip']) ?> <?= e($addr['city']) ?><br>
<br>
E-Mail: <a href="mailto:<?= e($club['email']) ?>"><?= e($club['email']) ?></a><br>
<?php /* club_url() statt base_url: das Impressum nennt die Adresse des VEREINS,
nicht die des Servers, auf dem der Code gerade läuft. Lokal stand hier
sonst „localhost:8000" als Vereins-Webadresse. */ ?>
Web: <a href="<?= e(club_url()) ?>"><?= e(club_domain()) ?></a>
</address>
</div>
</section>
<section>
<h2>Vertretungsberechtigter Vorstand</h2>
<p><?= e($club['board']['note']) ?>:</p>
<ul>
<?php foreach ($club['board']['members'] as $member): ?>
<li><?= e($member['name']) ?><?= $member['role'] !== '' ? ' ' . e($member['role']) : '' ?></li>
<?php endforeach; ?>
</ul>
</section>
<section>
<h2>Bankverbindung</h2>
<div class="legal__cards legal__cards--2">
<?php foreach ($club['banking'] as $bank): ?>
<div class="legal__card">
<p>
<strong><?= e($bank['bank']) ?></strong><br>
IBAN: <?= e($bank['iban']) ?><br>
BIC: <?= e($bank['bic']) ?>
</p>
</div>
<?php endforeach; ?>
</div>
</section>
<section>
<h2>Mitgliedschaften</h2>
<ul>
<?php foreach ($club['memberships'] as $membership): ?>
<li><?= e($membership) ?></li>
<?php endforeach; ?>
</ul>
</section>
<section>
<h2>Verantwortlich für den Inhalt</h2>
<p>Verantwortlich für den Inhalt nach § 18 Abs. 2 Medienstaatsvertrag (MStV):</p>
<div class="legal__card">
<address>
<?php if ($chair !== ''): ?>
<strong><?= e($chair) ?></strong><br>
<?php endif; ?>
<?= e($club['legal_name']) ?><br>
<?= e($addr['street']) ?>, <?= e($addr['zip']) ?> <?= e($addr['city']) ?>
</address>
</div>
</section>
<section>
<h2>Urheberrecht</h2>
<p>
Alle Rechte vorbehalten. Sämtliche auf dieser Website veröffentlichten Bilder,
Texte und sonstigen Dateien unterliegen dem Urheberrecht. Eine Verwendung,
Vervielfältigung oder Weitergabe auch auszugsweise ist nur mit ausdrücklicher,
vorheriger Zustimmung des TSV 1908 Kulmbach e. V. gestattet. Soweit Inhalte auf
dieser Seite nicht vom Betreiber erstellt wurden, werden die Urheberrechte Dritter
beachtet und entsprechend gekennzeichnet. Sollte dir dennoch eine
Urheberrechtsverletzung auffallen, bitten wir um einen Hinweis bei Bekanntwerden
entfernen wir die betreffenden Inhalte umgehend.
</p>
</section>
<section>
<h2>Haftung für Inhalte</h2>
<p>
Die Inhalte dieser Seiten wurden mit größter Sorgfalt erstellt. Für die Richtigkeit,
Vollständigkeit und Aktualität der Inhalte können wir jedoch keine Gewähr übernehmen.
Als Diensteanbieter sind wir gemäß § 7 Abs. 1 DDG für eigene Inhalte auf diesen Seiten
nach den allgemeinen Gesetzen verantwortlich. Nach §§ 8 bis 10 DDG sind wir als
Diensteanbieter jedoch nicht verpflichtet, übermittelte oder gespeicherte fremde
Informationen zu überwachen oder nach Umständen zu forschen, die auf eine rechtswidrige
Tätigkeit hinweisen.
</p>
</section>
<section>
<h2>Haftung für Links</h2>
<p>
Unser Angebot enthält Links zu externen Websites Dritter, auf deren Inhalte wir keinen
Einfluss haben. Für die Gestaltung und die Inhalte der gelinkten Seiten sind
ausschließlich deren Betreiber verantwortlich. Zum Zeitpunkt der Verlinkung waren keine
rechtswidrigen Inhalte erkennbar. Sollten uns Rechtsverletzungen bekannt werden,
entfernen wir die entsprechenden Links umgehend. Hiermit distanzieren wir uns
ausdrücklich von allen Inhalten sämtlicher verlinkter Seiten.
</p>
</section>
<section>
<h2>Gestaltung &amp; Umsetzung</h2>
<p class="legal__muted">Webdesign und Layout: <?= e($club['webdesign']) ?>.</p>
</section>
</div>
</div>
</section>