<?php
declare(strict_types=1);

if (!defined('ROOT_DIR')) define('ROOT_DIR', __DIR__);
if (!defined('APP_URL')) require_once ROOT_DIR . '/config/app.php';

$dataDir = ROOT_DIR . '/data';
$legal   = json_decode(@file_get_contents($dataDir . '/legal.json') ?: '{}', true) ?: [];
$config  = json_decode(@file_get_contents($dataDir . '/config.json') ?: '{}', true) ?: [];

$coupleName = htmlspecialchars($config['couple_name'] ?? '', ENT_QUOTES, 'UTF-8');

function le(array $data, string $key): string {
    return htmlspecialchars($data[$key] ?? '', ENT_QUOTES, 'UTF-8');
}

$credits  = json_decode(@file_get_contents($dataDir . '/credits.json') ?: '{}', true) ?: [];
$sections = json_decode(@file_get_contents($dataDir . '/sections.json') ?: '[]', true) ?: [];

function normalizeImgKey(string $path): string {
    $path = str_replace('/thumbs/', '/', $path);
    return preg_replace('/--size-(?:m|l|xl)\.[a-z]+$/i', '', $path);
}

$usedKeys = [];
foreach ($sections as $section) {
    $sectionData = $section['data'] ?? [];
    array_walk_recursive($sectionData, function ($v) use (&$usedKeys) {
        if (is_string($v) && str_starts_with($v, 'assets/img/samples/')) {
            $usedKeys[normalizeImgKey($v)] = true;
        }
    });
}

$usedCredits = array_filter(
    $credits,
    fn($key) => isset($usedKeys[$key]),
    ARRAY_FILTER_USE_KEY
);
?>
<!DOCTYPE html>
<html lang="de">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Impressum<?= $coupleName ? ' – ' . $coupleName : '' ?></title>
    <link rel="stylesheet" href="<?= ASSETS_URL ?>/css/core-framework.css">
    <link rel="stylesheet" href="<?= ASSETS_URL ?>/css/frontend.css">
    <link rel="icon" href="<?= ASSETS_URL ?>/img/favicon.png">
</head>
<body class="hw-legal-page">

<header class="hw-legal-page__header">
    <a href="/" class="hw-legal-page__back">← <?= $coupleName ?: 'Zurück' ?></a>
</header>

<main class="hw-legal-page__main">
    <div class="hw-legal-page__content">
        <h1>Impressum</h1>

        <p>
            <?= le($legal, 'name') ?><br>
            <?= le($legal, 'street') ?><br>
            <?= le($legal, 'zip') ?> <?= le($legal, 'city') ?><br>
            <?= le($legal, 'country') ?>
        </p>

        <h2>Kontakt</h2>

        <p>
            <?php if (le($legal, 'phone')): ?>
                Telefon: <?= le($legal, 'phone') ?><br>
            <?php endif; ?>
            E-Mail: <a href="mailto:<?= le($legal, 'email') ?>"><?= le($legal, 'email') ?></a>
        </p>

        <?php if (le($legal, 'additional')): ?>
        <h2>Weitere Angaben</h2>
        <p><?= nl2br(le($legal, 'additional')) ?></p>
        <?php endif; ?>

        <h2>Haftung für Inhalte</h2>
        <p>Die Inhalte dieser Seite wurden mit größtmöglicher Sorgfalt erstellt. Für die Richtigkeit, Vollständigkeit und Aktualität der Inhalte können wir jedoch keine Gewähr übernehmen.</p>

        <h2>Haftung für Links</h2>
        <p>Diese Webseite kann Links zu externen Webseiten Dritter enthalten, auf deren Inhalte wir keinen Einfluss haben. Für die Inhalte der verlinkten Seiten ist stets der jeweilige Anbieter oder Betreiber der Seiten verantwortlich.</p>

        <h2>Urheberrecht</h2>
        <p>Die durch die Seitenbetreiber erstellten Inhalte und Werke auf dieser Seite unterliegen dem deutschen Urheberrecht. Die Vervielfältigung, Bearbeitung, Verbreitung und jede Art der Verwertung außerhalb der Grenzen des Urheberrechts bedürfen der schriftlichen Zustimmung des jeweiligen Autors bzw. Erstellers.</p>

        <?php if ($usedCredits): ?>
        <h2>Bildnachweise</h2>
        <ul>
            <?php foreach ($usedCredits as $credit): ?>
            <li><?= htmlspecialchars($credit['label'] ?? '', ENT_QUOTES, 'UTF-8') ?>: <?= htmlspecialchars($credit['credit'] ?? '', ENT_QUOTES, 'UTF-8') ?></li>
            <?php endforeach; ?>
        </ul>
        <?php endif; ?>
    </div>
</main>

<footer class="hw-footer">
    <div class="hw-footer__inner">
        <span class="hw-footer__name"><?= $coupleName ?></span>
        <a href="/datenschutz" class="hw-footer__link">Datenschutz</a>
    </div>
</footer>

</body>
</html>
