64 lines
1.5 KiB
PHP
64 lines
1.5 KiB
PHP
<?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.";
|
|
}
|
|
}
|
|
} |