last change
All checks were successful
Deploy / deploy (push) Successful in 56s

This commit is contained in:
2026-08-07 23:43:36 +02:00
parent c9b1839460
commit a102b2aa0c
15 changed files with 486 additions and 1 deletions

View File

@@ -0,0 +1,26 @@
<?php
declare(strict_types=1);
use App\App;
use App\CalendarSync;
$app = App::get();
if (!isset($_SESSION['user_id'])) {
http_response_code(403);
header('Content-Type: text/plain; charset=utf-8');
echo 'Login erforderlich.';
return;
}
$calendarSync = new CalendarSync($app);
$calendarSync->ensureSchema();
$userId = (int)$_SESSION['user_id'];
$ics = $calendarSync->renderUserCalendarIcs($userId, 'Papa-Kind-Treff Events');
header('Content-Type: text/calendar; charset=utf-8');
header('Content-Disposition: attachment; filename="papa-kind-treff-events.ics"');
header('Cache-Control: no-store, no-cache, must-revalidate, max-age=0');
echo $ics;

View File

@@ -0,0 +1,35 @@
<?php
declare(strict_types=1);
use App\App;
use App\CalendarSync;
$app = App::get();
$token = trim((string)($_GET['token'] ?? ''));
if ($token === '') {
http_response_code(400);
header('Content-Type: text/plain; charset=utf-8');
echo 'Token fehlt.';
return;
}
$calendarSync = new CalendarSync($app);
$calendarSync->ensureSchema();
$userId = $calendarSync->findUserIdByFeedToken($token);
if (!$userId) {
http_response_code(404);
header('Content-Type: text/plain; charset=utf-8');
echo 'Kalender-Feed nicht gefunden.';
return;
}
$calendarSync->touchFeedAccess($userId);
$ics = $calendarSync->renderUserCalendarIcs($userId, 'Papa-Kind-Treff Events');
header('Content-Type: text/calendar; charset=utf-8');
header('Content-Disposition: inline; filename="papa-kind-treff-events-feed.ics"');
header('Cache-Control: no-store, no-cache, must-revalidate, max-age=0');
echo $ics;

View File

@@ -9,7 +9,7 @@ $clientCookie = $config->cookiePrefix() . 'client';
<main class="container section legal-page">
<div class="content-card content-card--narrow page-copy">
<h1>Datenschutz &amp; Cookies</h1>
<p class="muted small">Stand: 4. August 2026</p>
<p class="muted small">Stand: 5. August 2026</p>
<p>
Diese Hinweise erklären, welche personenbezogenen Daten beim Besuch und bei der Nutzung von Papa-Kind-Treff
@@ -62,6 +62,12 @@ $clientCookie = $config->cookiePrefix() . 'client';
Soweit es sich um sensible oder besonders persönliche Profildaten handelt, werden diese innerhalb der
Anwendung verschlüsselt gespeichert und verarbeitet.
</p>
<p>
Wenn du deine Events in einen privaten Kalender exportierst oder einen persönlichen Kalender-Feed abonnierst,
werden dabei ausschließlich deine eigenen Events und deine Event-Teilnahmen als Kalenderdaten bereitgestellt.
Der abonnierbare Feed ist über eine persönliche, nicht öffentliche URL abgesichert. Diese URL sollte vertraulich
behandelt und nicht an Dritte weitergegeben werden.
</p>
<p>
Rechtsgrundlage ist Art. 6 Abs. 1 lit. b DSGVO, soweit die Verarbeitung für die Durchführung des
Nutzungsverhältnisses erforderlich ist.