Passwort vergessen Funktion
This commit is contained in:
@@ -0,0 +1,61 @@
|
||||
<?php
|
||||
|
||||
require_once "php/model/UserManager.php";
|
||||
|
||||
$token = basename($_GET["token"] ?? "");
|
||||
$file = "data/pending-password/" . $token . ".json";
|
||||
|
||||
$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;
|
||||
|
||||
} catch (Exception $e) {
|
||||
$message = "Das Passwort konnte nicht geändert werden.";
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
<main class="login-page">
|
||||
<div class="login-container">
|
||||
|
||||
<h1><?php echo htmlspecialchars($title); ?></h1>
|
||||
|
||||
<p class="alert-message <?php echo $isSuccess ? 'is-success' : 'is-error'; ?> confirm-message">
|
||||
<?php echo htmlspecialchars($message); ?>
|
||||
</p>
|
||||
|
||||
<?php echo $link; ?>
|
||||
|
||||
</div>
|
||||
</main>
|
||||
Reference in New Issue
Block a user