20 || strlen($_POST["username"]) < 3)) { throw new Exception("USERNAME_LENGTH_INVALID"); } if (ctype_alnum($_POST['username']) != true) { throw new Exception("USERNAME_NOT_ALNUM"); } if (isset($config["getPasswordOnRegistration"]) && $config["getPasswordOnRegistration"] && $_POST["password"] != $_POST["password_confirm"]) { throw new Exception("PASSWORD_NOT_MATCH"); } if (isset($_POST["note"]) && strlen($_POST["note"]) > 50) { throw new Exception("NOTE_LENGTH_EXEEDED"); } if (!isset($_POST["email"]) || !filter_var($_POST["email"], FILTER_VALIDATE_EMAIL)) { throw new Exception("EMAIL_INVALID_FORMAT"); } if ($storeFirstLastName) { // only require first_name and last_name when we will evaluate them if (!isset($_POST["first_name"]) || ! preg_match("/[A-Z][a-z]+/", $_POST["first_name"])) { throw new Exception("FIRSTNAME_INVALID_FORMAT"); } if (!isset($_POST["last_name"]) || ! preg_match("/[A-Z][a-z]+/", $_POST["last_name"])) { throw new Exception("SIRNAME_INVALID_FORMAT"); } $first_name = filter_var($_POST["first_name"], FILTER_SANITIZE_STRING); $last_name = filter_var($_POST["last_name"], FILTER_SANITIZE_STRING); } else { $first_name = $last_name = ""; } $username = filter_var($_POST["username"], FILTER_SANITIZE_STRING); if ($storePassword && isset($_POST["password"])) { $password = filter_var($_POST["password"], FILTER_SANITIZE_STRING); } $note = filter_var($_POST["note"], FILTER_SANITIZE_STRING); $email = filter_var($_POST["email"], FILTER_VALIDATE_EMAIL); require_once("../database.php"); $res = $mx_db->addRegistration($first_name, $last_name, $username, $note, $email); if (!isset($res["verify_token"])) { error_log("sth. went wrong. registration did not throw but admin_token not set"); throw Exception ("Unknown Error"); } $verify_token = $res["verify_token"]; $verify_url = $config["webroot"] . "/verify.php?t=" . $verify_token; require_once "../mail_templates.php"; $success = send_mail_pending_verification( $config["homeserver"], $storeFirstLastName ? $first_name . " " . $last_name : $username, $email, $verify_url); $mx_db->setRegistrationStateVerify( ($success ? RegisterState::PendingEmailVerify : RegisterState::PendingEmailSend), $verify_token); print("
Bitte überprüfe deine E-Mails um deine E-Mail-Adresse zu bestätigen.
"); print("Zur Registrierungsseite"); } catch (Exception $e) { print("" . $language[$e->getMessage()] . "
"); } else { print("" . $e->getMessage() . "
"); } print("Zur Registrierungsseite"); } } else { $_SESSION["token"] = bin2hex(random_bytes(16)); ?>Hinweis:
ist ein geschlossenes Chat-Netzwerk in dem jeder Nutzer bestätigt werden muss.
Du bekommst eine E-Mail wenn jemand deine Mitgliedschaft bestätigt hat. An diese wird auch dein initiales Passwort gesendet.
Hinterlasse also bitte einen Hinweis zu dir (der nur den entsprechenden Personen gezeigt wird).
Liebe Grüße vom Team von