Implementierung
This commit is contained in:
@@ -4,6 +4,7 @@ require_once "php/model/UserManager.php";
|
||||
require_once "php/validator/user-validator.php";
|
||||
|
||||
$error = null;
|
||||
$success = null;
|
||||
|
||||
if ($_SERVER["REQUEST_METHOD"] === "POST") {
|
||||
|
||||
@@ -24,20 +25,53 @@ if ($_SERVER["REQUEST_METHOD"] === "POST") {
|
||||
try {
|
||||
$dao = UserManager::getInstance();
|
||||
|
||||
$password = password_hash($plainPassword, PASSWORD_DEFAULT);
|
||||
$token = bin2hex(random_bytes(16));
|
||||
$existingUser = $dao->findUser($email);
|
||||
|
||||
$dao->addUser($email, $vorname, $nachname, $password);
|
||||
if ($existingUser === null) {
|
||||
$password = password_hash($plainPassword, PASSWORD_DEFAULT);
|
||||
|
||||
$_SESSION["user"] = $vorname . " " . $nachname;
|
||||
$_SESSION["user_email"] = $email;
|
||||
$pendingData = [
|
||||
"email" => $email,
|
||||
"vorname" => $vorname,
|
||||
"nachname" => $nachname,
|
||||
"password" => $password
|
||||
];
|
||||
|
||||
header("Location: index.php");
|
||||
exit();
|
||||
file_put_contents(
|
||||
"data/pending/" . $token . ".json",
|
||||
json_encode($pendingData, JSON_PRETTY_PRINT)
|
||||
);
|
||||
|
||||
$mailContent = "
|
||||
<h2>Registrierung bestätigen</h2>
|
||||
<p>Bitte ignorieren Sie diese Nachricht, wenn Sie sich nicht registrieren wollten.</p>
|
||||
<p>
|
||||
<a href='index.php?pfad=confirm-register&token=$token'>
|
||||
Registrierung bestätigen
|
||||
</a>
|
||||
</p>
|
||||
";
|
||||
} else {
|
||||
$mailContent = "
|
||||
<h2>Registrierung</h2>
|
||||
<p>Bitte ignorieren Sie diese Nachricht, wenn Sie sich nicht registrieren wollten.</p>
|
||||
<p>Sie sind bereits registriert.</p>
|
||||
<p>
|
||||
<a href='index.php?pfad=password-forgotten'>
|
||||
Passwort vergessen
|
||||
</a>
|
||||
</p>
|
||||
";
|
||||
}
|
||||
|
||||
file_put_contents("data/mails/" . $token . ".html", $mailContent);
|
||||
|
||||
$success = 'Weitere Infos finden Sie in der Datei
|
||||
<a href="index.php?pfad=show-mail&token=' . htmlspecialchars($token) . '" target="_blank">xy</a>.';
|
||||
|
||||
} catch (InvalidArgumentException $e) {
|
||||
$error = $e->getMessage();
|
||||
} catch (Exception $e) {
|
||||
$error = "Die Registrierung konnte nicht gespeichert werden.";
|
||||
$error = "Die Registrierung konnte nicht verarbeitet werden.";
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user