Compare commits

..

4 Commits

Author SHA1 Message Date
caroschulte02-alt 2258bf05eb First Implementation 2026-05-13 21:52:25 +02:00
caroschulte02-alt af1a7d8e16 First Implementation 2026-05-13 21:47:45 +02:00
caroschulte02-alt 0131f50d3a First Implementation 2026-05-13 21:46:23 +02:00
caroschulte02-alt 31af70a296 First Implementation 2026-05-13 21:44:52 +02:00
43 changed files with 972 additions and 1323 deletions
-3
View File
@@ -8,6 +8,3 @@ Abgabe zu Aufgabenblatt 1
Hinweise:
index.html wurde zu einer index.php umbenannt.
webhook.php bitte ignorieren. Diese dient nur als zukünftige Automatisierung des Repo-Pulls (s. https://docs.gitea.com/usage/webhooks)
Beim Verwenden der Navbar-Links bitte Folgendes beachten: nur die Kategorien Physik, Mathe, Informatik führen exemplarisch auf eine Beispiel-Seite.
Die anderen Links sind erstmal Platzhalter, dessen dynamischer Inhalt später mit PHP in die index.php eingefügt wird. Alle anderen Links führen auf eine 404-Seite.
+76
View File
@@ -0,0 +1,76 @@
<!--
Artikel: Datenschutz vs Datensicherheit
Funktion: Inhalt zum Fach Informatik
-->
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="utf-8">
<meta name="description" content="EduForge">
<meta name="author" content="Niklas Ortmann">
<link rel="stylesheet" href="../../css/main.css" />
<title>EduForge</title>
</head>
<body>
<nav style="background:#808080; height: 60px;">
<div style="float:left; text-align: center;">
<a href="../index.php">
<img src="../images/logo.png" alt="" style="height: 44px;">
</a>
|
<a href = "../content/informatik.php" style = "padding: 5px; text-align: center; text-decoration: none; display: inline-block;"><b>Informatik</b></a>
|
<a href = "../content/mathe.php" style = "padding: 5px; text-align: center; text-decoration: none; display: inline-block;"><b>Mathe</b></a>
|
<a href = "../content/physik.php" style = "padding: 5px; text-align: center; text-decoration: none; display: inline-block;"><b>Physik</b></a>
|
<a href = "../content/profile.php" style = "padding: 5px; text-align: center; text-decoration: none; display: inline-block;"><b>Dein Profil</b></a>
|
</div>
<div style="float:right; text-align: center;">
<?php
include_once '../includes/search.php';
?>
|
<a href = "../auth/login.php" style = "background-color: #f44336; color: white; padding: 4px 20px; text-align: center; text-decoration: none; display: inline-block;"> Anmelden </a>
<a href = "../auth/register.php" style = "background-color: #f44336; color: white; padding: 4px 20px; text-align: center; text-decoration: none; display: inline-block;"> Registrieren </a>
</div>
</nav>
<main>
<h1>Datenschutz vs Datensicherheit</h1>
<p>
Datenschutz ist in unserer digital vernetzten Welt allgegenwärtig ob in sozialen Netzwerken, beim
Online-Shopping oder dem Einsatz von Bonuskarten, bei der Auswertung von Konsumverhalten und selbstverständlich
auch im schulischen Kontext.
</p>
<h2>
Was ist Datenschutz?
</h2>
<p>
Datenschutz bedeutet, dass persönliche Daten nur gesammelt, gespeichert und verwendet werden dürfen, wenn
es wirklich nötig ist und nur für klar festgelegte Zwecke. Es geht darum, die Privatsphäre von Menschen
zu schützen.
</p>
<h2>
Was ist Datenschutz?
</h2>
<p>
Datensicherheit umfasst alle technischen und organisatorischen Maßnahmen, die verhindern sollen, dass Daten
verloren gehen, beschädigt oder unbemerkt verändert werden. Sie schützt Informationen vor Missbrauch.
</p>
</main>
<footer style="position:fixed;bottom:0;width:100%;background:#fff;text-align:center;">
<a href="../../legal/impressum.php">Impressum</a>
<a href="../../legal/datenschutz.php">Datenschutz</a>
<a href="../../legal/nutzungsbedingungen.php">Nutzungsbedingungen</a>
</footer>
</body>
</html>
+72
View File
@@ -0,0 +1,72 @@
<!--
Artikel: Satz des Pythagoras
Funktion: Inhalt zum Fach Mathe
-->
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="utf-8">
<meta name="description" content="EduForge">
<meta name="author" content="Niklas Ortmann">
<link rel="stylesheet" href="../../css/main.css" />
<title>EduForge</title>
</head>
<body>
<nav style="background:#808080; height: 60px;">
<div style="float:left; text-align: center;">
<a href="../index.php">
<img src="../images/logo.png" alt="" style="height: 44px;">
</a>
|
<a href = "../content/informatik.php" style = "padding: 5px; text-align: center; text-decoration: none; display: inline-block;"><b>Informatik</b></a>
|
<a href = "../content/mathe.php" style = "padding: 5px; text-align: center; text-decoration: none; display: inline-block;"><b>Mathe</b></a>
|
<a href = "../content/physik.php" style = "padding: 5px; text-align: center; text-decoration: none; display: inline-block;"><b>Physik</b></a>
|
<a href = "../content/profile.php" style = "padding: 5px; text-align: center; text-decoration: none; display: inline-block;"><b>Dein Profil</b></a>
|
</div>
<div style="float:right; text-align: center;">
<?php
include_once '../includes/search.php';
?>
|
<a href = "../auth/login.php" style = "background-color: #f44336; color: white; padding: 4px 20px; text-align: center; text-decoration: none; display: inline-block;"> Anmelden </a>
<a href = "../auth/register.php" style = "background-color: #f44336; color: white; padding: 4px 20px; text-align: center; text-decoration: none; display: inline-block;"> Registrieren </a>
</div>
</nav>
<main>
<h1>Satz des Pythagoras</h1>
<p>
Der Satz des Pythagoras wurde von dem griechischen Philosophen Pythagoras von Samos formuliert und im
dritten Jahrhundert vor Christus veröffentlicht.
</p>
<figure>
<img src="https://cdn8.picryl.com/photo/2016/05/14/pythagoras-e9560b-1024.jpg" alt="Trulli" style="width:10%">
<figcaption><a href="https://cdn8.picryl.com/photo/2016/05/14/pythagoras-e9560b-1024.jpg">Quelle</a></figcaption>
</figure>
<p>
In der beigefügten Abbildung sehen wir ein rechtwinkliges Dreieck, dessen drei Seiten die Längen a, b und c
besitzen. Auf jeder Seite ist ein Quadrat konstruiert. Das Quadrat auf der Seite a hat die Fläche a2, das
Quadrat auf der Seite b hat die Fläche b2 und das Quadrat auf der Seite c hat die Fläche c2. Der Satz des
Pythagoras besagt, dass die Summe der Flächen der beiden kleineren Quadrate gleich der Fläche des größten
Quadrats ist. Das bedeutet, dass a^2+b^2=c^2 (Satz des Pythagoras).
</p>
<a href="../docs/Uebungsaufgaben_Pythagoras.pdf">Lernzettel-Download</a>
</main>
<footer style="position:fixed;bottom:0;width:100%;background:#fff;text-align:center;">
<a href="../../legal/impressum.php">Impressum</a>
<a href="../../legal/datenschutz.php">Datenschutz</a>
<a href="../../legal/nutzungsbedingungen.php">Nutzungsbedingungen</a>
</footer>
</body>
</html>
+66
View File
@@ -0,0 +1,66 @@
<!--
Artikel: Tunneleffekt
Funktion: Inhalt zum Fach Physik
-->
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="utf-8">
<meta name="description" content="EduForge">
<meta name="author" content="Niklas Ortmann">
<link rel="stylesheet" href="../../css/main.css" />
<title>EduForge</title>
</head>
<body>
<nav style="background:#808080; height: 60px;">
<div style="float:left; text-align: center;">
<a href="../index.php">
<img src="../images/logo.png" alt="" style="height: 44px;">
</a>
|
<a href = "../content/informatik.php" style = "padding: 5px; text-align: center; text-decoration: none; display: inline-block;"><b>Informatik</b></a>
|
<a href = "../content/mathe.php" style = "padding: 5px; text-align: center; text-decoration: none; display: inline-block;"><b>Mathe</b></a>
|
<a href = "../content/physik.php" style = "padding: 5px; text-align: center; text-decoration: none; display: inline-block;"><b>Physik</b></a>
|
<a href = "../content/profile.php" style = "padding: 5px; text-align: center; text-decoration: none; display: inline-block;"><b>Dein Profil</b></a>
|
</div>
<div style="float:right; text-align: center;">
<?php
include_once '../includes/search.php';
?>
|
<a href = "../auth/login.php" style = "background-color: #f44336; color: white; padding: 4px 20px; text-align: center; text-decoration: none; display: inline-block;"> Anmelden </a>
<a href = "../auth/register.php" style = "background-color: #f44336; color: white; padding: 4px 20px; text-align: center; text-decoration: none; display: inline-block;"> Registrieren </a>
</div>
</nav>
<main>
<h1>Tunneleffekt</h1>
<p>
Der Tunneleffekt ist ein quantenmechanisches Phänomen, bei dem Teilchen vor allem Elektronen eine
Energiebarriere überwinden können, obwohl sie nach den Regeln der klassischen Physik nicht genügend Energie
dafür besitzen. In der klassischen Vorstellung müsste ein Elektron entweder genügend Energie haben, um über
eine Barriere zu „springen“, oder es würde vollständig zurückgeworfen. In der Quantenphysik wird ein Elektron
jedoch nicht als punktförmiges Teilchen beschrieben, sondern als Wellenfunktion, die sich räumlich ausdehnt.
Dadurch besteht eine endliche Wahrscheinlichkeit, dass sich das Elektron auf der anderen Seite einer Barriere
befindet (Griffiths & Schroeter, 2018).
</p>
</main>
<footer style="position:fixed;bottom:0;width:100%;background:#fff;text-align:center;">
<a href="../../legal/impressum.php">Impressum</a>
<a href="../../legal/datenschutz.php">Datenschutz</a>
<a href="../../legal/nutzungsbedingungen.php">Nutzungsbedingungen</a>
</footer>
</body>
</html>
+83
View File
@@ -0,0 +1,83 @@
<!--
Form: Login-Bereich
Funktion: Benutzerauthentifizierung und Zugang zum eigenen Profil, Erstellen von Beiträgen, etc.
-->
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="utf-8">
<meta name="description" content="EduForge">
<meta name="author" content="Niklas Ortmann">
<link rel="stylesheet" href="../css/main.css" />
<title>EduForge</title>
</head>
<body>
<nav style="background:#808080; height: 60px;">
<div style="float:left; text-align: center;">
<a href="../index.php">
<img src="../images/logo.png" alt="" style="height: 44px;">
</a>
|
<a href = "../content/informatik.php" style = "padding: 5px; text-align: center; text-decoration: none; display: inline-block;"><b>Informatik</b></a>
|
<a href = "../content/mathe.php" style = "padding: 5px; text-align: center; text-decoration: none; display: inline-block;"><b>Mathe</b></a>
|
<a href = "../content/physik.php" style = "padding: 5px; text-align: center; text-decoration: none; display: inline-block;"><b>Physik</b></a>
|
<a href = "../content/profile.php" style = "padding: 5px; text-align: center; text-decoration: none; display: inline-block;"><b>Dein Profil</b></a>
|
</div>
<div style="float:right; text-align: center;">
<?php
include_once '../includes/search.php';
?>
|
<a href = "login.php" style = "background-color: #f44336; color: white; padding: 4px 20px; text-align: center; text-decoration: none; display: inline-block;"> Anmelden </a>
<a href = "register.php" style = "background-color: #f44336; color: white; padding: 4px 20px; text-align: center; text-decoration: none; display: inline-block;"> Registrieren </a>
</div>
</nav>
<main class="login-page">
<div class="login-container">
<div class="logo-wrapper">
<img src="../images/logo.png" alt="Logo" class="login-logo">
</div>
<h1>Bitte anmelden</h1>
<form>
<label id ="inputEmail" class="screenreader-only">E-Mail Adresse / </label>
<p class="input-label">Benutzername/E-Mail-Adresse:</p>
<input type="email" name="email" class="login-input" placeholder="E-Mail-Adresse" required autofocus>
<p class="input-label">Passwort:</p>
<input type="password" name="password" class="login-input" placeholder="Passwort" required>
<div class="checkbox-wrapper">
<label>
<input type="checkbox" name="remember-me" value="1"> angemeldet bleiben
</label>
</div>
<button type="submit" value="anmelden" name="loginSubmit" class="login-button">anmelden</button>
<div class="register-link">
<a href="register.php">Noch keinen Account? Jetzt hier registrieren!</a>
</div>
</form>
</div>
</main>
<footer style="position:fixed;bottom:0;width:100%;background:#fff;text-align:center;">
<a href="../legal/impressum.php">Impressum</a>
<a href="../legal/datenschutz.php">Datenschutz</a>
<a href="../legal/nutzungsbedingungen.php">Nutzungsbedingungen</a>
</footer>
</body>
</html>
+83
View File
@@ -0,0 +1,83 @@
<!--
Form: Registrierung
Funktion: Erstellung neuer Benutzerkonten
-->
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="utf-8">
<meta name="description" content="EduForge">
<meta name="author" content="Niklas Ortmann">
<link rel="stylesheet" href="../css/main.css" />
<title>EduForge</title>
</head>
<body>
<nav style="background:#808080; height: 60px;">
<div style="float:left; text-align: center;">
<a href="../index.php">
<img src="../images/logo.png" alt="" style="height: 44px;">
</a>
|
<a href = "../content/informatik.php" style = "padding: 5px; text-align: center; text-decoration: none; display: inline-block;"><b>Informatik</b></a>
|
<a href = "../content/mathe.php" style = "padding: 5px; text-align: center; text-decoration: none; display: inline-block;"><b>Mathe</b></a>
|
<a href = "../content/physik.php" style = "padding: 5px; text-align: center; text-decoration: none; display: inline-block;"><b>Physik</b></a>
|
<a href = "../content/profile.php" style = "padding: 5px; text-align: center; text-decoration: none; display: inline-block;"><b>Dein Profil</b></a>
|
</div>
<div style="float:right; text-align: center;">
<?php
include_once '../includes/search.php';
?>
|
<a href = "login.php" style = "background-color: #f44336; color: white; padding: 4px 20px; text-align: center; text-decoration: none; display: inline-block;"> Anmelden </a>
<a href = "register.php" style = "background-color: #f44336; color: white; padding: 4px 20px; text-align: center; text-decoration: none; display: inline-block;"> Registrieren </a>
</div>
</nav>
<main class="login-page">
<div class="login-container">
<div class="logo-wrapper">
<img src="../images/logo.png" alt="Logo" class="login-logo">
</div>
<h1>Jetzt Registrieren!</h1>
<form>
<p class="input-label">Email:</p>
<input type="email" name="email" class="login-input" placeholder="mustermann@web.de" required>
<p class="input-label">Vorname:</p>
<input type="text" name="vorname" class="login-input" placeholder="Max" required>
<p class="input-label">Nachname:</p>
<input type="text" name="nachname" class="login-input" placeholder="Mustermann" required>
<p class="input-label">Passwort:</p>
<input type="password" name="password" class="login-input" placeholder="Passwort" required>
<div class="checkbox-wrapper">
<label>
<input type="checkbox" value="remember-me"> angemeldet bleiben
</label>
</div>
<button type="submit" value="anmelden" name="loginSubmit" class="login-button">kostenlos registrieren</button>
</form>
</div>
</main>
<footer style="position:fixed;bottom:0;width:100%;background:#fff;text-align:center;">
<a href="../legal/impressum.php">Impressum</a>
<a href="../legal/datenschutz.php">Datenschutz</a>
<a href="../legal/nutzungsbedingungen.php">Nutzungsbedingungen</a>
</footer>
</body>
</html>
-12
View File
@@ -1,12 +0,0 @@
<!--
Seite: 404 Seite nicht gefunden
Funktion: Wenn eine Seite nicht gefunden wurde oder noch fehlt, dann wird hierauf verwiesen.
-->
<main>
<h1>404 - Seite nicht vorhanden</h1>
<p>
Später im Projekt sollen über index.php?pfad= ... der Inhalt der index.php dynamisch gesetzt werden.
Alle Content-Links der Navbar führen zunächst hier her. Exemplarisch wurden für die Fächer Informatik, Physik, Mathematik der Content als Seite erstellt und kann über die Navbar ausgekundschaftet werden.
</p>
</main>
-83
View File
@@ -1,83 +0,0 @@
<!--
Seite: Beitrag erstellen
Inhalt: Formular für die Erstellung eines neuen Beitrags
-->
<?php
include_once $abs_path . '/php/model/ArticleManagerDAO.php';
include_once $abs_path . '/php/model/ArticleManager.php';
if(isset($_POST['title']) && isset($_POST['content']) && isset($_POST['category'])) {
}else{
// TODO: Exception werfen.
echo"Fehler!";
}
?>
<form method="post" action="php/controller/createArticle-controller.php" id="editor-form" class="wp-editor-scope editor-container">
<main class="editor-main">
<input type="text" id="title" name="title" placeholder="Titel hier eingeben" required>
<textarea id="content" name="content" placeholder="Schreibe deinen Beitrag..."></textarea>
</main>
<!-- Seitenleiste -->
<aside class="editor-sidebar">
<div class="sidebar-block">
<button type="submit" class="btn-publish">Veröffentlichen</button>
</div>
<div class="sidebar-block">
<label for="category">Kategorie <span class="required">*</span></label>
<select id="category" name="category" required>
<option value="" disabled selected>Kategorie wählen...</option>
<optgroup label="Sprachen">
<option value="deutsch">Deutsch</option>
<option value="englisch">Englisch</option>
<option value="franzoesisch">Französisch</option>
<option value="latein">Latein</option>
<option value="literatur">Literatur</option>
</optgroup>
<optgroup label="MINT">
<option value="mathe">Mathematik</option>
<option value="biologie">Biologie</option>
<option value="chemie">Chemie</option>
<option value="physik">Physik</option>
<option value="informatik">Informatik</option>
<option value="astronomie">Astronomie</option>
</optgroup>
<optgroup label="Gesellschaft & Werte">
<option value="geschichte">Geschichte</option>
<option value="erdkunde">Erdkunde</option>
<option value="sozialkunde">Sozialkunde</option>
<option value="wirtschaft">Wirtschaftskunde</option>
<option value="religion">Religion</option>
<option value="ethik">Ethikunterricht</option>
<option value="philosophie">Philosophie</option>
<option value="psychologie">Psychologie</option>
<option value="kunst">Kunst</option>
<option value="musik">Musik</option>
<option value="theater">Theater</option>
</optgroup>
<optgroup label="Technik & Praxis">
<option value="technik">Technik</option>
<option value="werken">Werken</option>
<option value="hauswirtschaft">Hauswirtschaft</option>
<option value="sport">Sport</option>
</optgroup>
</select>
</div>
<div class="sidebar-block">
<label for="tags">Schlagwörter</label>
<input type="text" id="tags" name="tags" placeholder="z.B. Technik, IT (mit Komma trennen)">
</div>
</aside>
</form>
-18
View File
@@ -1,18 +0,0 @@
<!--
Seite: Datenschutzerklärung
Inhalt: Informationen zur Datenverarbeitung gemäß DSGVO
-->
<main>
<h1>Datenschutz</h1>
<p>
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et
dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet
clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet,
consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat,
sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no
sea takimata sanctus est Lorem ipsum dolor sit amet.
</p>
</main>
+6 -6
View File
@@ -17,23 +17,23 @@
<!-- Flexbox -->
<div class="flexbox">
<div class="container">
<a href="index.php?pfad=informatik" class="category-link">Informatik</a>
<a href="content/informatik.php" class="category-link">Informatik</a>
<div class="article-link">
<a href="datenschutzVSdatensicherheit.php">Datenschutz vs. Datensicherheit</a>
<a href="articles/datenschutz.php">Datenschutz vs. Datensicherheit</a>
</div>
</div>
<div class="container">
<a href="index.php?pfad=mathe" class="category-link">Mathe</a>
<a href="content/mathe.php" class="category-link">Mathe</a>
<div class="article-link">
<a href="pythagoras.php">Satz des Pythagoras</a>
<a href="articles/pythagoras.php">Satz des Pythagoras</a>
</div>
</div>
<div class="container">
<a href="index.php?pfad=physik" class="category-link">Physik</a>
<a href="content/physik.php" class="category-link">Physik</a>
<div class="article-link">
<a href="tunneleffekt.php">Der Tunneleffekt</a>
<a href="articles/tunneleffekt.php">Der Tunneleffekt</a>
</div>
</div>
</div>
-19
View File
@@ -1,19 +0,0 @@
<!--
Seite: Impressum
Inhalt: wer wie was auf der Webseite
-->
<main>
<h1>Impressum</h1>
<p>
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et
dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet
clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet,
consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat,
sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no
sea takimata sanctus est Lorem ipsum dolor sit amet.
</p>
</main>
+49 -1
View File
@@ -2,6 +2,45 @@
Seite: Informatik
Inhalt: Eine Übersicht über alle Beiträge zum Fach
-->
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="utf-8">
<meta name="description" content="EduForge">
<meta name="author" content="Niklas Ortmann">
<link rel="stylesheet" href="../css/main.css" />
<title>EduForge</title>
</head>
<body>
<nav style="background:#808080; height: 60px;">
<div style="float:left; text-align: center;">
<a href="../index.php">
<img src="../images/logo.png" alt="" style="height: 44px;">
</a>
|
<a href = "informatik.php" style = "padding: 5px; text-align: center; text-decoration: none; display: inline-block;"><b>Informatik</b></a>
|
<a href = "mathe.php" style = "padding: 5px; text-align: center; text-decoration: none; display: inline-block;"><b>Mathe</b></a>
|
<a href = "physik.php" style = "padding: 5px; text-align: center; text-decoration: none; display: inline-block;"><b>Physik</b></a>
|
<a href = "profile.php" style = "padding: 5px; text-align: center; text-decoration: none; display: inline-block;"><b>Dein Profil</b></a>
|
</div>
<div style="float:right; text-align: center;">
<?php
include_once '../includes/search.php';
?>
|
<a href = "../auth/login.php" style = "background-color: #f44336; color: white; padding: 4px 20px; text-align: center; text-decoration: none; display: inline-block;"> Anmelden </a>
<a href = "../auth/register.php" style = "background-color: #f44336; color: white; padding: 4px 20px; text-align: center; text-decoration: none; display: inline-block;"> Registrieren </a>
</div>
</nav>
<main>
<h1>Informatik</h1>
@@ -16,6 +55,15 @@
</p>
<h2>Artikel:</h2>
<div>
<a href="datenschutzVSdatensicherheit.php">Datenschutz vs. Datensicherheit</a>
<a href="../articles/datenschutz.php">Datenschutz vs. Datensicherheit</a>
</div>
</main>
<footer style="position:fixed;bottom:0;width:100%;background:#fff;text-align:center;">
<a href="../legal/impressum.php">Impressum</a>
<a href="../legal/datenschutz.php">Datenschutz</a>
<a href="../legal/nutzungsbedingungen.php">Nutzungsbedingungen</a>
</footer>
</body>
</html>
-32
View File
@@ -1,32 +0,0 @@
<!--
Form: Login-Bereich
Funktion: Benutzerauthentifizierung und Zugang zum eigenen Profil, Erstellen von Beiträgen, etc.
-->
<main class="login-page">
<div class="login-container">
<h1>Bitte anmelden</h1>
<form>
<label id ="inputEmail" class="screenreader-only">E-Mail Adresse / </label>
<p class="input-label">Benutzername/E-Mail-Adresse:</p>
<input type="email" name="email" class="login-input" placeholder="E-Mail-Adresse" required autofocus>
<p class="input-label">Passwort:</p>
<input type="password" name="password" class="login-input" placeholder="Passwort" required>
<div class="checkbox-wrapper">
<label>
<input type="checkbox" name="remember-me" value="1"> angemeldet bleiben
</label>
</div>
<button type="submit" value="anmelden" name="loginSubmit" class="login-button">anmelden</button>
<div class="register-link">
<a href="register.php">Noch keinen Account? Jetzt hier registrieren!</a>
</div>
</form>
</div>
</main>
+49 -1
View File
@@ -2,6 +2,45 @@
Seite: Mathe
Inhalt: Eine Übersicht über alle Beiträge zum Fach
-->
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="utf-8">
<meta name="description" content="EduForge">
<meta name="author" content="Niklas Ortmann">
<link rel="stylesheet" href="../css/main.css" />
<title>EduForge</title>
</head>
<body>
<nav style="background:#808080; height: 60px;">
<div style="float:left; text-align: center;">
<a href="../index.php">
<img src="../images/logo.png" alt="" style="height: 44px;">
</a>
|
<a href = "informatik.php" style = "padding: 5px; text-align: center; text-decoration: none; display: inline-block;"><b>Informatik</b></a>
|
<a href = "mathe.php" style = "padding: 5px; text-align: center; text-decoration: none; display: inline-block;"><b>Mathe</b></a>
|
<a href = "physik.php" style = "padding: 5px; text-align: center; text-decoration: none; display: inline-block;"><b>Physik</b></a>
|
<a href = "profile.php" style = "padding: 5px; text-align: center; text-decoration: none; display: inline-block;"><b>Dein Profil</b></a>
|
</div>
<div style="float:right; text-align: center;">
<?php
include_once '../includes/search.php';
?>
|
<a href = "../auth/login.php" style = "background-color: #f44336; color: white; padding: 4px 20px; text-align: center; text-decoration: none; display: inline-block;"> Anmelden </a>
<a href = "../auth/register.php" style = "background-color: #f44336; color: white; padding: 4px 20px; text-align: center; text-decoration: none; display: inline-block;"> Registrieren </a>
</div>
</nav>
<main>
<h1>Mathe</h1>
@@ -17,6 +56,15 @@
<h2>Artikel:</h2>
<div>
<a href="pythagoras.php">Satz des Pythagoras</a>
<a href="../articles/pythagoras.php">Satz des Pythagoras</a>
</div>
</main>
<footer style="position:fixed;bottom:0;width:100%;background:#fff;text-align:center;">
<a href="../legal/impressum.php">Impressum</a>
<a href="../legal/datenschutz.php">Datenschutz</a>
<a href="../legal/nutzungsbedingungen.php">Nutzungsbedingungen</a>
</footer>
</body>
</html>
+49 -1
View File
@@ -2,6 +2,45 @@
Seite: Physik
Inhalt: Eine Übersicht über alle Beiträge zum Fach
-->
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="utf-8">
<meta name="description" content="EduForge">
<meta name="author" content="Niklas Ortmann">
<link rel="stylesheet" href="../css/main.css" />
<title>EduForge</title>
</head>
<body>
<nav style="background:#808080; height: 60px;">
<div style="float:left; text-align: center;">
<a href="../index.php">
<img src="../images/logo.png" alt="" style="height: 44px;">
</a>
|
<a href = "informatik.php" style = "padding: 5px; text-align: center; text-decoration: none; display: inline-block;"><b>Informatik</b></a>
|
<a href = "mathe.php" style = "padding: 5px; text-align: center; text-decoration: none; display: inline-block;"><b>Mathe</b></a>
|
<a href = "physik.php" style = "padding: 5px; text-align: center; text-decoration: none; display: inline-block;"><b>Physik</b></a>
|
<a href = "profile.php" style = "padding: 5px; text-align: center; text-decoration: none; display: inline-block;"><b>Dein Profil</b></a>
|
</div>
<div style="float:right; text-align: center;">
<?php
include_once '../includes/search.php';
?>
|
<a href = "../auth/login.php" style = "background-color: #f44336; color: white; padding: 4px 20px; text-align: center; text-decoration: none; display: inline-block;"> Anmelden </a>
<a href = "../auth/register.php" style = "background-color: #f44336; color: white; padding: 4px 20px; text-align: center; text-decoration: none; display: inline-block;"> Registrieren </a>
</div>
</nav>
<main>
<h1>Physik</h1>
@@ -17,7 +56,16 @@
<h2>Artikel:</h2>
<div>
<a href="tunneleffekt.php">Der Tunneleffekt</a>
<a href="../articles/tunneleffekt.php">Der Tunneleffekt</a>
</div>
</main>
<footer style="position:fixed;bottom:0;width:100%;background:#fff;text-align:center;">
<a href="../legal/impressum.php">Impressum</a>
<a href="../legal/datenschutz.php">Datenschutz</a>
<a href="../legal/nutzungsbedingungen.php">Nutzungsbedingungen</a>
</footer>
</body>
</html>
+54 -1
View File
@@ -1,11 +1,55 @@
<!--
Content: Profil
Seite: Profil
Inhalt: Das eigene Profil, wenn man angemeldet ist. Dort hat man die Möglichkeit seine Angaben zu ändern.
-->
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="utf-8">
<meta name="description" content="EduForge">
<meta name="author" content="Niklas Ortmann">
<link rel="stylesheet" href="../css/main.css" />
<title>EduForge</title>
</head>
<body>
<nav style="background:#808080; height: 60px;">
<div style="float:left; text-align: center;">
<a href="../index.php">
<img src="../images/logo.png" alt="" style="height: 44px;">
</a>
|
<a href = "../content/informatik.php" style = "padding: 5px; text-align: center; text-decoration: none; display: inline-block;"><b>Informatik</b></a>
|
<a href = "../content/mathe.php" style = "padding: 5px; text-align: center; text-decoration: none; display: inline-block;"><b>Mathe</b></a>
|
<a href = "../content/physik.php" style = "padding: 5px; text-align: center; text-decoration: none; display: inline-block;"><b>Physik</b></a>
|
<a href = "../content/profile.php" style = "padding: 5px; text-align: center; text-decoration: none; display: inline-block;"><b>Dein Profil</b></a>
|
</div>
<div style="float:right; text-align: center;">
<?php
include_once '../includes/search.php';
?>
|
<a href = "../auth/login.php" style = "background-color: #f44336; color: white; padding: 4px 20px; text-align: center; text-decoration: none; display: inline-block;"> Anmelden </a>
<a href = "../auth/register.php" style = "background-color: #f44336; color: white; padding: 4px 20px; text-align: center; text-decoration: none; display: inline-block;"> Registrieren </a>
</div>
</nav>
<main class="form-page">
<div class="form-container">
<div class="logo-wrapper">
<h1>Benutzerdaten ändern</h1>
<img src="../images/logo.png" alt="Logo" class="login-logo">
</div>
<form>
<label class="input-label">Vorname</label>
@@ -44,3 +88,12 @@
</div>
</main>
<footer style="position:fixed;bottom:0;width:100%;background:#fff;text-align:center;">
<a href="../legal/impressum.php">Impressum</a>
<a href="../legal/datenschutz.php">Datenschutz</a>
<a href="../legal/nutzungsbedingungen.php">Nutzungsbedingungen</a>
</footer>
</body>
</html>
-32
View File
@@ -1,32 +0,0 @@
<!--
Form: Registrierung
Funktion: Erstellung neuer Benutzerkonten
-->
<main class="login-page">
<div class="login-container">
<h1>Jetzt Registrieren!</h1>
<form>
<p class="input-label">Email:</p>
<input type="email" name="email" class="login-input" placeholder="mustermann@web.de" required>
<p class="input-label">Vorname:</p>
<input type="text" name="vorname" class="login-input" placeholder="Max" required>
<p class="input-label">Nachname:</p>
<input type="text" name="nachname" class="login-input" placeholder="Mustermann" required>
<p class="input-label">Passwort:</p>
<input type="password" name="password" class="login-input" placeholder="Passwort" required>
<div class="checkbox-wrapper">
<label>
<input type="checkbox" value="remember-me"> angemeldet bleiben
</label>
</div>
<button type="submit" value="anmelden" name="loginSubmit" class="login-button">kostenlos registrieren</button>
</form>
</div>
</main>
-123
View File
@@ -1,123 +0,0 @@
/* editor in Flexbox */
.wp-editor-scope.editor-container {
display: flex;
min-height: 100vh;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
color: #1e1e1e;
background-color: #f0f2f5;
box-sizing: border-box;
}
.wp-editor-scope * {
box-sizing: border-box;
margin: 0;
padding: 0;
}
/* Hauptbereich */
.wp-editor-scope .editor-main {
flex: 1;
padding: 40px;
display: flex;
flex-direction: column;
gap: 20px;
background: #ffffff;
}
.wp-editor-scope #title {
font-size: 2.5rem;
font-weight: 700;
border: none;
outline: none;
width: 100%;
background: transparent;
}
.wp-editor-scope #content {
flex: 1;
font-size: 1.1rem;
line-height: 1.6;
border: none;
outline: none;
resize: none;
width: 100%;
background: transparent;
}
/* Seitenleiste */
.wp-editor-scope .editor-sidebar {
width: 300px;
background-color: #ffffff;
border-left: 1px solid #e0e0e0;
padding: 20px;
display: flex;
flex-direction: column;
gap: 24px;
}
.wp-editor-scope .sidebar-block {
display: flex;
flex-direction: column;
gap: 8px;
}
.wp-editor-scope .sidebar-block label {
font-weight: 600;
font-size: 0.9rem;
}
.wp-editor-scope .required {
color: #d94f4f;
}
/* Formularelemente innerhalb der Editor-Sidebar */
.wp-editor-scope .editor-sidebar select,
.wp-editor-scope .editor-sidebar input[type="text"] {
width: 100%;
padding: 8px;
border: 1px solid #ccc;
border-radius: 4px;
font-size: 0.9rem;
background: #ffffff;
}
/* Button-Zeugs */
.wp-editor-scope .btn-publish {
background-color: #007cba;
color: white;
border: none;
padding: 12px;
border-radius: 4px;
font-weight: 600;
cursor: pointer;
font-size: 1rem;
width: 100%;
}
.wp-editor-scope .btn-publish:hover {
background-color: #006ba1;
}
@media (max-width: 760px) {
.wp-editor-scope.editor-container {
/* Sidebar nach unten */
flex-direction: column;
}
.wp-editor-scope .editor-main {
/* weniger Innenabstand */
padding: 20px;
}
.wp-editor-scope #content {
/* Verhindert, dass das Textfeld auf kleinen Displays kollabiert */
min-height: 300px;
}
.wp-editor-scope .editor-sidebar {
width: 100%;
/* Entfernt den linken Rand und setzt ihn nach oben als Trenner */
border-left: none;
border-top: 1px solid #e0e0e0;
}
}
-21
View File
@@ -1,21 +0,0 @@
/* FooterGrundlayout */
footer {
position: fixed;
bottom: 0;
width: 100%;
background: #333d43;
text-align: center;
padding: 10px 0;
}
footer a {
color: white;
text-decoration: none;
margin: 0 12px;
transition: color 0.2s ease; /* Farbwechsel */
}
footer a:hover,
footer a:focus {
color: #0066cc;
}
+1 -4
View File
@@ -3,6 +3,7 @@ main {
max-width:1200px;
margin: 0 auto;
padding: 20px;
font-family: Arial, sans-serif;
}
body {
@@ -11,10 +12,6 @@ body {
margin: 0;
}
a, button, input, select, textarea, label, main{
font-family: Arial, Helvetica, sans-serif;
}
.flexbox {
display: flex;
flex-direction: column;
-268
View File
@@ -1,268 +0,0 @@
/*
CSS für die navbar
*/
.nav {
display: flex;
justify-content: space-between;
align-items: center;
background-color: #333d43;
padding: 0 1rem;
}
.nav__left,
.nav__right {
display: flex;
align-items: center;
}
.nav__logo img {
height: 3rem;
}
.nav__center {
display: flex;
align-items: center;
}
.nav__item {
position: relative;
margin: 0 0.5rem;
}
.nav__dropdown-toggle {
background: none;
border: none;
cursor: pointer;
font-weight: 600;
padding: 0.5rem 1rem;
color: #fff;
text-decoration: none;
}
.nav__dropdown-menu {
display: none;
position: absolute;
top: 100%;
left: 0;
background: #f9f9f9;
min-width: 12rem;
box-shadow: 0 2px 5px rgba(0,0,0,.15);
padding: 0.5rem 0;
}
.nav__dropdown-menu a {
padding: 0.5rem 1rem; /* Abstand um den Text */
color: #333;
text-decoration: none;
font-weight: 600;
}
.nav__link {
display: inline-block;
font-weight: 600;
background: none;
border: none;
cursor: pointer;
padding: 0.5rem 1rem;
color: #fff;
text-decoration: none;
}
.nav__button {
display: inline-block;
background: #fff;
border: none;
border-radius: 4px;
padding: 0.5rem 1rem;
cursor: pointer;
color: #333;
text-decoration: none;
font-weight: 600;
margin-left: 0.5rem;
}
.nav__search {
display: flex;
align-items: center;
border-radius: 4px; /* Abgerundete Ecken */
background: #fff;
margin: 0 0.5rem;
}
.nav__search-button {
display: inline-block;
background: #fff;
border: none;
border-radius: 4px;
padding: 0.4rem 0.6rem;
font-size: 0.8rem;
font-weight: 600;
cursor: pointer;
margin-left: 4px;
}
.nav__dropdown:hover .nav__dropdown-menu {
display: block;
}
.nav__checkbox {
display: none;
}
.nav__mobile-submenu {
display: block;
}
/* Responsive Anpassung unter 1210px */
@media (max-width: 1210px) {
.nav {
flex-wrap: wrap; /* zweite Nav-Zeile*/
padding: 0.5rem 1rem;
}
.nav__left {
order: 1;
flex: 1; /* nimmt den Platz ganz links ein */
}
.nav__right {
order: 2;
flex: 1;
justify-content: flex-end; /* schiebt Buttons nach ganz rechts */
}
.nav__center {
order: 3;
flex-basis: 100%; /* Erzwingt, dass dieses Element eine eigene Zeile einnimmt */
justify-content: center; /*zentriert die Links in der zweiten Zeile */
padding: 0.5rem 0;
border-top: 1px solid rgba(255,255,255,0.1); /* Optionale Trennlinie */
margin-top: 0.5rem;
}
.nav__item {
margin: 0.25rem;
}
}
#mobile-nav {
display: none;
}
/* Responsive Anpassungen unter 760px (für z.B. Smartphones) */
@media (max-width: 760px) {
.nav {
flex-direction: row;
flex-wrap: wrap;
justify-content: space-between;
padding: 0 1rem;
}
.nav__logo img {
height: 50px;
}
.nav__left {
order: 2;
flex: 1;
justify-content: flex-start;
}
.nav__right {
order: 3;
width: 100%;
display: flex;
margin-top: 0.5em;
}
#mobile-nav {
display: block;
order: 1;
background: #333d43;
border: none;
color: #fff;
font-size: 1.5rem;
padding: 0.5rem 0.1rem;
border-radius: 0.2rem;
cursor: pointer;
}
.nav__search {
display: flex;
width: 100%;
margin: 0;
}
.nav__search-button {
display: inline-block;
background: #fff;
border: none;
border-radius: 4px;
padding: 0.4rem 0.6rem;
font-size: 0.8rem;
font-weight: 600;
cursor: pointer;
margin-left: 4px;
}
/* restliche desktop-navbar aus */
.nav__center,
.nav__right .nav__button,
.nav__right .nav__link {
display: none;
}
/* off canvas menu */
.nav__mobile-menu {
display: flex;
flex-direction: column;
position: fixed;
top: 0;
left: -100%; /* kommt von links */
width: 280px;
height: 100vh;
background: #333d43;
z-index: 1000;
transition: left 0.3s ease;
padding: 2rem 1rem;
box-shadow: 2px 0 10px rgba(0,0,0,0.5);
overflow-y: auto;
}
.nav__checkbox:checked ~ .nav__mobile-menu {
left: 0;
}
.nav_mobile-menu.is-active {
left: 0;
}
.nav__mobile-menu a {
color: #fff;
text-decoration: none;
font-size: 1.2rem;
font-weight: 600;
display: block;
padding: 0.5rem 1rem;
border-bottom: 1px solid #333d43;
}
.nav__mobile-submenu {
display: block;
list-style: none;
padding: 0;
background: rgba(0, 0, 0, 0.15);
}
.nav__mobile-label {
display: flex;
justify-content: space-between;
align-items: center;
color: #fff;
font-size: 1.2rem;
font-weight: 600;
padding: 0.8rem 1rem;
cursor: pointer;
}
}
-55
View File
@@ -1,55 +0,0 @@
<!--
Artikel: Datenschutz vs Datensicherheit
Funktion: Inhalt zum Fach Informatik
-->
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="utf-8">
<meta name="description" content="EduForge">
<meta name="author" content="Niklas Ortmann">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="icon" type="image/x-icon" href="images/logos/logo_icon.ico">
<link rel="stylesheet" href="css/main.css">
<link rel="stylesheet" href="css/navbar.css">
<link rel="stylesheet" href="css/footer.css">
<title>EduForge</title>
</head>
<body>
<?php
include_once 'includes/navbar.php';
?>
<main>
<h1>Datenschutz vs Datensicherheit</h1>
<p>
Datenschutz ist in unserer digital vernetzten Welt allgegenwärtig ob in sozialen Netzwerken, beim
Online-Shopping oder dem Einsatz von Bonuskarten, bei der Auswertung von Konsumverhalten und selbstverständlich
auch im schulischen Kontext.
</p>
<h2>
Was ist Datenschutz?
</h2>
<p>
Datenschutz bedeutet, dass persönliche Daten nur gesammelt, gespeichert und verwendet werden dürfen, wenn
es wirklich nötig ist und nur für klar festgelegte Zwecke. Es geht darum, die Privatsphäre von Menschen
zu schützen.
</p>
<h2>
Was ist Datenschutz?
</h2>
<p>
Datensicherheit umfasst alle technischen und organisatorischen Maßnahmen, die verhindern sollen, dass Daten
verloren gehen, beschädigt oder unbemerkt verändert werden. Sie schützt Informationen vor Missbrauch.
</p>
</main>
<?php
include_once 'includes/footer.php';
?>
</body>
</html>
Binary file not shown.

After

Width:  |  Height:  |  Size: 169 KiB

Before

Width:  |  Height:  |  Size: 199 KiB

After

Width:  |  Height:  |  Size: 199 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 157 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.2 KiB

-5
View File
@@ -1,5 +0,0 @@
<footer>
<a href="impressum.php">Impressum</a>
<a href="datenschutz.php">Datenschutz</a>
<a href="nutzungsbedingungen.php">Nutzungsbedingungen</a>
</footer>
+18 -127
View File
@@ -1,137 +1,28 @@
<!--
Globales Menü, wird via PHP später in alle Seiten eingebunden
-->
<nav class="nav">
<div class="nav__left">
<a href="index.php" class="nav__logo">
<img src="images/logos/logo_full.png" alt="Logo">
<nav style="background:#808080; height: 60px;">
<div style="float:left; text-align: center;">
<a href="index.php">
<img src="images/logo.png" alt="" style="height: 44px;">
</a>
|
<a href = "content/informatik.php" style = "padding: 5px; text-align: center; text-decoration: none; display: inline-block;"><b>Informatik</b></a>
|
<a href = "content/mathe.php" style = "padding: 5px; text-align: center; text-decoration: none; display: inline-block;"><b>Mathe</b></a>
|
<a href = "content/physik.php" style = "padding: 5px; text-align: center; text-decoration: none; display: inline-block;"><b>Physik</b></a>
|
<a href = "content/profile.php" style = "padding: 5px; text-align: center; text-decoration: none; display: inline-block;"><b>Dein Profil</b></a>
|
</div>
<!-- Mobile navbar mit Burger-Symbol -->
<input type="checkbox" id="nav-toggle" class="nav__checkbox">
<label for="nav-toggle" id="mobile-nav">
<span></span> <!-- Burger Icon Symbol -->
</label>
<ul id="mobile-nav" class="nav__mobile-menu">
<li>
<label for="nav-toggle" class="nav__close-btn">&times;</label>
</li>
<li><a href="index.php?pfad=profile">Profil</a></li>
<li><a href="index.php?pfad=login">Anmelden</a></li>
<li><a href="index.php?pfad=register">Registrieren</a></li>
<li><a href="index.php?pfad=createArticle">Beitrag erstellen</a></li>
<li>
<label class="nav__mobile-label">Sprachen</label>
<ul class="nav__mobile-submenu">
<li><a href="index.php?pfad=deutsch">Deutsch</a></li>
<li><a href="index.php?pfad=englisch">Englisch</a></li>
<li><a href="index.php?pfad=franzoesisch">Französisch</a></li>
<li><a href="index.php?pfad=latein">Latein</a></li>
<li><a href="index.php?pfad=literatur">Literatur</a></li>
</ul>
</li>
<li>
<label class="nav__mobile-label">MINT</label>
<ul class="nav__mobile-submenu">
<li><a href="index.php?pfad=mathe">Mathematik</a></li>
<li><a href="index.php?pfad=biologie">Biologie</a></li>
<li><a href="index.php?pfad=chemie">Chemie</a></li>
<li><a href="index.php?pfad=englisch">Physik</a></li>
<li><a href="index.php?pfad=informatik">Informatik</a></li>
<li><a href="index.php?pfad=astronomie">Astronomie</a></li>
</ul>
</li>
<li>
<label class="nav__mobile-label">Gesellschaft & Werte</label>
<ul class="nav__mobile-submenu">
<li><a href="index.php?pfad=geschichte">Geschichte</a></li>
<li><a href="index.php?pfad=erdkunde">Erdkunde</a></li>
<li><a href="index.php?pfad=sozialkunde">Sozialkunde</a></li>
<li><a href="index.php?pfad=wirtschaft">Wirtschaftskunde</a></li>
<li><a href="index.php?pfad=religion">Religion</a></li>
<li><a href="index.php?pfad=ethik">Ethikunterricht</a></li>
<li><a href="index.php?pfad=philosophie">Philosophie</a></li>
<li><a href="index.php?pfad=psychologie">Psychologie</a></li>
<li><a href="index.php?pfad=kunst">Kunst</a></li>
<li><a href="index.php?pfad=musik">Musik</a></li>
<li><a href="index.php?pfad=theater">Theater</a></li>
</ul>
</li>
<li>
<label class="nav__mobile-label">Technik & Praxis</label>
<ul class="nav__mobile-submenu">
<li><a href="index.php?pfad=technik">Technik</a></li>
<li><a href="index.php?pfad=werken">Werken</a></li>
<li><a href="index.php?pfad=hauswirtschaft">Hauswirtschaft</a></li>
<li><a href="index.php?pfad=sport">Sport</a></li>
</ul>
</li>
</ul>
<!-- normale Navbar (Desktop) -->
<div class="nav__center">
<div class="nav__item nav__dropdown">
<button class="nav__dropdown-toggle">Sprachen</button>
<div class="nav__dropdown-menu">
<a href="index.php?pfad=deutsch">Deutsch</a>
<a href="index.php?pfad=englisch">Englisch</a>
<a href="index.php?pfad=franzoesisch">Französisch</a>
<a href="index.php?pfad=latein">Latein</a>
<a href="index.php?pfad=literatur">Literatur</a>
</div>
</div>
<div class="nav__item nav__dropdown">
<button class="nav__dropdown-toggle">MINT</button>
<div class="nav__dropdown-menu">
<a href="index.php?pfad=mathe">Mathematik</a>
<a href="index.php?pfad=biologie">Biologie</a>
<a href="index.php?pfad=chemie">Chemie</a>
<a href="index.php?pfad=physik">Physik</a>
<a href="index.php?pfad=informatik">Informatik</a>
<a href="index.php?pfad=astronomie">Astronomie</a>
</div>
</div>
<div class="nav__item nav__dropdown">
<button class="nav__dropdown-toggle">Gesellschaft & Werte</button>
<div class="nav__dropdown-menu">
<a href="index.php?pfad=geschichte">Geschichte</a>
<a href="index.php?pfad=erdkunde">Erdkunde</a>
<a href="index.php?pfad=sozialkunde">Sozialkunde</a>
<a href="index.php?pfad=wirtschaft">Wirtschaftskunde</a>
<a href="index.php?pfad=religion">Religion</a>
<a href="index.php?pfad=ethik">Ethikunterricht</a>
<a href="index.php?pfad=philosophie">Philosophie</a>
<a href="index.php?pfad=psychologie">Psychologie</a>
<a href="index.php?pfad=kunst">Kunst</a>
<a href="index.php?pfad=musik">Musik</a>
<a href="index.php?pfad=theater">Theater</a>
</div>
</div>
<div class="nav__item nav__dropdown">
<button class="nav__dropdown-toggle">Technik & Praxis</button>
<div class="nav__dropdown-menu">
<a href="index.php?pfad=technik">Technik</a>
<a href="index.php?pfad=werken">Werken</a>
<a href="index.php?pfad=hauswirtschaft">Hauswirtschaft</a>
<a href="index.php?pfad=sport">Sport</a>
</div>
</div>
</div>
<div class="nav__right">
<a href="index.php?pfad=profile" class="nav_item nav__link">Profil</a>
<div class="nav__search">
<div style="float:right; text-align: center;">
<?php
include_once 'search.php';
?>
</div>
<a href="index.php?pfad=login" class="nav__item nav__button">Anmelden</a>
<a href="index.php?pfad=register" class="nav__item nav__button">Registrieren</a>
<a href="index.php?pfad=createArticle" class="nav__item nav__button">Beitrag erstellen</a>
|
<a href = "auth/login.php" style = "background-color: #f44336; color: white; padding: 4px 20px; text-align: center; text-decoration: none; display: inline-block;"> Anmelden </a>
<a href = "auth/register.php" style = "background-color: #f44336; color: white; padding: 4px 20px; text-align: center; text-decoration: none; display: inline-block;"> Registrieren </a>
</div>
</nav>
+2 -3
View File
@@ -1,6 +1,5 @@
<!--
Suchleiste. Wird via PHP später in alle Seiten eingebunden
-->
<!--<label for="site-search">Suche</label>-->
<input type="search" id="site-search" name="q" placeholder="Suchen..." class="nav__search">
<button type="submit" class="nav__search-button">Suchen</button>
<input type="search" id="site-search" name="q" placeholder="Suchen...">
<button type="submit">Suchen</button>
+12 -28
View File
@@ -1,14 +1,6 @@
<?php
if (!isset($abs_path)) {
require_once "path.php";
}
require_once $abs_path . "/php/controller/index-controller.php";
?>
<!--
Seite: Index der Lernplattform
Funktion: Webseitengerüst, Anzeigen von Content
Seite: Hompage der Lernplattform
Funktion: Webseitengerüst, Anzeigen von Beiträgen, Suchfunktion etc.
-->
<!DOCTYPE html>
<html lang="de">
@@ -17,12 +9,7 @@ require_once $abs_path . "/php/controller/index-controller.php";
<meta charset="utf-8">
<meta name="description" content="EduForge">
<meta name="author" content="Niklas Ortmann">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="icon" type="image/x-icon" href="images/logos/logo_icon.ico">
<link rel="stylesheet" href="css/main.css">
<link rel="stylesheet" href="css/navbar.css">
<link rel="stylesheet" href="css/footer.css">
<link rel="stylesheet" href="css/article.css">
<link rel="stylesheet" href="css/main.css" />
<title>EduForge</title>
</head>
@@ -30,19 +17,16 @@ require_once $abs_path . "/php/controller/index-controller.php";
<body>
<?php
include_once $abs_path . '/includes/navbar.php';
//Dynamischer Inhalt:
if (isset($_GET["pfad"])) {
if (file_exists($abs_path . '/content/' . $_GET["pfad"] . '.php')) {
include_once $abs_path . '/content/' . $_GET["pfad"] . '.php';
} else {
include_once $abs_path . '/content/404.php';
}
} else {
include_once $abs_path . '/content/home.php';
}
include_once $abs_path . '/includes/footer.php';
include_once 'includes/navbar.php';
//Dynamischer Inhalt (später mit php...):
include_once 'content/home.php';
?>
<footer style="position:fixed;bottom:0;width:100%;background:#fff;text-align:center;">
<a href="legal/impressum.php">Impressum</a>
<a href="legal/datenschutz.php">Datenschutz</a>
<a href="legal/nutzungsbedingungen.php">Nutzungsbedingungen</a>
</footer>
</body>
</html>
+67
View File
@@ -0,0 +1,67 @@
<!--
Seite: Datenschutzerklärung
Inhalt: Informationen zur Datenverarbeitung gemäß DSGVO
-->
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="utf-8">
<meta name="description" content="EduForge">
<meta name="author" content="Niklas Ortmann">
<link rel="stylesheet" href="../css/main.css" />
<title>EduForge</title>
</head>
<body>
<nav style="background:#808080; height: 60px;">
<div style="float:left; text-align: center;">
<a href="../index.php">
<img src="../images/logo.png" alt="" style="height: 44px;">
</a>
|
<a href = "../content/informatik.php" style = "padding: 5px; text-align: center; text-decoration: none; display: inline-block;"><b>Informatik</b></a>
|
<a href = "../content/mathe.php" style = "padding: 5px; text-align: center; text-decoration: none; display: inline-block;"><b>Mathe</b></a>
|
<a href = "../content/physik.php" style = "padding: 5px; text-align: center; text-decoration: none; display: inline-block;"><b>Physik</b></a>
|
<a href = "../content/profile.php" style = "padding: 5px; text-align: center; text-decoration: none; display: inline-block;"><b>Dein Profil</b></a>
|
</div>
<div style="float:right; text-align: center;">
<?php
include_once '../includes/search.php';
?>
|
<a href = "../auth/login.php" style = "background-color: #f44336; color: white; padding: 4px 20px; text-align: center; text-decoration: none; display: inline-block;"> Anmelden </a>
<a href = "../auth/register.php" style = "background-color: #f44336; color: white; padding: 4px 20px; text-align: center; text-decoration: none; display: inline-block;"> Registrieren </a>
</div>
</nav>
<main>
<h1>Datenschutz</h1>
<p>
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et
dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet
clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet,
consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat,
sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no
sea takimata sanctus est Lorem ipsum dolor sit amet.
</p>
</main>
<footer style="position:fixed;bottom:0;width:100%;background:#fff;text-align:center;">
<a href="impressum.php">Impressum</a>
<a href="datenschutz.php">Datenschutz</a>
<a href="nutzungsbedingungen.php">Nutzungsbedingungen</a>
</footer>
</body>
</html>
+67
View File
@@ -0,0 +1,67 @@
<!--
Seite: Impressum
Inhalt: wer wie was auf der Webseite
-->
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="utf-8">
<meta name="description" content="EduForge">
<meta name="author" content="Niklas Ortmann">
<link rel="stylesheet" href="../css/main.css" />
<title>EduForge</title>
</head>
<body>
<nav style="background:#808080; height: 60px;">
<div style="float:left; text-align: center;">
<a href="../index.php">
<img src="../images/logo.png" alt="" style="height: 44px;">
</a>
|
<a href = "../content/informatik.php" style = "padding: 5px; text-align: center; text-decoration: none; display: inline-block;"><b>Informatik</b></a>
|
<a href = "../content/mathe.php" style = "padding: 5px; text-align: center; text-decoration: none; display: inline-block;"><b>Mathe</b></a>
|
<a href = "../content/physik.php" style = "padding: 5px; text-align: center; text-decoration: none; display: inline-block;"><b>Physik</b></a>
|
<a href = "../content/profile.php" style = "padding: 5px; text-align: center; text-decoration: none; display: inline-block;"><b>Dein Profil</b></a>
|
</div>
<div style="float:right; text-align: center;">
<?php
include_once '../includes/search.php';
?>
|
<a href = "../auth/login.php" style = "background-color: #f44336; color: white; padding: 4px 20px; text-align: center; text-decoration: none; display: inline-block;"> Anmelden </a>
<a href = "../auth/register.php" style = "background-color: #f44336; color: white; padding: 4px 20px; text-align: center; text-decoration: none; display: inline-block;"> Registrieren </a>
</div>
</nav>
<main>
<h1>Impressum</h1>
<p>
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et
dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet
clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet,
consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat,
sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no
sea takimata sanctus est Lorem ipsum dolor sit amet.
</p>
</main>
<footer style="position:fixed;bottom:0;width:100%;background:#fff;text-align:center;">
<a href="impressum.php">Impressum</a>
<a href="datenschutz.php">Datenschutz</a>
<a href="nutzungsbedingungen.php">Nutzungsbedingungen</a>
</footer>
</body>
</html>
+66
View File
@@ -0,0 +1,66 @@
<!--
Seite: Nutzungsbedingungen
Inhalt: Regelungen für die Nutzung der Plattform (AGBs und so...)
-->
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="utf-8">
<meta name="description" content="EduForge">
<meta name="author" content="Niklas Ortmann">
<link rel="stylesheet" href="../css/main.css" />
<title>EduForge</title>
</head>
<body>
<nav style="background:#808080; height: 60px;">
<div style="float:left; text-align: center;">
<a href="../index.php">
<img src="../images/logo.png" alt="" style="height: 44px;">
</a>
|
<a href = "../content/informatik.php" style = "padding: 5px; text-align: center; text-decoration: none; display: inline-block;"><b>Informatik</b></a>
|
<a href = "../content/mathe.php" style = "padding: 5px; text-align: center; text-decoration: none; display: inline-block;"><b>Mathe</b></a>
|
<a href = "../content/physik.php" style = "padding: 5px; text-align: center; text-decoration: none; display: inline-block;"><b>Physik</b></a>
|
<a href = "../content/profile.php" style = "padding: 5px; text-align: center; text-decoration: none; display: inline-block;"><b>Dein Profil</b></a>
|
</div>
<div style="float:right; text-align: center;">
<?php
include_once '../includes/search.php';
?>
|
<a href = "../auth/login.php" style = "background-color: #f44336; color: white; padding: 4px 20px; text-align: center; text-decoration: none; display: inline-block;"> Anmelden </a>
<a href = "../auth/register.php" style = "background-color: #f44336; color: white; padding: 4px 20px; text-align: center; text-decoration: none; display: inline-block;"> Registrieren </a>
</div>
</nav>
<main>
<h1>Nutzungsbedingungen</h1>
<p>
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et
dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet
clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet,
consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat,
sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no
sea takimata sanctus est Lorem ipsum dolor sit amet.
</p>
</main>
<footer style="position:fixed;bottom:0;width:100%;background:#fff;text-align:center;">
<a href="impressum.php">Impressum</a>
<a href="datenschutz.php">Datenschutz</a>
<a href="nutzungsbedingungen.php">Nutzungsbedingungen</a>
</footer>
</body>
</html>
-46
View File
@@ -1,46 +0,0 @@
<!--
Seite: Nutzungsbedingungen
Inhalt: Regelungen für die Nutzung der Plattform (AGBs und so...)
-->
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="utf-8">
<meta name="description" content="EduForge">
<meta name="author" content="Niklas Ortmann">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="icon" type="image/x-icon" href="images/logos/logo_icon.ico">
<link rel="stylesheet" href="css/main.css">
<link rel="stylesheet" href="css/navbar.css">
<link rel="stylesheet" href="css/footer.css">
<title>EduForge</title>
</head>
<body>
<?php
include_once 'includes/navbar.php';
?>
<main>
<h1>Nutzungsbedingungen</h1>
<p>
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et
dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet
clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet,
consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat,
sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no
sea takimata sanctus est Lorem ipsum dolor sit amet.
</p>
</main>
<?php
include_once 'includes/footer.php';
?>
</body>
</html>
-3
View File
@@ -1,3 +0,0 @@
<?php
$abs_path = __DIR__;
?>
@@ -1,9 +0,0 @@
<?php
try {
$author = "max.mustermann@web.de"; // wird später aus session bezogen.
$articleManager->newArticle($_POST['post-title'], $_POST['post-content'], $author);
} catch (Exception $e) {
echo "Fehler beim Erstellen des Artikels: " . $e->getMessage();
}
?>
-10
View File
@@ -1,10 +0,0 @@
<?php
require_once $abs_path . '/php/model/ArticleManager.php';
require_once $abs_path . '/php/model/Article.php';
try {
$articleManager = new ArticleManager();
}catch (Exception $e){
die("Fehler bei der Initialisierung des Artikel-Managers: " . $e->getMessage());
}
?>
-75
View File
@@ -1,75 +0,0 @@
<?php
/*
* Klasse: Artikel
* Diese Klasse stellt alle Daten eines Artikels (Beitrag) bereit
*
* @author Niklas Ortmann
*/
class Article
{
private $id;
private $title;
private $content;
private $author;
private $date;
/*
* Gibt die ID eines Artikels zurück.
*/
public function getId()
{
return $this->id;
}
/*
* Gibt den Titel eines Artikels zurück.
*/
public function getTitle()
{
return $this->title;
}
/*
* Setzt den Titel eines Artikels.
*/
public function setTitle($title)
{
$this->title = $title;
}
/*
* Gibt den Content eines Artikels zurück.
* TODO: Content muss noch definiert werden.
*/
public function getContent()
{
return $this->content;
}
/*
* Setzt den Content eines Artikels.
* TODO: Content muss noch definiert werden.
*/
public function setContent($content)
{
$this->content = $content;
}
/*
* Gibt den Autor eines Artikels zurück.
*/
public function getAuthor()
{
return $this->author;
}
/*
* Gibt das Veröffentlichungsdatum des Artikels zurück.
*/
public function getDate()
{
return $this->date;
}
}
?>
-77
View File
@@ -1,77 +0,0 @@
<?php
require_once 'ArticleManagerDAO.php';
/*
* Klasse: Eine lokale Lösung der DatenbankDAO.
* schreibt zunächst Daten lokal in das Verzeichnis und kann diese wieder auslesen.
*
* @author Niklas Ortmann
*/
class ArticleManager implements ArticleManagerDAO {
/*
* Gibt die Datenbank-Instanz zurück.
*/
public static function getInstance()
{
if (self::$instance == null) {
self::$instance = new ArticleManager();
}
return self::$instance;
}
/*
* Prüft, ob die lokalen txt-Dateien existieren.
* Wenn nicht, werden diese erstellt.
*/
public function __construct()
{
}
public function newArticle($title, $content, $author, $category) {
$newData = array(
"title" => $title,
"content" => $content,
"author" => $author,
"category" => $category,
//"tags" => isset($_POST["tags"]) ? $_POST["tags"] : '', TODO: Später hinzufügen
"date" => date("d.m.Y, H:i")
);
$newData = base64_encode(serialize($newData));
if (!file_exists("articles.txt")) {
$newData = fopen("articles.txt", "xb");
fclose($newData);
}
$previousData = file_get_contents("articles.txt");
if (file_put_contents("articles.txt", "$newData\n$previousData")) {
// TODO: Vernünftige Rückmeldung implementieren.
echo "Artikel erfolgreich gespeichert!";
} else {
// TODO: passende Exceptions werfen.
echo "Fehler!";
}
}
public function updateArticle($id, $title, $content, $author)
{
// TODO: Implement updateArticle() method.
}
public function deleteArticle($id)
{
// TODO: Implement deleteArticle() method.
}
public function getArticle($id)
{
// TODO: Implement getArticle() method.
}
public function getAllArticles()
{
// TODO: Implement getAllArticles() method.
}
}
?>
-66
View File
@@ -1,66 +0,0 @@
<?php
/*
* Die Klasse binhaltet alle Methoden für die Operation auf der Datenbank.
*
* @author Niklas Ortmann
*/
interface ArticleManagerDAO
{
/*
* Ein angemeldeter Nutzer erstellt einen neuen Beitrag.
* $title Titel des Beitrags
* $content Der Inhalt des Beitrags
* $author dem Author des des Beitrags (NID oder email)
* $category Kategorie des Beitrags
* $tags optionale Schlagworte für eine bessere Suche
*
* Mögliche Exceptions:
* TODO Fehlerbeschreibung hinzufügen
*/
public function newArticle($title, $content, $author, $category);
/*
* Ein angemeldeter Nutzer bearbeitet einen Beitrag.
* $id ID des Beitrags
* $title Titel des Beitrags
* $content Der Inhalt des Beitrags
* $author dem Author des des Beitrags (NID oder email)
*
* Mögliche Exceptions:
* TODO Fehlerbeschreibung hinzufügen
*/
public function updateArticle($id, $title, $content, $author);
/*
* Ein angemeldeter Nutzer löscht einen seiner Beiträge.
* $id ID des Beitrags
* $title Titel des Beitrags
* $content Der Inhalt des Beitrags
* $author dem Author des des Beitrags (NID oder email)
*
* Mögliche Exceptions:
* TODO Fehlerbeschreibung hinzufügen
*/
public function deleteArticle($id);
/*
* Beitrag aufrufen.
* $id ID des Beitrags
*
* Mögliche Exceptions:
* TODO Fehlerbeschreibung hinzufügen
*/
public function getArticle($id);
/*
* Alle Beiträge aufrufen.
*
* Mögliche Exceptions:
* TODO Fehlerbeschreibung hinzufügen
*/
public function getAllArticles();
}
?>
-52
View File
@@ -1,52 +0,0 @@
<!--
Artikel: Satz des Pythagoras
Funktion: Inhalt zum Fach Mathe
-->
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="utf-8">
<meta name="description" content="EduForge">
<meta name="author" content="Niklas Ortmann">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="icon" type="image/x-icon" href="images/logos/logo_icon.ico">
<link rel="stylesheet" href="css/main.css">
<link rel="stylesheet" href="css/navbar.css">
<link rel="stylesheet" href="css/footer.css">
<title>EduForge</title>
</head>
<body>
<?php
include_once 'includes/navbar.php';
?>
<main>
<h1>Satz des Pythagoras</h1>
<p>
Der Satz des Pythagoras wurde von dem griechischen Philosophen Pythagoras von Samos formuliert und im
dritten Jahrhundert vor Christus veröffentlicht.
</p>
<figure>
<img src="https://cdn8.picryl.com/photo/2016/05/14/pythagoras-e9560b-1024.jpg" alt="Trulli" style="width:10%">
<figcaption><a href="https://cdn8.picryl.com/photo/2016/05/14/pythagoras-e9560b-1024.jpg">Quelle</a></figcaption>
</figure>
<p>
In der beigefügten Abbildung sehen wir ein rechtwinkliges Dreieck, dessen drei Seiten die Längen a, b und c
besitzen. Auf jeder Seite ist ein Quadrat konstruiert. Das Quadrat auf der Seite a hat die Fläche a2, das
Quadrat auf der Seite b hat die Fläche b2 und das Quadrat auf der Seite c hat die Fläche c2. Der Satz des
Pythagoras besagt, dass die Summe der Flächen der beiden kleineren Quadrate gleich der Fläche des größten
Quadrats ist. Das bedeutet, dass a^2+b^2=c^2 (Satz des Pythagoras).
</p>
<a href="docs/Uebungsaufgaben_Pythagoras.pdf">Lernzettel-Download</a>
</main>
<?php
include_once 'includes/footer.php';
?>
</body>
</html>
-46
View File
@@ -1,46 +0,0 @@
<!--
Artikel: Tunneleffekt
Funktion: Inhalt zum Fach Physik
-->
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="utf-8">
<meta name="description" content="EduForge">
<meta name="author" content="Niklas Ortmann">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="icon" type="image/x-icon" href="images/logos/logo_icon.ico">
<link rel="stylesheet" href="css/main.css">
<link rel="stylesheet" href="css/navbar.css">
<link rel="stylesheet" href="css/footer.css">
<title>EduForge</title>
</head>
<body>
<?php
include_once 'includes/navbar.php';
?>
<main>
<h1>Tunneleffekt</h1>
<p>
Der Tunneleffekt ist ein quantenmechanisches Phänomen, bei dem Teilchen vor allem Elektronen eine
Energiebarriere überwinden können, obwohl sie nach den Regeln der klassischen Physik nicht genügend Energie
dafür besitzen. In der klassischen Vorstellung müsste ein Elektron entweder genügend Energie haben, um über
eine Barriere zu „springen“, oder es würde vollständig zurückgeworfen. In der Quantenphysik wird ein Elektron
jedoch nicht als punktförmiges Teilchen beschrieben, sondern als Wellenfunktion, die sich räumlich ausdehnt.
Dadurch besteht eine endliche Wahrscheinlichkeit, dass sich das Elektron auf der anderen Seite einer Barriere
befindet (Griffiths & Schroeter, 2018).
</p>
</main>
<?php
include_once 'includes/footer.php';
?>
</body>
</html>
+56
View File
@@ -0,0 +1,56 @@
<?php
// Webhook: erfasst einen push auf dem dev (und aktualisiert das Webverzeichnis des Servers)
// Quelle: https://docs.gitea.com/usage/webhooks
ini_set('error_log', __DIR__ . '/tmp.log');
$secret_key = '763489347';
// check for POST request
if ($_SERVER['REQUEST_METHOD'] != 'POST') {
error_log('FAILED - not POST - '. $_SERVER['REQUEST_METHOD']);
exit();
}
// get content type
$content_type = isset($_SERVER['CONTENT_TYPE']) ? strtolower(trim($_SERVER['CONTENT_TYPE'])) : '';
if ($content_type != 'application/json') {
error_log('FAILED - not application/json - '. $content_type);
exit();
}
// get payload
$payload = trim(file_get_contents("php://input"));
if (empty($payload)) {
error_log('FAILED - no payload');
exit();
}
// get header signature
$header_signature = isset($_SERVER['HTTP_X_GITEA_SIGNATURE']) ? $_SERVER['HTTP_X_GITEA_SIGNATURE'] : '';
if (empty($header_signature)) {
error_log('FAILED - header signature missing');
exit();
}
// calculate payload signature
$payload_signature = hash_hmac('sha256', $payload, $secret_key, false);
// check payload signature against header signature
if ($header_signature !== $payload_signature) {
error_log('FAILED - payload signature');
exit();
}
// convert json to array
$decoded = json_decode($payload, true);
// check for json decode errors
if (json_last_error() !== JSON_ERROR_NONE) {
error_log('FAILED - json decode - '. json_last_error());
exit();
}
// success, do something
error_log('SUCCESS - Webhook hat funktioniert');