findUser($email); if (!is_dir("data/mails") && !mkdir("data/mails", 0777, true)) { throw new RuntimeException("Ordner data/mails konnte nicht erstellt werden."); } if (!is_dir("data/pending-password") && !mkdir("data/pending-password", 0777, true)) { throw new RuntimeException("Ordner data/pending-password konnte nicht erstellt werden."); } if (!is_writable("data/mails") || !is_writable("data/pending-password")) { throw new RuntimeException("Ordner sind nicht beschreibbar."); } if ($existingUser !== null) { $pendingData = [ "email" => $email, "password" => password_hash($plainPassword, PASSWORD_DEFAULT) ]; file_put_contents( "data/pending-password/" . $token . ".json", json_encode($pendingData, JSON_PRETTY_PRINT) ); } $mailContent = "

Passwort zurücksetzen

Falls Sie diese Anfrage nicht gestellt haben, können Sie diese Nachricht ignorieren.

Passwortänderung bestätigen

"; file_put_contents("data/mails/" . $token . ".html", $mailContent); $success = 'Weitere Infos finden Sie in der Datei xy.'; } catch (Exception $e) { $error = "Die Passwortänderung konnte nicht verarbeitet werden."; } } }