20 || strlen($_POST["username"]) < 3)) { throw new Exception($language["USERNAME_LENGTH_INVALID"]); } if (ctype_alnum($_POST['username']) != true) { throw new Exception($language["USERNAME_NOT_ALNUM"]); } if (isset($_POST["note"]) && strlen($_POST["note"]) > 50) { throw new Exception($language["NOTE_LENGTH_EXEEDED"]); } if (!isset($_POST["email"]) || !filter_var($_POST["email"], FILTER_VALIDATE_EMAIL)) { throw new Exception($language["EMAIL_INVALID_FORMAT"]); } if (isset($_POST["first_name"]) && ! preg_match("/[A-Z][a-z]+/", $_POST["first_name"])) { throw new Exception($language["FIRSTNAME_INVALID_FORMAT"]); } if (isset($_POST["last_name"]) && ! preg_match("/[A-Z][a-z]+/", $_POST["last_name"])) { throw new Exception($language["SIRNAME_INVALID_FORMAT"]); } // check valid password $first_name = filter_var($_POST["first_name"], FILTER_SANITIZE_STRING); $last_name = filter_var($_POST["last_name"], FILTER_SANITIZE_STRING); $username = filter_var($_POST["username"], FILTER_SANITIZE_STRING); $note = filter_var($_POST["note"], FILTER_SANITIZE_STRING); $email = filter_var($_POST["email"], FILTER_VALIDATE_EMAIL); $verify_token = bin2hex(random_bytes(16)); $admin_token = bin2hex(random_bytes(16)); # $first="test"; $last="test2"; $user="test3"; $note="empty"; $email="mail+test1@matthias-kesler.de"; $sql = "SELECT COUNT(*) FROM registrations WHERE username = '" . $username . "' AND NOT state = " . RegisterState::RegistrationDeclined . " LIMIT 1;"; $res = $db->query($sql); if ($res->fetchColumn() > 0) { throw new Exception($language["USERNAME_PENDING_REGISTRATION"]); } require_once("../MatrixConnection.php"); $mxConn = new MatrixConnection($homeserver, $access_token); if ($mxConn->hasUser($username)) { throw new Exception($language["USERNAME_REGISTERED"]); } $db->exec('INSERT INTO registrations (first_name, last_name, username, note, email, verify_token, admin_token) VALUES ("' . $first_name.'","' . $last_name . '","' . $username . '","' . $note . '","' . $email.'","' .$verify_token.'","' .$admin_token.'")'); # $ins_stmt->bindValue(':first_name', $first); # $ins_stmt->bindValue(':last_lame', $last); # $ins_stmt->bindValue(':username', $user); # $ins_stmt->bindValue(':note', $note); # $ins_stmt->bindValue(':email', $email); # $ins_stmt->bindValue(':verify_token', $vToken); # $ins_stmt->bindValue(':admin_token', $adminToken); # $ins_stmt->bindValue(':now', date('Y-m-d H:i:s')); # # $ins_stmt->execute(); $verify_url = $webroot . "/verify.php?t=" . $verify_token; $success = send_mail_pending_verification( $homeserver, $first_name . " " . $last_name, $email, $verify_url); $db->exec("UPDATE registrations SET state = " . ($success ? RegisterState::PendingEmailVerify : RegisterState::PendingEmailSend) . " WHERE verify_token = \"" . $verify_token. "\";"); print("Erfolgreich"); print(""); print("

Erfolgreich

"); print("

Bitte überprüfe deine E-Mails um deine E-Mail-Adresse zu bestätigen.

"); print("Zur Registrierungsseite"); } catch (Exception $e) { print("" . $language["REGISTRATION_REQUEST_FAILED"] . ""); print(""); print("

" . $language["REGISTRATION_REQUEST_FAILED"] . "

"); print("

" . $e->getMessage() . "

"); print("Zur Registrierungsseite"); } } else { $_SESSION["token"] = bin2hex(random_bytes(16)); ?> Registriere dich für <?php echo $homeserver; ?>

Bitte für registrieren2-Schritt-Registrierung

*/ ?> ">

Hinweis:
cg-s.tk is 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 cg-s.tk