2026-03-23 16:26:45 +01:00
|
|
|
<?php
|
|
|
|
|
require __DIR__ . '/helpers.php';
|
|
|
|
|
|
2026-05-21 11:52:40 +02:00
|
|
|
$lang = strtolower((string)(filter_input(INPUT_GET, 'lang', FILTER_SANITIZE_FULL_SPECIAL_CHARS) ?: 'en')) === 'de' ? 'de' : 'en';
|
2026-03-23 16:26:45 +01:00
|
|
|
$settings = load_site_settings();
|
2026-05-21 11:52:40 +02:00
|
|
|
$privacy = $settings['privacy'][$lang] ?? ($settings['privacy']['en'] ?? []);
|
2026-03-23 16:26:45 +01:00
|
|
|
|
|
|
|
|
$langSwitchLabel = $lang === 'de' ? 'DE' : 'EN';
|
2026-05-21 11:52:40 +02:00
|
|
|
$langSwitchHref = lang_url($lang === 'de' ? 'en' : 'de');
|
2026-03-23 16:26:45 +01:00
|
|
|
|
|
|
|
|
$t = [
|
2026-05-21 11:52:40 +02:00
|
|
|
'title' => $lang === 'de' ? 'Datenschutzerklärung' : 'Privacy Policy',
|
2026-03-23 16:26:45 +01:00
|
|
|
'controller' => $lang === 'de' ? 'Verantwortlicher' : 'Controller',
|
2026-05-21 11:52:40 +02:00
|
|
|
'address' => $lang === 'de' ? 'Adresse' : 'Address',
|
|
|
|
|
'contact' => $lang === 'de' ? 'Kontakt für Datenschutz' : 'Privacy contact',
|
|
|
|
|
'hosting' => $lang === 'de' ? 'Hosting' : 'Hosting',
|
|
|
|
|
'logs' => $lang === 'de' ? 'Server-Logs' : 'Server logs',
|
|
|
|
|
'cookies' => $lang === 'de' ? 'Cookies' : 'Cookies',
|
|
|
|
|
'purposes' => $lang === 'de' ? 'Zwecke der Datenverarbeitung' : 'Purposes of processing',
|
|
|
|
|
'rights' => $lang === 'de' ? 'Ihre Rechte' : 'Your rights',
|
2026-03-23 16:26:45 +01:00
|
|
|
'last_updated' => $lang === 'de' ? 'Stand' : 'Last updated',
|
|
|
|
|
];
|
|
|
|
|
|
|
|
|
|
function privacy_item(string $label, ?string $value): void {
|
|
|
|
|
$value = trim((string) $value);
|
2026-05-21 11:52:40 +02:00
|
|
|
if ($value === '') return;
|
2026-03-23 16:26:45 +01:00
|
|
|
echo '<div class="legal-item"><span class="legal-label">' . e($label) . '</span><span>' . nl2br(e($value)) . '</span></div>';
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$rights = $lang === 'de'
|
|
|
|
|
? 'Auskunft, Berichtigung, Löschung, Einschränkung, Datenübertragbarkeit, Widerspruch, Beschwerde bei der Datenschutzbehörde.'
|
|
|
|
|
: 'Access, rectification, erasure, restriction, data portability, objection, complaint to the data protection authority.';
|
|
|
|
|
|
|
|
|
|
$logInfo = '';
|
|
|
|
|
if (!empty($privacy['log_retention_days'])) {
|
|
|
|
|
$logInfo = ($lang === 'de'
|
|
|
|
|
? 'Server-Logs (IP-Adresse, Zeitpunkt, URL, User-Agent) werden zur Betriebssicherheit gespeichert und nach '
|
|
|
|
|
: 'Server logs (IP address, timestamp, URL, user agent) are kept for security and deleted after ')
|
|
|
|
|
. intval($privacy['log_retention_days']) . ($lang === 'de' ? ' Tagen gelöscht.' : ' days.');
|
|
|
|
|
}
|
2026-05-21 11:52:40 +02:00
|
|
|
|
|
|
|
|
$pageTitle = e($t['title']) . ' | FlixCooks';
|
|
|
|
|
$description = $lang === 'de'
|
|
|
|
|
? 'Informationen gemäß DSGVO und TKG über die Verarbeitung personenbezogener Daten.'
|
|
|
|
|
: 'Information per GDPR and TKG on how personal data is processed.';
|
|
|
|
|
|
|
|
|
|
include __DIR__ . '/partials/head.php';
|
|
|
|
|
include __DIR__ . '/partials/header.php';
|
2026-03-23 16:26:45 +01:00
|
|
|
?>
|
|
|
|
|
<main class="legal-page">
|
|
|
|
|
<h1><?php echo e($t['title']); ?></h1>
|
|
|
|
|
<p><?php echo $lang === 'de'
|
|
|
|
|
? 'Informationen gemäß DSGVO und TKG über die Verarbeitung personenbezogener Daten.'
|
|
|
|
|
: 'Information per GDPR and TKG on how personal data is processed.'; ?></p>
|
|
|
|
|
|
|
|
|
|
<div class="legal-card legal-section">
|
|
|
|
|
<h2><?php echo e($t['controller']); ?></h2>
|
|
|
|
|
<?php
|
|
|
|
|
privacy_item($t['controller'], $privacy['controller'] ?? '');
|
2026-05-21 11:52:40 +02:00
|
|
|
privacy_item($t['address'], $privacy['address'] ?? '');
|
|
|
|
|
privacy_item($t['contact'], ($privacy['contact_email'] ?? '') . ($privacy['contact_phone'] ? ' | ' . $privacy['contact_phone'] : ''));
|
|
|
|
|
privacy_item($t['hosting'], $privacy['hosting_provider'] ?? '');
|
|
|
|
|
privacy_item($t['purposes'], $privacy['purposes'] ?? '');
|
2026-03-23 16:26:45 +01:00
|
|
|
if ($logInfo) { privacy_item($t['logs'], $logInfo); }
|
|
|
|
|
privacy_item($t['cookies'], $privacy['cookie_statement'] ?? '');
|
2026-05-21 11:52:40 +02:00
|
|
|
privacy_item($t['rights'], $rights);
|
2026-03-23 16:26:45 +01:00
|
|
|
privacy_item($t['last_updated'], $privacy['last_updated'] ?? '');
|
|
|
|
|
?>
|
|
|
|
|
</div>
|
|
|
|
|
</main>
|
|
|
|
|
<?php include __DIR__ . '/partials/footer.php'; ?>
|
2026-05-21 11:52:40 +02:00
|
|
|
<script>
|
|
|
|
|
if (typeof Lenis !== 'undefined') {
|
|
|
|
|
var lenis = new Lenis({ duration: 1.2, smooth: true, smoothTouch: false });
|
|
|
|
|
window.lenis = lenis;
|
|
|
|
|
function raf(t) { lenis.raf(t); requestAnimationFrame(raf); }
|
|
|
|
|
requestAnimationFrame(raf);
|
|
|
|
|
}
|
|
|
|
|
</script>
|