Code Coverage |
||||||||||
Lines |
Functions and Methods |
Classes and Traits |
||||||||
Total | |
0.00% |
0 / 18 |
|
0.00% |
0 / 1 |
CRAP | |
0.00% |
0 / 1 |
OlzDatenschutzParams | n/a |
0 / 0 |
n/a |
0 / 0 |
0 | n/a |
0 / 0 |
|||
OlzDatenschutz | |
0.00% |
0 / 18 |
|
0.00% |
0 / 1 |
6 | |
0.00% |
0 / 1 |
getHtml | |
0.00% |
0 / 18 |
|
0.00% |
0 / 1 |
6 |
1 | <?php |
2 | |
3 | namespace Olz\Components\OtherPages\OlzDatenschutz; |
4 | |
5 | use Olz\Components\Common\OlzComponent; |
6 | use Olz\Components\Page\OlzFooter\OlzFooter; |
7 | use Olz\Components\Page\OlzHeader\OlzHeader; |
8 | use Olz\Entity\Roles\Role; |
9 | use Olz\Repository\Roles\PredefinedRole; |
10 | use Olz\Users\Components\OlzUserInfoModal\OlzUserInfoModal; |
11 | use Olz\Utils\HttpParams; |
12 | |
13 | /** @extends HttpParams<array{}> */ |
14 | class OlzDatenschutzParams extends HttpParams { |
15 | } |
16 | |
17 | /** @extends OlzComponent<array<string, mixed>> */ |
18 | class OlzDatenschutz extends OlzComponent { |
19 | public static string $title = "Datenschutz"; |
20 | public static string $description = "Die Datenschutzerklärung der OL Zimmerberg."; |
21 | |
22 | public function getHtml(mixed $args): string { |
23 | $this->httpUtils()->validateGetParams(OlzDatenschutzParams::class); |
24 | $entityManager = $this->dbUtils()->getEntityManager(); |
25 | $role_repo = $entityManager->getRepository(Role::class); |
26 | $datenschutz_role = $role_repo->getPredefinedRole(PredefinedRole::Sysadmin); |
27 | |
28 | $out = OlzHeader::render([ |
29 | 'title' => self::$title, |
30 | 'description' => self::$description, |
31 | ]); |
32 | $out .= <<<'ZZZZZZZZZZ' |
33 | <div class='content-right'> |
34 | <h2>Datenschutz-Verantwortliche</h2> |
35 | <ul class='no-style datenschutz-assignees'> |
36 | ZZZZZZZZZZ; |
37 | $datenschutz_assignees = $datenschutz_role?->getUsers() ?? []; |
38 | foreach ($datenschutz_assignees as $datenschutz_assignee) { |
39 | $out .= "<li>"; |
40 | $out .= OlzUserInfoModal::render([ |
41 | 'user' => $datenschutz_assignee, |
42 | 'mode' => 'name_picture', |
43 | ]); |
44 | $out .= "</li>"; |
45 | } |
46 | $out .= <<<'ZZZZZZZZZZ' |
47 | </ul> |
48 | </div> |
49 | <div class='content-middle'> |
50 | <h1>Datenschutzerklärung</h1> |
51 | <h3>Grundsatz</h3> |
52 | <p>Wir sammeln <b>keine</b> personenbezogenen Daten von <b>nicht eingeloggten Nicht-Mitgliedern</b>.</p> |
53 | <p>Von <b>eingeloggten</b> Nutzern sammeln wir nur die personenbezogenen Daten, die für den Orientierungslauf-Vereinsbetrieb oder die Funktionalität dieser Website <b>notwendig</b> sind.</p> |
54 | <p>Von <b>Vereinsmitgliedern</b> sammeln wir nur die personenbezogenen Daten, die für den Orientierungslauf-Vereinsbetrieb <b>notwendig</b> sind.</p> |
55 | <h3>Zweck</h3> |
56 | <p>Von <b>eingeloggten</b> Nutzern bearbeiten wir folgende Personendaten:</p> |
57 | <ul> |
58 | <li>Name und E-Mail-Adresse für den <b>Versand des Newsletters</b></li> |
59 | <li>Benutzername und Passwort für das <b>OLZ-Login</b></li> |
60 | <li>Name, Geschlecht, volle Adresse, Telefonnummer, E-Mail-Adresse und Geburtsdatum für die <b>Mitgliederliste</b></li> |
61 | <li>Name, Geschlecht, Wohnort, Geburtsdatum, SI-Card-Nummer, Telefonnummer und E-Mail-Adresse für die <b>Anmeldung für Anlässe</b></li> |
62 | </ul> |
63 | <p>Von <b>Vereinsmitgliedern</b> bearbeiten wir folgende Personendaten:</p> |
64 | <ul> |
65 | <li>Name, Geschlecht, volle Adresse, Telefonnummer, E-Mail-Adresse und Geburtsdatum für die <b>Mitgliederliste</b></li> |
66 | <li>Name, Geschlecht, Wohnort, Geburtsdatum, SI-Card-Nummer, Telefonnummer und E-Mail-Adresse für die <b>Anmeldung für Anlässe</b></li> |
67 | </ul> |
68 | <h3>Speicherungsdauer</h3> |
69 | <p>Wir speichern deine Daten, bis du sie löschst, dein Konto löschst oder eine bestimmte Art Daten nicht mehr für mindestens einen der angegebenen Zwecke benötigt wird (z.B. wird bei einem Vereinsaustritt die Person von der Mitgliederliste gelöscht).</p> |
70 | <h3>Weitergabe von Daten</h3> |
71 | <p>Wir geben deine Daten nicht weiter, mit Ausnahme der folgenden Fälle:</p> |
72 | <ul> |
73 | <li>Wenn du Mitglied der OL Zimmerberg bist, werden wir deine Kontaktdaten (Mitgliederliste) zur <b>Ermöglichung der klubinternen Kommunikation</b> anderen Klubmitgliedern zur Verfügung stellen.</li> |
74 | <li>Wenn du Mitglied der OL Zimmerberg bist, werden wir deine Postadresse der Redaktion des HOLZ und gegebenenfalls der Druckerei zur Verfügung stellen, damit sie dir das <b>Klubheftli HOLZ zustellen</b> kann.</li> |
75 | <li>Wenn du dich für einen <b>Anlass anmeldest</b>, werden wir die benötigten Daten dem Veranstalter übermitteln</li> |
76 | </ul> |
77 | <p>Unser Hoster, <a href='https://www.hosttech.ch/webhosting/'>Hosttech</a> ist Mitglied bei swiss hosting, speichert also alle Daten in der Schweiz.</p> |
78 | <h3>Cookies</h3> |
79 | <p>Wenn du dich einloggst, muss aus technischen Gründen in deinem Browser ein Cookie gespeichert werden.</p> |
80 | <p>Das Cookie enthält keine personenbezogenen Daten.</p> |
81 | <h3>Auskunft</h3> |
82 | <p>Um Auskunft über deine Daten zu erhalten, kannst du dich an die Datenschutz-Verantwortlichen wenden.</p> |
83 | </div> |
84 | ZZZZZZZZZZ; |
85 | |
86 | $out .= OlzFooter::render(); |
87 | return $out; |
88 | } |
89 | } |