Merge pull request 'DatabaseUserManager' (#25) from DatabaseUserManager into dev

Reviewed-on: #25
Reviewed-by: niklas.ortmann <ortmann.niklas@yahoo.de>
This commit was merged in pull request #25.
This commit is contained in:
2026-06-10 16:15:38 +02:00
14 changed files with 372 additions and 1896 deletions
@@ -3,7 +3,6 @@ SESSION_START();
require_once '../model/LocalArticleManager.php';
require_once '../model/ArticleManager.php';
require_once '../validator/article-validator.php';
require_once "../model/LocalUserManager.php";
if ($_SERVER["REQUEST_METHOD"] === "POST") {
$_SESSION["old_title"] = $_POST["title"] ?? '';
@@ -0,0 +1,30 @@
<?php
require_once "php/model/UserManager.php";
/*
Deregistrierung
Funktion: Entfernt User aus der Datenbank und beendet die Session
*/
try {
$dao = UserManager::getInstance();
if (isset($_SESSION["user_email"])) {
$dao->deleteUser($_SESSION["user_email"]);
}
$_SESSION = [];
session_destroy();
header("Location: index.php");
exit();
} catch (Exception $e) {
$_SESSION["message"] = "internal_error";
header("Location: index.php?pfad=profile");
exit();
}
+17 -15
View File
@@ -1,8 +1,7 @@
<?php
require_once "php/model/LocalUserManager.php";
require_once "php/model/UserManager.php";
$dao = new LocalUserManager();
$error = null;
/*
@@ -11,25 +10,28 @@ $error = null;
*/
if ($_SERVER["REQUEST_METHOD"] === "POST") {
$email = $_POST["email"] ?? "";
$password = $_POST["password"] ?? "";
try {
$user = $dao->findUser($email);
$dao = UserManager::getInstance();
if ($user && password_verify($password, $user["password"])) {
$email = $_POST["email"] ?? "";
$password = $_POST["password"] ?? "";
$user = $dao->findUser($email);
if ($user && password_verify($password, $user["password"])) {
if (isset($user["vorname"]) && isset($user["nachname"])) {
$_SESSION["user"] = $user["vorname"] . " " . $user["nachname"];
$_SESSION["user_email"] = $user["email"];
header("Location: index.php");
exit();
} else {
$_SESSION["user"] = $user["username"] ?? "";
$error = "Login fehlgeschlagen. Bitte überprüfe deine Eingaben.";
}
$_SESSION["user_email"] = $user["email"];
header("Location: index.php");
exit();
} else {
$error = "Login fehlgeschlagen. Bitte überprüfe deine Eingaben.";
} catch (Exception $e) {
$error = "Es ist ein interner Fehler aufgetreten. Bitte versuche es erneut.";
}
}
+6
View File
@@ -0,0 +1,6 @@
<?php
$_SESSION = [];
session_destroy();
header("Location: index.php");
exit();
+5 -5
View File
@@ -1,6 +1,6 @@
<?php
require_once "php/model/LocalUserManager.php";
require_once "php/model/UserManager.php";
require_once "php/model/Article.php";
require_once "php/model/ArticleManager.php";
require_once "php/validator/user-validator.php";
@@ -13,7 +13,7 @@ if (!isset($_SESSION["user"])) {
}
try {
$dao = new LocalUserManager();
$dao = UserManager::getInstance();
$user = $dao->findUser($_SESSION["user_email"] ?? "");
@@ -38,15 +38,15 @@ try {
$_GET["edit"] = "1";
} elseif (!userNameValidator($vorname)) {
$error = "Der Vorname muss 2 bis 50 Zeichen lang sein und darf nur Buchstaben, Leerzeichen und Bindestriche enthalten.";
$error = "Der Vorname muss 2 bis 20 Zeichen lang sein und darf nur Buchstaben, Leerzeichen und Bindestriche enthalten.";
$_GET["edit"] = "1";
} elseif (!userNameValidator($nachname)) {
$error = "Der Nachname muss 2 bis 50 Zeichen lang sein und darf nur Buchstaben, Leerzeichen und Bindestriche enthalten.";
$error = "Der Nachname muss 2 bis 20 Zeichen lang sein und darf nur Buchstaben, Leerzeichen und Bindestriche enthalten.";
$_GET["edit"] = "1";
} elseif (!userOptionalPasswordValidator($password)) {
$error = "Das Passwort muss 8 bis 72 Zeichen lang sein.";
$error = "Das Passwort muss 5 bis 12 Zeichen lang sein.";
$_GET["edit"] = "1";
} else {
@@ -5,10 +5,10 @@
require_once 'php/model/Article.php';
require_once 'php/model/ArticleManager.php';
require_once "../model/LocalUserManager.php";
require_once "php/model/UserManager.php";
try {
$dao = new LocalUserManager();
$dao = UserManager::getInstance();
$user = $dao->findUser($_SESSION["user_email"] ?? "");
$author = $user["email"];
+5 -5
View File
@@ -1,6 +1,6 @@
<?php
require_once "php/model/LocalUserManager.php";
require_once "php/model/UserManager.php";
require_once "php/validator/user-validator.php";
$error = null;
@@ -15,14 +15,14 @@ if ($_SERVER["REQUEST_METHOD"] === "POST") {
if (!userEmailValidator($email)) {
$error = "Bitte gib eine gültige E-Mail-Adresse ein.";
} elseif (!userNameValidator($vorname)) {
$error = "Der Vorname muss 2 bis 50 Zeichen lang sein und darf nur Buchstaben, Umlaute, Leerzeichen und Bindestriche enthalten.";
$error = "Der Vorname muss 2 bis 20 Zeichen lang sein und darf nur Buchstaben, Umlaute, Leerzeichen und Bindestriche enthalten.";
} elseif (!userNameValidator($nachname)) {
$error = "Der Nachname muss 2 bis 50 Zeichen lang sein und darf nur Buchstaben, Umlaute, Leerzeichen und Bindestriche enthalten.";
$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 8 bis 72 Zeichen lang sein.";
$error = "Das Passwort muss 5 bis 12 Zeichen lang sein.";
} else {
try {
$dao = new LocalUserManager();
$dao = UserManager::getInstance();
$password = password_hash($plainPassword, PASSWORD_DEFAULT);