Reviewänderungen
This commit is contained in:
@@ -1,55 +1,20 @@
|
|||||||
<?php
|
<?php
|
||||||
|
/** @var string $title */
|
||||||
|
/** @var string $message */
|
||||||
|
/** @var string $link */
|
||||||
|
/** @var bool $isSuccess */
|
||||||
|
|
||||||
require_once "php/model/UserManager.php";
|
$title = $title ?? "Passwort zurücksetzen";
|
||||||
|
$message = $message ?? "Der Bestätigungslink konnte nicht verarbeitet werden.";
|
||||||
$token = basename($_GET["token"] ?? "");
|
$link = $link ?? "";
|
||||||
$file = "data/pending-password/" . $token . ".json";
|
$isSuccess = $isSuccess ?? false;
|
||||||
|
|
||||||
$title = "Passwort zurücksetzen";
|
|
||||||
$message = "";
|
|
||||||
$link = "";
|
|
||||||
$isSuccess = false;
|
|
||||||
|
|
||||||
if (!file_exists($file)) {
|
|
||||||
$message = "Der Bestätigungslink ist ungültig oder bereits abgelaufen.";
|
|
||||||
} else {
|
|
||||||
$data = json_decode(file_get_contents($file), true);
|
|
||||||
|
|
||||||
if ($data === null || empty($data["email"]) || empty($data["password"])) {
|
|
||||||
$message = "Die Daten zur Passwortänderung konnten nicht gelesen werden.";
|
|
||||||
} else {
|
|
||||||
try {
|
|
||||||
$dao = UserManager::getInstance();
|
|
||||||
$user = $dao->findUser($data["email"]);
|
|
||||||
|
|
||||||
if ($user !== null) {
|
|
||||||
$dao->updateUser(
|
|
||||||
$user["email"],
|
|
||||||
$user["email"],
|
|
||||||
$user["vorname"],
|
|
||||||
$user["nachname"],
|
|
||||||
$data["password"]
|
|
||||||
);
|
|
||||||
|
|
||||||
unlink($file);
|
|
||||||
|
|
||||||
$title = "Passwort geändert";
|
|
||||||
$message = "Ihr Passwort wurde erfolgreich geändert. Sie können sich jetzt anmelden.";
|
|
||||||
$link = '<a class="button confirm-button" href="index.php?pfad=login">Zum Login</a>';
|
|
||||||
$isSuccess = true;
|
|
||||||
} else {
|
|
||||||
unlink($file);
|
|
||||||
|
|
||||||
$message = "Der Benutzer konnte nicht gefunden werden.";
|
|
||||||
}
|
|
||||||
|
|
||||||
} catch (Exception $e) {
|
|
||||||
$message = "Das Passwort konnte nicht geändert werden.";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
?>
|
?>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Ansicht: Passwortbestätigung
|
||||||
|
Funktion: Zeigt das Ergebnis der Passwortänderung an.
|
||||||
|
-->
|
||||||
|
|
||||||
<main class="login-page">
|
<main class="login-page">
|
||||||
<div class="login-container">
|
<div class="login-container">
|
||||||
|
|
||||||
|
|||||||
@@ -1,58 +1,19 @@
|
|||||||
<?php
|
<?php
|
||||||
|
/** @var string $title */
|
||||||
|
/** @var string $message */
|
||||||
|
/** @var string $link */
|
||||||
|
/** @var bool $isSuccess */
|
||||||
|
|
||||||
require_once "php/model/UserManager.php";
|
$title = $title ?? "Registrierung";
|
||||||
|
$message = $message ?? "Der Registrierungslink konnte nicht verarbeitet werden.";
|
||||||
$token = basename($_GET["token"] ?? "");
|
$link = $link ?? "";
|
||||||
$file = "data/pending/" . $token . ".json";
|
$isSuccess = $isSuccess ?? false;
|
||||||
|
|
||||||
$title = "Registrierung";
|
|
||||||
$message = "";
|
|
||||||
$link = "";
|
|
||||||
$isSuccess = false;
|
|
||||||
|
|
||||||
if (!file_exists($file)) {
|
|
||||||
$message = "Der Registrierungslink ist ungültig oder bereits abgelaufen.";
|
|
||||||
} else {
|
|
||||||
|
|
||||||
$data = json_decode(file_get_contents($file), true);
|
|
||||||
|
|
||||||
if ($data === null) {
|
|
||||||
$message = "Die Registrierungsdaten konnten nicht gelesen werden.";
|
|
||||||
} elseif (
|
|
||||||
empty($data["email"]) ||
|
|
||||||
empty($data["vorname"]) ||
|
|
||||||
empty($data["nachname"]) ||
|
|
||||||
empty($data["password"])
|
|
||||||
) {
|
|
||||||
$message = "Die Registrierungsdaten sind unvollständig.";
|
|
||||||
} else {
|
|
||||||
|
|
||||||
try {
|
|
||||||
$dao = UserManager::getInstance();
|
|
||||||
|
|
||||||
if ($dao->findUser($data["email"]) === null) {
|
|
||||||
$dao->addUser(
|
|
||||||
$data["email"],
|
|
||||||
$data["vorname"],
|
|
||||||
$data["nachname"],
|
|
||||||
$data["password"]
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
unlink($file);
|
|
||||||
|
|
||||||
$title = "Registrierung erfolgreich";
|
|
||||||
$message = "Ihre Registrierung wurde erfolgreich abgeschlossen. Sie können sich jetzt anmelden.";
|
|
||||||
$link = '<a class="button confirm-button" href="index.php?pfad=login">Zum Login</a>';
|
|
||||||
$isSuccess = true;
|
|
||||||
|
|
||||||
} catch (Exception $e) {
|
|
||||||
$message = "Die Registrierung konnte nicht abgeschlossen werden.";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
?>
|
?>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Ansicht: Registrierungsbestätigung
|
||||||
|
Funktion: Zeigt das Ergebnis der Registrierungsbestätigung an.
|
||||||
|
-->
|
||||||
<main class="login-page">
|
<main class="login-page">
|
||||||
<div class="login-container">
|
<div class="login-container">
|
||||||
|
|
||||||
|
|||||||
@@ -11,6 +11,8 @@ $error = $error ?? null;
|
|||||||
|
|
||||||
<h1>Bitte anmelden</h1>
|
<h1>Bitte anmelden</h1>
|
||||||
|
|
||||||
|
<?php include_once "includes/alertMessages.php"; ?>
|
||||||
|
|
||||||
<?php if (!empty($error)): ?>
|
<?php if (!empty($error)): ?>
|
||||||
<p class="alert-message is-error">
|
<p class="alert-message is-error">
|
||||||
<?php echo htmlspecialchars($error); ?>
|
<?php echo htmlspecialchars($error); ?>
|
||||||
|
|||||||
@@ -1 +0,0 @@
|
|||||||
<?php
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
<?php
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
<?php
|
|
||||||
@@ -78,6 +78,17 @@
|
|||||||
Das Bild konnte nicht hochgeladen werden. Bitte versuche es erneut oder verwende ein anderes Bildformat.
|
Das Bild konnte nicht hochgeladen werden. Bitte versuche es erneut oder verwende ein anderes Bildformat.
|
||||||
</p>
|
</p>
|
||||||
<?php endif; ?>
|
<?php endif; ?>
|
||||||
|
<?php if (isset($_SESSION["message"]) && $_SESSION["message"] == "registration_confirmed"): ?>
|
||||||
|
<p class="alert-message is-success">
|
||||||
|
Ihre Registrierung wurde erfolgreich abgeschlossen. Sie können sich jetzt anmelden.
|
||||||
|
</p>
|
||||||
|
<?php endif; ?>
|
||||||
|
|
||||||
|
<?php if (isset($_SESSION["message"]) && $_SESSION["message"] == "password_changed"): ?>
|
||||||
|
<p class="alert-message is-success">
|
||||||
|
Ihr Passwort wurde erfolgreich geändert. Sie können sich jetzt anmelden.
|
||||||
|
</p>
|
||||||
|
<?php endif; ?>
|
||||||
<?php
|
<?php
|
||||||
unset($_SESSION["message"]);
|
unset($_SESSION["message"]);
|
||||||
?>
|
?>
|
||||||
|
|||||||
@@ -18,7 +18,15 @@ if ($pfad === "register") {
|
|||||||
include_once "php/controller/register-controller.php";
|
include_once "php/controller/register-controller.php";
|
||||||
}
|
}
|
||||||
if ($pfad === "password-forgotten") {
|
if ($pfad === "password-forgotten") {
|
||||||
include_once "php/controller/password-forgotten-controller.php";
|
include_once "php/controller/password-forgotten-controller.php";
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($pfad === "confirm-register") {
|
||||||
|
include_once "php/controller/confirm-register-controller.php";
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($pfad === "confirm-password") {
|
||||||
|
include_once "php/controller/confirm-password-controller.php";
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($pfad === "logout") {
|
if ($pfad === "logout") {
|
||||||
|
|||||||
@@ -0,0 +1,65 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
require_once "php/model/UserManager.php";
|
||||||
|
|
||||||
|
/*
|
||||||
|
Verarbeitung der Passwortbestätigung
|
||||||
|
Funktion: Liest die zwischengespeicherten Passwortdaten aus,
|
||||||
|
aktualisiert das Passwort des Benutzers und gibt das Ergebnis
|
||||||
|
für die View zurück.
|
||||||
|
*/
|
||||||
|
|
||||||
|
$title = "Passwort zurücksetzen";
|
||||||
|
$message = "";
|
||||||
|
$link = "";
|
||||||
|
$isSuccess = false;
|
||||||
|
|
||||||
|
$token = basename($_GET["token"] ?? "");
|
||||||
|
$file = "data/pending-password/" . $token . ".json";
|
||||||
|
|
||||||
|
if (empty($token) || !file_exists($file)) {
|
||||||
|
|
||||||
|
$message = "Der Bestätigungslink ist ungültig oder bereits abgelaufen.";
|
||||||
|
|
||||||
|
} else {
|
||||||
|
|
||||||
|
$data = json_decode(file_get_contents($file), true);
|
||||||
|
|
||||||
|
if ($data === null || empty($data["email"]) || empty($data["password"])) {
|
||||||
|
|
||||||
|
$message = "Die Daten zur Passwortänderung konnten nicht gelesen werden.";
|
||||||
|
|
||||||
|
} else {
|
||||||
|
|
||||||
|
try {
|
||||||
|
|
||||||
|
$dao = UserManager::getInstance();
|
||||||
|
$user = $dao->findUser($data["email"]);
|
||||||
|
|
||||||
|
if ($user !== null) {
|
||||||
|
|
||||||
|
$dao->updateUser(
|
||||||
|
$user["email"],
|
||||||
|
$user["email"],
|
||||||
|
$user["vorname"],
|
||||||
|
$user["nachname"],
|
||||||
|
$data["password"]
|
||||||
|
);
|
||||||
|
|
||||||
|
$_SESSION["message"] = "password_changed";
|
||||||
|
header("Location: index.php?pfad=login");
|
||||||
|
exit();
|
||||||
|
|
||||||
|
} else {
|
||||||
|
|
||||||
|
$message = "Der Benutzer konnte nicht gefunden werden.";
|
||||||
|
}
|
||||||
|
|
||||||
|
unlink($file);
|
||||||
|
|
||||||
|
} catch (Exception $e) {
|
||||||
|
|
||||||
|
$message = "Das Passwort konnte nicht geändert werden.";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,64 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
require_once "php/model/UserManager.php";
|
||||||
|
|
||||||
|
/*
|
||||||
|
Verarbeitung der Registrierungsbestätigung
|
||||||
|
Funktion: Liest die zwischengespeicherten Registrierungsdaten aus,
|
||||||
|
legt den Benutzer an und gibt das Ergebnis für die View zurück.
|
||||||
|
*/
|
||||||
|
|
||||||
|
$title = "Registrierung";
|
||||||
|
$message = "";
|
||||||
|
$link = "";
|
||||||
|
$isSuccess = false;
|
||||||
|
|
||||||
|
$token = basename($_GET["token"] ?? "");
|
||||||
|
$file = "data/pending/" . $token . ".json";
|
||||||
|
|
||||||
|
if (empty($token) || !file_exists($file)) {
|
||||||
|
|
||||||
|
$message = "Der Registrierungslink ist ungültig oder bereits abgelaufen.";
|
||||||
|
|
||||||
|
} else {
|
||||||
|
|
||||||
|
$data = json_decode(file_get_contents($file), true);
|
||||||
|
|
||||||
|
if (
|
||||||
|
$data === null ||
|
||||||
|
empty($data["email"]) ||
|
||||||
|
empty($data["vorname"]) ||
|
||||||
|
empty($data["nachname"]) ||
|
||||||
|
empty($data["password"])
|
||||||
|
) {
|
||||||
|
|
||||||
|
$message = "Die Registrierungsdaten konnten nicht gelesen werden.";
|
||||||
|
|
||||||
|
} else {
|
||||||
|
|
||||||
|
try {
|
||||||
|
|
||||||
|
$dao = UserManager::getInstance();
|
||||||
|
|
||||||
|
if ($dao->findUser($data["email"]) === null) {
|
||||||
|
|
||||||
|
$dao->addUser(
|
||||||
|
$data["email"],
|
||||||
|
$data["vorname"],
|
||||||
|
$data["nachname"],
|
||||||
|
$data["password"]
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
unlink($file);
|
||||||
|
|
||||||
|
$_SESSION["message"] = "registration_confirmed";
|
||||||
|
header("Location: index.php?pfad=login");
|
||||||
|
exit();
|
||||||
|
|
||||||
|
} catch (Exception $e) {
|
||||||
|
|
||||||
|
$message = "Die Registrierung konnte nicht abgeschlossen werden.";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user