diff --git a/.idea/dataSources.local.xml b/.idea/dataSources.local.xml index 707e2b3..b341a8a 100644 --- a/.idea/dataSources.local.xml +++ b/.idea/dataSources.local.xml @@ -1,6 +1,6 @@ - + " diff --git a/content/datenschutz.php b/content/datenschutz.php index 01d264e..ed43c8e 100644 --- a/content/datenschutz.php +++ b/content/datenschutz.php @@ -2,188 +2,234 @@ Seite: Datenschutzerklärung Inhalt: Informationen zur Datenverarbeitung gemäß DSGVO --> -
-

Datenschutz­erklärung

-

1. Datenschutz auf einen Blick

-

Allgemeine Hinweise

Die folgenden Hinweise geben einen einfachen Überblick darüber, -was mit Ihren personenbezogenen Daten passiert, wenn Sie diese Website besuchen. Personenbezogene Daten sind -alle Daten, mit denen Sie persönlich identifiziert werden können. Ausführliche Informationen zum -Thema Datenschutz entnehmen Sie unserer unter diesem Text aufgeführten -Datenschutzerklärung.

-

Datenerfassung auf dieser Website

Wer ist verantwortlich für die Datenerfassung auf dieser -Website?

Die Datenverarbeitung auf dieser Website erfolgt durch den Websitebetreiber. Dessen -Kontaktdaten können Sie dem Abschnitt „Hinweis zur verantwortlichen Stelle“ in dieser -Datenschutzerklärung entnehmen.

Wie erfassen wir Ihre Daten?

Ihre Daten werden zum -einen dadurch erhoben, dass Sie uns diese mitteilen. Hierbei kann es sich z. B. um Daten handeln, die Sie in ein -Kontaktformular eingeben.

Andere Daten werden automatisch oder nach Ihrer Einwilligung beim Besuch -der Website durch unsere IT-Systeme erfasst. Das sind vor allem technische Daten (z. B. Internetbrowser, -Betriebssystem oder Uhrzeit des Seitenaufrufs). Die Erfassung dieser Daten erfolgt automatisch, sobald Sie diese -Website betreten.

Wofür nutzen wir Ihre Daten?

Ein Teil der Daten wird erhoben, um eine -fehlerfreie Bereitstellung der Website zu gewährleisten. Andere Daten können zur Analyse Ihres -Nutzerverhaltens verwendet werden. Sofern über die Website Verträge geschlossen oder angebahnt -werden können, werden die übermittelten Daten auch für Vertragsangebote, Bestellungen oder -sonstige Auftragsanfragen verarbeitet.

Welche Rechte haben Sie bezüglich Ihrer Daten?

-

Sie haben jederzeit das Recht, unentgeltlich Auskunft über Herkunft, Empfänger und Zweck Ihrer -gespeicherten personenbezogenen Daten zu erhalten. Sie haben außerdem ein Recht, die Berichtigung oder -Löschung dieser Daten zu verlangen. Wenn Sie eine Einwilligung zur Datenverarbeitung erteilt haben, -können Sie diese Einwilligung jederzeit für die Zukunft widerrufen. Außerdem haben Sie das Recht, -unter bestimmten Umständen die Einschränkung der Verarbeitung Ihrer personenbezogenen Daten zu -verlangen. Des Weiteren steht Ihnen ein Beschwerderecht bei der zuständigen Aufsichtsbehörde -zu.

Hierzu sowie zu weiteren Fragen zum Thema Datenschutz können Sie sich jederzeit an uns -wenden.

-

2. Hosting

-

Wir hosten die Inhalte unserer Website bei folgendem Anbieter:

-

Externes Hosting

Diese Website wird extern gehostet. Die personenbezogenen Daten, die auf dieser -Website erfasst werden, werden auf den Servern des Hosters / der Hoster gespeichert. Hierbei kann es sich -v. a. um IP-Adressen, Kontaktanfragen, Meta- und Kommunikationsdaten, Vertragsdaten, Kontaktdaten, -Namen, Websitezugriffe und sonstige Daten, die über eine Website generiert werden, handeln.

Das -externe Hosting erfolgt zum Zwecke der Vertragserfüllung gegenüber unseren potenziellen und -bestehenden Kunden (Art. 6 Abs. 1 lit. b DSGVO) und im Interesse einer sicheren, schnellen und effizienten -Bereitstellung unseres Online-Angebots durch einen professionellen Anbieter (Art. 6 Abs. 1 lit. f DSGVO). Sofern -eine entsprechende Einwilligung abgefragt wurde, erfolgt die Verarbeitung ausschließlich auf Grundlage von -Art. 6 Abs. 1 lit. a DSGVO und § 25 Abs. 1 TDDDG, soweit die Einwilligung die Speicherung von Cookies oder -den Zugriff auf Informationen im Endgerät des Nutzers (z. B. Device-Fingerprinting) im Sinne des -TDDDG umfasst. Die Einwilligung ist jederzeit widerrufbar.

Unser(e) Hoster wird bzw. werden Ihre Daten -nur insoweit verarbeiten, wie dies zur Erfüllung seiner Leistungspflichten erforderlich ist und unsere -Weisungen in Bezug auf diese Daten befolgen.

Wir setzen folgende(n) Hoster ein:

-

-Platzhalter-

-

Auftragsverarbeitung

Wir haben einen Vertrag über Auftragsverarbeitung (AVV) zur Nutzung -des oben genannten Dienstes geschlossen. Hierbei handelt es sich um einen datenschutzrechtlich vorgeschriebenen -Vertrag, der gewährleistet, dass dieser die personenbezogenen Daten unserer Websitebesucher nur nach -unseren Weisungen und unter Einhaltung der DSGVO verarbeitet.

-

3. Allgemeine Hinweise und Pflicht­informationen

-

Datenschutz

Die Betreiber dieser Seiten nehmen den Schutz Ihrer persönlichen Daten sehr -ernst. Wir behandeln Ihre personenbezogenen Daten vertraulich und entsprechend den gesetzlichen -Datenschutzvorschriften sowie dieser Datenschutzerklärung.

Wenn Sie diese Website benutzen, -werden verschiedene personenbezogene Daten erhoben. Personenbezogene Daten sind Daten, mit denen Sie -persönlich identifiziert werden können. Die vorliegende Datenschutzerklärung erläutert, -welche Daten wir erheben und wofür wir sie nutzen. Sie erläutert auch, wie und zu welchem Zweck das -geschieht.

Wir weisen darauf hin, dass die Datenübertragung im Internet (z. B. bei der -Kommunikation per E-Mail) Sicherheitslücken aufweisen kann. Ein lückenloser Schutz der Daten vor -dem Zugriff durch Dritte ist nicht möglich.

-

Hinweis zur verantwortlichen Stelle

Die verantwortliche Stelle für die Datenverarbeitung auf -dieser Website ist:

Ammerlaender Heerstrasse, 114-118

-

Telefon: 0123456789
-E-Mail: GruppeC@uol.de

-

Verantwortliche Stelle ist die natürliche oder juristische Person, die allein oder gemeinsam mit anderen -über die Zwecke und Mittel der Verarbeitung von personenbezogenen Daten (z. B. Namen, E-Mail- -Adressen o. Ä.) entscheidet.

-

Speicherdauer

Soweit innerhalb dieser Datenschutzerklärung keine speziellere Speicherdauer -genannt wurde, verbleiben Ihre personenbezogenen Daten bei uns, bis der Zweck für die Datenverarbeitung -entfällt. Wenn Sie ein berechtigtes Löschersuchen geltend machen oder eine Einwilligung zur -Datenverarbeitung widerrufen, werden Ihre Daten gelöscht, sofern wir keine anderen rechtlich -zulässigen Gründe für die Speicherung Ihrer personenbezogenen Daten haben (z. B. steuer- -oder handelsrechtliche Aufbewahrungsfristen); im letztgenannten Fall erfolgt die Löschung nach Fortfall -dieser Gründe.

-

Allgemeine Hinweise zu den Rechtsgrundlagen der Datenverarbeitung auf dieser Website

Sofern Sie -in die Datenverarbeitung eingewilligt haben, verarbeiten wir Ihre personenbezogenen Daten auf Grundlage von Art. -6 Abs. 1 lit. a DSGVO bzw. Art. 9 Abs. 2 lit. a DSGVO, sofern besondere Datenkategorien nach Art. 9 Abs. 1 DSGVO -verarbeitet werden. Im Falle einer ausdrücklichen Einwilligung in die Übertragung personenbezogener -Daten in Drittstaaten erfolgt die Datenverarbeitung außerdem auf Grundlage von Art. 49 Abs. 1 lit. a DSGVO. -Sofern Sie in die Speicherung von Cookies oder in den Zugriff auf Informationen in Ihr Endgerät (z. B. via -Device-Fingerprinting) eingewilligt haben, erfolgt die Datenverarbeitung zusätzlich auf Grundlage von § -25 Abs. 1 TDDDG. Die Einwilligung ist jederzeit widerrufbar. Sind Ihre Daten zur Vertragserfüllung oder zur -Durchführung vorvertraglicher Maßnahmen erforderlich, verarbeiten wir Ihre Daten auf Grundlage des -Art. 6 Abs. 1 lit. b DSGVO. Des Weiteren verarbeiten wir Ihre Daten, sofern diese zur Erfüllung einer -rechtlichen Verpflichtung erforderlich sind, auf Grundlage von Art. 6 Abs. 1 lit. c DSGVO. Die Datenverarbeitung -kann ferner auf Grundlage unseres berechtigten Interesses nach Art. 6 Abs. 1 lit. f DSGVO erfolgen. Über die -jeweils im Einzelfall einschlägigen Rechtsgrundlagen wird in den folgenden Absätzen dieser -Datenschutzerklärung informiert.

-

Empfänger von personenbezogenen Daten

Im Rahmen unserer Geschäftstätigkeit -arbeiten wir mit verschiedenen externen Stellen zusammen. Dabei ist teilweise auch eine Übermittlung von -personenbezogenen Daten an diese externen Stellen erforderlich. Wir geben personenbezogene Daten nur dann an -externe Stellen weiter, wenn dies im Rahmen einer Vertragserfüllung erforderlich ist, wenn wir gesetzlich -hierzu verpflichtet sind (z. B. Weitergabe von Daten an Steuerbehörden), wenn wir ein berechtigtes -Interesse nach Art. 6 Abs. 1 lit. f DSGVO an der Weitergabe haben oder wenn eine sonstige Rechtsgrundlage die -Datenweitergabe erlaubt. Beim Einsatz von Auftragsverarbeitern geben wir personenbezogene Daten unserer -Kunden nur auf Grundlage eines gültigen Vertrags über Auftragsverarbeitung weiter. Im Falle einer -gemeinsamen Verarbeitung wird ein Vertrag über gemeinsame Verarbeitung geschlossen.

-

Widerruf Ihrer Einwilligung zur Datenverarbeitung

Viele Datenverarbeitungsvorgänge sind -nur mit Ihrer ausdrücklichen Einwilligung möglich. Sie können eine bereits erteilte Einwilligung -jederzeit widerrufen. Die Rechtmäßigkeit der bis zum Widerruf erfolgten Datenverarbeitung bleibt vom -Widerruf unberührt.

-

Widerspruchsrecht gegen die Datenerhebung in besonderen Fällen sowie gegen Direktwerbung (Art. 21 -DSGVO)

WENN DIE DATENVERARBEITUNG AUF GRUNDLAGE VON ART. 6 ABS. 1 LIT. E ODER F -DSGVO ERFOLGT, HABEN SIE JEDERZEIT DAS RECHT, AUS GRÜNDEN, DIE SICH AUS IHRER -BESONDEREN SITUATION ERGEBEN, GEGEN DIE VERARBEITUNG IHRER PERSONENBEZOGENEN DATEN -WIDERSPRUCH EINZULEGEN; DIES GILT AUCH FÜR EIN AUF DIESE BESTIMMUNGEN GESTÜTZTES -PROFILING. DIE JEWEILIGE RECHTSGRUNDLAGE, AUF DENEN EINE VERARBEITUNG BERUHT, ENTNEHMEN -SIE DIESER DATENSCHUTZERKLÄRUNG. WENN SIE WIDERSPRUCH EINLEGEN, WERDEN WIR IHRE -BETROFFENEN PERSONENBEZOGENEN DATEN NICHT MEHR VERARBEITEN, ES SEI DENN, WIR -KÖNNEN ZWINGENDE SCHUTZWÜRDIGE GRÜNDE FÜR DIE VERARBEITUNG -NACHWEISEN, DIE IHRE INTERESSEN, RECHTE UND FREIHEITEN ÜBERWIEGEN ODER DIE -VERARBEITUNG DIENT DER GELTENDMACHUNG, AUSÜBUNG ODER VERTEIDIGUNG VON -RECHTSANSPRÜCHEN (WIDERSPRUCH NACH ART. 21 ABS. 1 DSGVO).

WERDEN IHRE -PERSONENBEZOGENEN DATEN VERARBEITET, UM DIREKTWERBUNG ZU BETREIBEN, SO HABEN SIE DAS -RECHT, JEDERZEIT WIDERSPRUCH GEGEN DIE VERARBEITUNG SIE BETREFFENDER PERSONENBEZOGENER -DATEN ZUM ZWECKE DERARTIGER WERBUNG EINZULEGEN; DIES GILT AUCH FÜR DAS PROFILING, -SOWEIT ES MIT SOLCHER DIREKTWERBUNG IN VERBINDUNG STEHT. WENN SIE WIDERSPRECHEN, -WERDEN IHRE PERSONENBEZOGENEN DATEN ANSCHLIESSEND NICHT MEHR ZUM ZWECKE DER -DIREKTWERBUNG VERWENDET (WIDERSPRUCH NACH ART. 21 ABS. 2 DSGVO).

-

Beschwerde­recht bei der zuständigen Aufsichts­behörde

Im Falle von -Verstößen gegen die DSGVO steht den Betroffenen ein Beschwerderecht bei einer -Aufsichtsbehörde, insbesondere in dem Mitgliedstaat ihres gewöhnlichen Aufenthalts, ihres -Arbeitsplatzes oder des Orts des mutmaßlichen Verstoßes zu. Das Beschwerderecht besteht -unbeschadet anderweitiger verwaltungsrechtlicher oder gerichtlicher Rechtsbehelfe.

-

Recht auf Daten­übertrag­barkeit

Sie haben das Recht, Daten, die wir auf Grundlage -Ihrer Einwilligung oder in Erfüllung eines Vertrags automatisiert verarbeiten, an sich oder an einen Dritten in -einem gängigen, maschinenlesbaren Format aushändigen zu lassen. Sofern Sie die direkte -Übertragung der Daten an einen anderen Verantwortlichen verlangen, erfolgt dies nur, soweit es technisch -machbar ist.

-

Auskunft, Berichtigung und Löschung

Sie haben im Rahmen der geltenden gesetzlichen -Bestimmungen jederzeit das Recht auf unentgeltliche Auskunft über Ihre gespeicherten personenbezogenen -Daten, deren Herkunft und Empfänger und den Zweck der Datenverarbeitung und ggf. ein Recht auf -Berichtigung oder Löschung dieser Daten. Hierzu sowie zu weiteren Fragen zum Thema personenbezogene -Daten können Sie sich jederzeit an uns wenden.

-

Recht auf Einschränkung der Verarbeitung

Sie haben das Recht, die Einschränkung der -Verarbeitung Ihrer personenbezogenen Daten zu verlangen. Hierzu können Sie sich jederzeit an uns wenden. -Das Recht auf Einschränkung der Verarbeitung besteht in folgenden Fällen:

  • Wenn Sie die -Richtigkeit Ihrer bei uns gespeicherten personenbezogenen Daten bestreiten, benötigen wir in der Regel Zeit, -um dies zu überprüfen. Für die Dauer der Prüfung haben Sie das Recht, die -Einschränkung der Verarbeitung Ihrer personenbezogenen Daten zu verlangen.
  • Wenn die -Verarbeitung Ihrer personenbezogenen Daten unrechtmäßig geschah/geschieht, können Sie statt -der Löschung die Einschränkung der Datenverarbeitung verlangen.
  • Wenn wir Ihre -personenbezogenen Daten nicht mehr benötigen, Sie sie jedoch zur Ausübung, Verteidigung oder -Geltendmachung von Rechtsansprüchen benötigen, haben Sie das Recht, statt der Löschung die -Einschränkung der Verarbeitung Ihrer personenbezogenen Daten zu verlangen.
  • Wenn Sie einen -Widerspruch nach Art. 21 Abs. 1 DSGVO eingelegt haben, muss eine Abwägung zwischen Ihren und unseren -Interessen vorgenommen werden. Solange noch nicht feststeht, wessen Interessen überwiegen, haben Sie das -Recht, die Einschränkung der Verarbeitung Ihrer personenbezogenen Daten zu verlangen.
-

Wenn Sie die Verarbeitung Ihrer personenbezogenen Daten eingeschränkt haben, dürfen diese -Daten – von ihrer Speicherung abgesehen – nur mit Ihrer Einwilligung oder zur Geltendmachung, -Ausübung oder Verteidigung von Rechtsansprüchen oder zum Schutz der Rechte einer anderen -natürlichen oder juristischen Person oder aus Gründen eines wichtigen öffentlichen Interesses der -Europäischen Union oder eines Mitgliedstaats verarbeitet werden.

+
-

Cookies

-

- Unsere Internetseiten verwenden so genannte „Cookies“. Cookies sind kleine Datenpakete und richten auf - Ihrem Endgerät keinen Schaden an. Sie werden entweder vorübergehend für die Dauer einer Sitzung - (Session-Cookies) oder dauerhaft (permanente Cookies) auf Ihrem Endgerät gespeichert. Session-Cookies - werden nach Ende Ihres Besuchs automatisch gelöscht. Permanente Cookies bleiben auf Ihrem Endgerät - gespeichert, bis Sie diese selbst löschen oder eine automatische Löschung durch Ihren Webbrowser erfolgt. - Cookies haben verschiedene Funktionen. Zahlreiche Cookies sind technisch notwendig, da bestimmte - Webseitenfunktionen ohne diese nicht funktionieren würden (z. B. die Anmeldung). Andere Cookies können zur - Auswertung des Nutzerverhaltens oder zu Werbezwecken verwendet werden. - Cookies, die zur Durchführung des elektronischen Kommunikationsvorgangs, zur Bereitstellung - bestimmter, von Ihnen erwünschter Funktionen oder zur Optimierung der - Website (z. B. Cookies zur Messung des Webpublikums) erforderlich sind (notwendige Cookies), werden auf - Grundlage von Art. 6 Abs. 1 lit. f DSGVO gespeichert, sofern keine andere Rechtsgrundlage angegeben wird. - Der Websitebetreiber hat ein berechtigtes Interesse an der Speicherung von notwendigen Cookies zur - technisch fehlerfreien und optimierten Bereitstellung seiner Dienste. Sofern eine Einwilligung zur - Speicherung von Cookies und vergleichbaren Wiedererkennungstechnologien abgefragt wurde, erfolgt die - Verarbeitung ausschließlich auf Grundlage dieser Einwilligung (Art. 6 Abs. 1 lit. a DSGVO und § 25 Abs. 1 - TDDDG); die Einwilligung ist jederzeit widerrufbar. - Sie können Ihren Browser so einstellen, dass Sie über das Setzen von Cookies informiert werden und - Cookies nur im Einzelfall erlauben, die Annahme von Cookies für bestimmte Fälle oder generell ausschließen - sowie das automatische Löschen der Cookies beim Schließen des Browsers aktivieren. Bei der - Deaktivierung von Cookies kann die Funktionalität dieser Website eingeschränkt sein. - Sofern weitere Cookies und Dienste auf dieser Website eingesetzt werden, können Sie dies dieser - Datenschutzerklärung entnehmen. +

Datenschutzerklärung

- Auf dieser Webseite werden jedoch nur technisch notwendige Cookies verwendet. -

-

Quelle: https://www.e-recht24.de

+

1. Datenschutz auf einen Blick

-
+

Allgemeine Hinweise

+ +

+ Die folgenden Hinweise geben einen einfachen Überblick darüber, + was mit Ihren personenbezogenen Daten passiert, wenn Sie diese Website besuchen. + Personenbezogene Daten sind alle Daten, mit denen Sie persönlich identifiziert werden können. + Ausführliche Informationen zum Datenschutz finden Sie in dieser Datenschutzerklärung. +

+ +

Datenerfassung auf dieser Website

+ +

Wer ist verantwortlich für die Datenerfassung?

+ +

+ Die Datenverarbeitung erfolgt durch den Betreiber dieser Website. + Die Kontaktdaten finden Sie im Abschnitt + „Hinweis zur verantwortlichen Stelle“. +

+ +

Wie erfassen wir Ihre Daten?

+ +

+ Personenbezogene Daten werden erhoben, wenn Sie diese freiwillig + im Rahmen der Nutzung der Plattform angeben. + Dies betrifft insbesondere die Registrierung eines Benutzerkontos, + Änderungen am Benutzerprofil sowie das Veröffentlichen von Beiträgen + und Kommentaren. +

+ +

+ Darüber hinaus werden beim Besuch der Website automatisch technische + Informationen wie Browsertyp, Betriebssystem oder Zeitpunkt des Seitenaufrufs + verarbeitet. Diese Daten dienen ausschließlich der technischen Bereitstellung + und Sicherheit der Website. +

+ +

Wofür nutzen wir Ihre Daten?

+ +

+ Die erhobenen Daten werden verwendet, um Ihr Benutzerkonto bereitzustellen, + die Funktionen der Plattform zu ermöglichen sowie Beiträge und Kommentare + den jeweiligen Benutzerkonten zuzuordnen. + Außerdem werden technische Daten verarbeitet, um einen sicheren und + fehlerfreien Betrieb der Website zu gewährleisten. +

+ +

Welche Rechte haben Sie bezüglich Ihrer Daten?

+ +

+ Sie haben jederzeit das Recht auf Auskunft über Ihre gespeicherten + personenbezogenen Daten sowie auf Berichtigung oder Löschung dieser Daten. + Darüber hinaus können Sie eine erteilte Einwilligung jederzeit mit Wirkung + für die Zukunft widerrufen. Außerdem steht Ihnen ein Beschwerderecht bei der + zuständigen Datenschutzaufsichtsbehörde zu. +

+ +

2. Hosting

+ +

+ Diese Website wird auf einem Server der Carl von Ossietzky Universität + Oldenburg im Rahmen eines Studienprojekts betrieben. +

+ +

Hosting

+ +

+ Zur Bereitstellung der Website werden technisch notwendige Daten, + beispielsweise IP-Adressen oder Server-Logdaten, verarbeitet. + Diese Daten dienen ausschließlich dem sicheren Betrieb der Website. +

+ +

3. Allgemeine Hinweise und Pflichtinformationen

+ +

Datenschutz

+ +

+ Die Betreiber dieser Website behandeln personenbezogene Daten vertraulich + und entsprechend der Datenschutz-Grundverordnung (DSGVO) sowie den + geltenden gesetzlichen Datenschutzvorschriften. +

+ +

+ Personenbezogene Daten werden nur in dem Umfang verarbeitet, + wie dies für die Bereitstellung der Plattform und ihrer Funktionen + erforderlich ist. +

+ +

Registrierung und Benutzerkonto

+ +

+ Bei der Registrierung werden personenbezogene Daten wie + Vorname, Nachname, E-Mail-Adresse und ein verschlüsseltes Passwort + verarbeitet. + Diese Daten dienen ausschließlich der Bereitstellung und Verwaltung + Ihres Benutzerkontos. +

+ +

Beiträge und Kommentare

+ +

+ Wenn Sie Beiträge oder Kommentare veröffentlichen, + werden diese gemeinsam mit Ihrem Benutzerkonto gespeichert + und auf der Plattform angezeigt. +

+ +

Hinweis zur verantwortlichen Stelle

+ +

+ Verantwortlich für die Datenverarbeitung ist: +

+ +

+ Carl von Ossietzky Universität Oldenburg
+ Ammerländer Heerstraße 114–118
+ E-Mail: GruppeC@uol.de +

+ +

+ Verantwortliche Stelle ist die natürliche oder juristische Person, + die über Zwecke und Mittel der Verarbeitung personenbezogener Daten entscheidet. +

+ +

Speicherdauer

+ +

+ Personenbezogene Daten werden nur solange gespeichert, + wie dies zur Erfüllung des jeweiligen Zwecks erforderlich ist + oder gesetzliche Aufbewahrungspflichten bestehen. +

+ +

Allgemeine Hinweise zu den Rechtsgrundlagen der Datenverarbeitung

+ +

+ Die Verarbeitung personenbezogener Daten erfolgt entsprechend den + gesetzlichen Vorgaben der DSGVO. + Je nach Verarbeitung erfolgt diese insbesondere auf Grundlage + von Art. 6 Abs. 1 lit. a, b, c oder f DSGVO. +

+

Empfänger von personenbezogenen Daten

+ +

+ Personenbezogene Daten werden grundsätzlich nicht an Dritte weitergegeben, + sofern hierfür keine gesetzliche Verpflichtung besteht oder dies zur + Bereitstellung der Plattform erforderlich ist. +

+ +

Widerruf Ihrer Einwilligung zur Datenverarbeitung

+ +

+ Sofern die Verarbeitung personenbezogener Daten auf Ihrer Einwilligung + beruht, können Sie diese Einwilligung jederzeit mit Wirkung für die Zukunft + widerrufen. Die Rechtmäßigkeit der bis zum Widerruf erfolgten Verarbeitung + bleibt hiervon unberührt. +

+ +

Widerspruchsrecht nach Art. 21 DSGVO

+ +

+ Werden personenbezogene Daten auf Grundlage von Art. 6 Abs. 1 lit. e oder + lit. f DSGVO verarbeitet, haben Sie das Recht, aus Gründen, die sich aus + Ihrer besonderen Situation ergeben, jederzeit Widerspruch gegen diese + Verarbeitung einzulegen. +

+ +

Beschwerderecht bei der zuständigen Aufsichtsbehörde

+ +

+ Im Falle datenschutzrechtlicher Verstöße haben Betroffene das Recht, + Beschwerde bei einer zuständigen Datenschutzaufsichtsbehörde einzulegen. +

+ +

Recht auf Datenübertragbarkeit

+ +

+ Sie haben das Recht, personenbezogene Daten, die wir auf Grundlage Ihrer + Einwilligung oder zur Vertragserfüllung automatisiert verarbeiten, + in einem gängigen, maschinenlesbaren Format zu erhalten oder an einen + anderen Verantwortlichen übertragen zu lassen, soweit dies technisch + möglich ist. +

+ +

Auskunft, Berichtigung und Löschung

+ +

+ Sie haben jederzeit das Recht auf unentgeltliche Auskunft über Ihre + gespeicherten personenbezogenen Daten sowie auf Berichtigung, + Einschränkung der Verarbeitung oder Löschung dieser Daten, + soweit dem keine gesetzlichen Aufbewahrungspflichten entgegenstehen. +

+ +

Recht auf Einschränkung der Verarbeitung

+ +

+ Unter den gesetzlichen Voraussetzungen können Sie die Einschränkung der + Verarbeitung Ihrer personenbezogenen Daten verlangen. +

+ +

Cookies

+ +

+ Diese Website verwendet ausschließlich technisch notwendige Cookies. + Diese dienen beispielsweise der Sitzungsverwaltung nach der Anmeldung + sowie der sicheren und fehlerfreien Bereitstellung der Website. +

+ +

+ Es werden keine Analyse-, Marketing- oder Tracking-Cookies eingesetzt. +

+ +

+ Sie können Ihren Browser so konfigurieren, dass Sie über das Setzen von + Cookies informiert werden oder Cookies vollständig ablehnen. + Dadurch können einzelne Funktionen der Website eingeschränkt sein. +

+ +

Änderungen dieser Datenschutzerklärung

+ +

+ Der Betreiber behält sich vor, diese Datenschutzerklärung anzupassen, + wenn dies aufgrund technischer oder rechtlicher Änderungen erforderlich + wird. +

+ +
diff --git a/content/nutzungsbedingungen.php b/content/nutzungsbedingungen.php index c5ae257..dd6e10c 100644 --- a/content/nutzungsbedingungen.php +++ b/content/nutzungsbedingungen.php @@ -1,6 +1,6 @@ @@ -23,63 +23,83 @@ include_once 'includes/navbar.php'; ?> -
+
-
+

Nutzungsbedingungen

-

Nutzungsbedingungen

+

+ Diese Nutzungsbedingungen regeln die Nutzung der Plattform EduForge. + Mit der Registrierung und Nutzung der Website erkennen Nutzerinnen und Nutzer + die nachfolgenden Bedingungen an. +

-

- Diese Nutzungsbedingungen regeln die Nutzung der Plattform EduForge. - Mit der Registrierung und Nutzung der Website erkennen Nutzerinnen und Nutzer - die nachfolgenden Bedingungen an. -

+

1. Nutzung der Plattform

+

+ EduForge dient dem Austausch von Lerninhalten, Beiträgen und Kommentaren. + Die Nutzung der Plattform darf ausschließlich im Rahmen der geltenden Gesetze erfolgen. +

-

1. Nutzung der Plattform

-

- EduForge dient dem Austausch von Lerninhalten, Beiträgen und Kommentaren. - Die Nutzung der Plattform darf ausschließlich im Rahmen der geltenden Gesetze erfolgen. -

+

2. Registrierung und Benutzerkonto

+

+ Für die Nutzung bestimmter Funktionen ist eine Registrierung erforderlich. + Nutzerinnen und Nutzer verpflichten sich, bei der Registrierung + wahrheitsgemäße Angaben zu machen und ihre Zugangsdaten vertraulich zu behandeln. + Änderungen der Profildaten können jederzeit über das Benutzerprofil vorgenommen werden. +

-

2. Verhalten der Nutzerinnen und Nutzer

-

- Nutzerinnen und Nutzer verpflichten sich zu einem respektvollen Umgang miteinander. - Das Veröffentlichen von beleidigenden, diskriminierenden, rechtswidrigen oder - anderweitig unangemessenen Inhalten ist untersagt. -

+

3. Verhalten der Nutzerinnen und Nutzer

+

+ Nutzerinnen und Nutzer verpflichten sich zu einem respektvollen Umgang miteinander. + Das Veröffentlichen von beleidigenden, diskriminierenden, rechtswidrigen oder + anderweitig unangemessenen Inhalten ist untersagt. +

-

3. Veröffentlichung von Inhalten

-

- Nutzerinnen und Nutzer sind für die von ihnen veröffentlichten Inhalte selbst verantwortlich. - Dies gilt insbesondere für Beiträge, Kommentare, Bilder und sonstige hochgeladene Dateien. -

+

4. Veröffentlichung von Inhalten

+

+ Nutzerinnen und Nutzer sind für die von ihnen veröffentlichten Inhalte selbst verantwortlich. + Dies gilt insbesondere für Beiträge, Kommentare, Bilder und sonstige hochgeladene Dateien. +

-

4. Urheberrechte

-

- Es dürfen ausschließlich Inhalte veröffentlicht werden, an denen die Nutzerinnen und Nutzer - die erforderlichen Rechte besitzen. Durch das Einstellen von Inhalten versichern die - Nutzerinnen und Nutzer, keine Rechte Dritter zu verletzen. -

+

5. Benutzerkonto löschen

+

+ Nutzerinnen und Nutzer können ihr Benutzerkonto jederzeit über die entsprechende + Funktion der Plattform löschen. Personenbezogene Daten werden anschließend gemäß + der Datenschutzerklärung verarbeitet. +

-

5. Entfernung von Inhalten

-

- Inhalte, die gegen diese Nutzungsbedingungen oder geltendes Recht verstoßen, - können vom Betreiber der Plattform entfernt werden. -

+

6. Passwort und Passwort-Reset

+

+ Nutzerinnen und Nutzer sind verpflichtet, ihr Passwort geheim zu halten und + nicht an Dritte weiterzugeben. Bei Verlust oder Vergessen des Passworts kann + die bereitgestellte Passwort-Reset-Funktion genutzt werden. +

-

6. Änderungen der Nutzungsbedingungen

-

- Der Betreiber behält sich vor, diese Nutzungsbedingungen anzupassen, sofern dies - für den Betrieb oder die Weiterentwicklung der Plattform erforderlich ist. -

+

7. Moderation und Entfernung von Inhalten

+

+ Der Betreiber behält sich vor, Beiträge, Kommentare oder Benutzerkonten zu sperren + oder Inhalte zu entfernen, wenn diese gegen geltendes Recht oder diese + Nutzungsbedingungen verstoßen. +

-
+

8. Urheberrechte

+

+ Es dürfen ausschließlich Inhalte veröffentlicht werden, an denen die Nutzerinnen + und Nutzer die erforderlichen Rechte besitzen. Durch das Einstellen von Inhalten + versichern sie, keine Rechte Dritter zu verletzen. +

-
+

9. Änderungen der Nutzungsbedingungen

+

+ Der Betreiber behält sich vor, diese Nutzungsbedingungen anzupassen, sofern dies + für den Betrieb oder die Weiterentwicklung der Plattform erforderlich ist. + Über wesentliche Änderungen werden die Nutzerinnen und Nutzer informiert. +

+ +
+ + - - \ No newline at end of file diff --git a/content/profile.php b/content/profile.php index 3109587..ef6bdf6 100644 --- a/content/profile.php +++ b/content/profile.php @@ -1,5 +1,4 @@ +
+ +
+ + + + + +
diff --git a/css/main.css b/css/main.css index a2bc707..a9dc026 100644 --- a/css/main.css +++ b/css/main.css @@ -414,4 +414,34 @@ h1 { /* Geändertes Symbol, wenn der Bereich geöffnet ist */ .edit-comment-details[open] .edit-comment-button::before { content: "▲ "; +} +.comment-loading { + display: flex; + align-items: center; + gap: 8px; + margin-top: 10px; +} + +.comment-loading[hidden] { + display: none; +} + +.comment-spinner { + width: 16px; + height: 16px; + border: 2px solid #cbd5e1; + border-top-color: #1f2937; + border-radius: 50%; + animation: comment-spinner-rotation 0.8s linear infinite; +} + +@keyframes comment-spinner-rotation { + to { + transform: rotate(360deg); + } +} + +#comment-form button[type="submit"]:disabled { + cursor: wait; + opacity: 0.65; } \ No newline at end of file diff --git a/css/search-results.css b/css/search-results.css index a89817c..fbf630a 100644 --- a/css/search-results.css +++ b/css/search-results.css @@ -271,4 +271,33 @@ CSS für die Suchergebnis-Seite align-items: flex-start; } } +/* Ladeanzeige beim Nachladen von Such- und Kategorieergebnissen */ +.results-loading { + display: flex; + align-items: center; + gap: 8px; + margin: 15px 0; + color: #4a5568; + font-size: 0.95rem; +} + +.results-loading[hidden] { + display: none; +} + +.results-spinner { + width: 16px; + height: 16px; + flex-shrink: 0; + border: 2px solid #cbd5e1; + border-top-color: #3182ce; + border-radius: 50%; + animation: results-spinner-rotation 0.8s linear infinite; +} + +@keyframes results-spinner-rotation { + to { + transform: rotate(360deg); + } +} diff --git a/index.php b/index.php index b70d61c..f17f987 100644 --- a/index.php +++ b/index.php @@ -5,6 +5,7 @@ if (session_status() === PHP_SESSION_NONE) { include_once "includes/csrf.php"; include_once "php/controller/index-controller.php"; ?> + diff --git a/js/comments.js b/js/comments.js index 9ad43a8..5760cf5 100644 --- a/js/comments.js +++ b/js/comments.js @@ -11,7 +11,19 @@ document.addEventListener("DOMContentLoaded", function () { const parentCommentInput = document.getElementById("parent-comment-id"); const replyInfo = document.getElementById("reply-info"); - if (!form || !commentsList || !commentContent || !parentCommentInput) { + const submitButton = form + ? form.querySelector('button[type="submit"]') + : null; + + const loadingMessage = document.getElementById("comment-loading"); + + if ( + !form + || !commentsList + || !commentContent + || !parentCommentInput + || !submitButton + ) { return; } @@ -53,6 +65,23 @@ document.addEventListener("DOMContentLoaded", function () { form.addEventListener("submit", function (event) { event.preventDefault(); + /* + * Verhindert einen erneuten Submit, während der vorherige + * Kommentar noch gespeichert wird. + */ + if (submitButton.disabled) { + return; + } + + const originalButtonText = submitButton.textContent; + + submitButton.disabled = true; + submitButton.textContent = "Wird gesendet …"; + + if (loadingMessage) { + loadingMessage.hidden = false; + } + const formData = new FormData(form); const parentCommentId = parentCommentInput.value; @@ -293,6 +322,14 @@ document.addEventListener("DOMContentLoaded", function () { .catch(function (error) { console.error(error); alert("Kommentar konnte nicht gesendet werden."); + }) + .finally(function () { + submitButton.disabled = false; + submitButton.textContent = originalButtonText; + + if (loadingMessage) { + loadingMessage.hidden = true; + } }); }); diff --git a/js/search-results.js b/js/search-results.js index 9461e39..4d12c06 100644 --- a/js/search-results.js +++ b/js/search-results.js @@ -25,6 +25,7 @@ let listContainer, sortRadios, categorySelect, limitSelect; let prevBtn, nextBtn, numbersContainer, jsNav, resultCountEl; + let loadingElement; function init() { listContainer = document.querySelector('.s-res-list'); @@ -38,23 +39,41 @@ numbersContainer = document.getElementById('dynamic-page-numbers'); jsNav = document.getElementById('js-page-navigation'); resultCountEl = document.getElementById('s-res-result-count'); + loadingElement = document.getElementById('results-loading'); const checkedRadio = document.querySelector('.sort-radio:checked'); state.sort = checkedRadio ? checkedRadio.value : 'alphabet'; state.category = categorySelect ? categorySelect.value : 'all'; state.itemsPerPage = limitSelect ? (parseInt(limitSelect.value, 10) || 10) : 10; + if (loadingElement) { + loadingElement.hidden = false; + } + fetchFullDataset() .then(function (data) { state.allItems = data.results || []; attachEvents(); render(); - if (jsNav) jsNav.style.display = 'flex'; + + if (jsNav) { + jsNav.style.display = 'flex'; + } }) .catch(function (err) { - // JSON-Endpoint nicht erreichbar: die serverseitig gerenderte - // (No-JS-)Ansicht bleibt sichtbar und funktioniert weiter. - console.error('Suchergebnisse konnten nicht nachgeladen werden:', err); + /* + * Falls das Nachladen nicht funktioniert, bleibt die bereits + * serverseitig ausgegebene Ergebnisliste sichtbar. + */ + console.error( + 'Suchergebnisse konnten nicht nachgeladen werden:', + err + ); + }) + .finally(function () { + if (loadingElement) { + loadingElement.hidden = true; + } }); } diff --git a/js/showCategory.js b/js/showCategory.js index 08b07ff..394a721 100644 --- a/js/showCategory.js +++ b/js/showCategory.js @@ -21,6 +21,7 @@ let listContainer, sortRadios, searchInput, limitSelect; let prevBtn, nextBtn, numbersContainer, jsNav, resultCountEl; + let loadingElement; let searchDebounceTimer; function init() { @@ -35,23 +36,41 @@ numbersContainer = document.getElementById('dynamic-page-numbers'); jsNav = document.getElementById('js-page-navigation'); resultCountEl = document.getElementById('s-res-result-count'); + loadingElement = document.getElementById('results-loading'); const checkedRadio = document.querySelector('.sort-radio:checked'); state.sort = checkedRadio ? checkedRadio.value : 'alphabet'; state.query = searchInput ? searchInput.value : ''; state.itemsPerPage = limitSelect ? (parseInt(limitSelect.value, 10) || 10) : 10; + if (loadingElement) { + loadingElement.hidden = false; + } + fetchFullDataset() .then(function (data) { state.allItems = data.results || []; attachEvents(); render(); - if (jsNav) jsNav.style.display = 'flex'; + + if (jsNav) { + jsNav.style.display = 'flex'; + } }) .catch(function (err) { - // JSON-Endpoint nicht erreichbar: die serverseitig gerenderte - // (No-JS-)Ansicht bleibt sichtbar und funktioniert weiter. - console.error('Kategorie-Beiträge konnten nicht nachgeladen werden:', err); + /* + * Falls das Nachladen nicht funktioniert, bleibt die bereits + * serverseitig ausgegebene Kategorieansicht sichtbar. + */ + console.error( + 'Kategorie-Beiträge konnten nicht nachgeladen werden:', + err + ); + }) + .finally(function () { + if (loadingElement) { + loadingElement.hidden = true; + } }); } diff --git a/php/controller/index-controller.php b/php/controller/index-controller.php index e782797..8763069 100644 --- a/php/controller/index-controller.php +++ b/php/controller/index-controller.php @@ -20,6 +20,8 @@ if ($pfad === "login") { include_once "php/controller/confirm-register-controller.php"; } elseif ($pfad === "confirm-password") { include_once "php/controller/confirm-password-controller.php"; +} elseif ($pfad === "profile") { + include_once "php/controller/profile-controller.php"; } elseif ($pfad === "updateComment") { include_once "php/controller/updateComment-controller.php"; } elseif($pfad === "deleteComment") { diff --git a/php/controller/register-controller.php b/php/controller/register-controller.php index 8723d9c..a885de0 100644 --- a/php/controller/register-controller.php +++ b/php/controller/register-controller.php @@ -12,6 +12,7 @@ if ($_SERVER["REQUEST_METHOD"] === "POST") { $vorname = trim($_POST["vorname"] ?? ""); $nachname = trim($_POST["nachname"] ?? ""); $plainPassword = $_POST["password"] ?? ""; + $termsAccepted = $_POST["termsAccepted"] ?? null; if (!userEmailValidator($email)) { $error = "Bitte gib eine gültige E-Mail-Adresse ein."; @@ -21,6 +22,8 @@ if ($_SERVER["REQUEST_METHOD"] === "POST") { $error = "Der Nachname muss 2 bis 20 Zeichen lang sein und darf nur Buchstaben, Umlaute, Leerzeichen und Bindestriche enthalten."; } elseif (!userPasswordValidator($plainPassword)) { $error = "Das Passwort muss 5 bis 12 Zeichen lang sein."; + } elseif ($termsAccepted !== "1") { + $error = "Bitte akzeptiere die Datenschutzerklärung und die Nutzungsbedingungen."; } else { try { $dao = UserManager::getInstance(); @@ -30,23 +33,34 @@ if ($_SERVER["REQUEST_METHOD"] === "POST") { $existingUser = $dao->findUser($email); if (!is_dir("data/mails") && !mkdir("data/mails", 0777, true)) { - throw new RuntimeException("Ordner data/mails konnte nicht erstellt werden."); + throw new RuntimeException( + "Ordner data/mails konnte nicht erstellt werden." + ); } if (!is_dir("data/pending") && !mkdir("data/pending", 0777, true)) { - throw new RuntimeException("Ordner data/pending konnte nicht erstellt werden."); + throw new RuntimeException( + "Ordner data/pending konnte nicht erstellt werden." + ); } if (!is_writable("data/mails")) { - throw new RuntimeException("Ordner data/mails ist nicht beschreibbar."); + throw new RuntimeException( + "Ordner data/mails ist nicht beschreibbar." + ); } if (!is_writable("data/pending")) { - throw new RuntimeException("Ordner data/pending ist nicht beschreibbar."); + throw new RuntimeException( + "Ordner data/pending ist nicht beschreibbar." + ); } if ($existingUser === null) { - $password = password_hash($plainPassword, PASSWORD_DEFAULT); + $password = password_hash( + $plainPassword, + PASSWORD_DEFAULT + ); $pendingData = [ "email" => $email, @@ -57,12 +71,18 @@ if ($_SERVER["REQUEST_METHOD"] === "POST") { file_put_contents( "data/pending/" . $token . ".json", - json_encode($pendingData, JSON_PRETTY_PRINT) + json_encode( + $pendingData, + JSON_PRETTY_PRINT + ) ); $mailContent = "

Registrierung bestätigen

-

Bitte ignorieren Sie diese Nachricht, wenn Sie sich nicht registrieren wollten.

+

+ Bitte ignorieren Sie diese Nachricht, + wenn Sie sich nicht registrieren wollten. +

Registrierung bestätigen @@ -72,7 +92,10 @@ if ($_SERVER["REQUEST_METHOD"] === "POST") { } else { $mailContent = "

Registrierung

-

Bitte ignorieren Sie diese Nachricht, wenn Sie sich nicht registrieren wollten.

+

+ Bitte ignorieren Sie diese Nachricht, + wenn Sie sich nicht registrieren wollten. +

Sie sind bereits registriert.

@@ -82,11 +105,17 @@ if ($_SERVER["REQUEST_METHOD"] === "POST") { "; } - file_put_contents("data/mails/" . $token . ".html", $mailContent); + file_put_contents( + "data/mails/" . $token . ".html", + $mailContent + ); - // Neutrale Meldung, damit nicht sichtbar wird, ob die E-Mail bereits registriert ist. - $success = 'Weitere Infos finden Sie in der Datei - xy.'; + // Neutrale Meldung, damit nicht sichtbar wird, + // ob die E-Mail bereits registriert ist. + $success = 'Weitere Infos finden Sie in der Datei + xy.'; } catch (Exception $e) { $error = "Die Registrierung konnte nicht verarbeitet werden."; diff --git a/php/model/DatabaseArticleManager.php b/php/model/DatabaseArticleManager.php index 8e3f57e..ae44b48 100644 --- a/php/model/DatabaseArticleManager.php +++ b/php/model/DatabaseArticleManager.php @@ -63,9 +63,12 @@ class DatabaseArticleManager implements ArticleManagerDAO { VALUES (:title, :content, :author, :category, :tags);"; $command = $db->prepare($sql); + if (!$command) { + throw new InternalServerErrorException("internal_error"); + } // Verknüpft die übergebenen Parameter exakt mit den SQL-Platzhaltern - $command->execute([ + $success = $command->execute([ ":title" => $title, ":content" => $content, ":author" => $author, @@ -73,6 +76,10 @@ class DatabaseArticleManager implements ArticleManagerDAO { ":tags" => $tags ]); + if (!$success) { + throw new InternalServerErrorException("internal_error"); + } + return intval($db->lastInsertId()); } catch (PDOException $e) { @@ -287,7 +294,7 @@ class DatabaseArticleManager implements ArticleManagerDAO { $command = $db->prepare($sql); - // Wildcards für die Suche hinzufügen + // Wildcards für die SQL-Suche hinzufügen $searchParam = '%' . $cleankeyword . '%'; $command->execute([