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("
Bitte überprüfe deine E-Mails um deine E-Mail-Adresse zu bestätigen.
"); print("Zur Registrierungsseite"); } catch (Exception $e) { print("" . $e->getMessage() . "
"); print("Zur Registrierungsseite"); } } else { $_SESSION["token"] = bin2hex(random_bytes(16)); ?>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