getUserForVerify($token); if ($user == NULL) { throw new Exception("UNKNOWN_TOKEN"); } $first_name = $user["first_name"]; $last_name = $user["last_name"]; $username = $user["username"]; $note = $user["note"]; $email = $user["email"]; $admin_token = $user["admin_token"]; require_once(__DIR__ . "/../MatrixConnection.php"); $adminUrl = $config["webroot"] . "/verify_admin.php?t=" . $admin_token; $mxConn = new MatrixConnection($config["homeserver"], $config["access_token"]); $mxMsg = new MatrixMessage(); $mxMsg->set_body(strtr($language["MSG_USER_WANTS_REGISTER"], [ "@name" => (strlen($first_name . $last_name) > 0 ? $first_name . " " . $last_name : $username), "@note" => $note, "@adminUrl" => $adminUrl ])); if (isset($language["MSG_USER_WANTS_REGISTER_FORMATTED"])) { $mxMsg->set_formatted_body(strtr($language["MSG_USER_WANTS_REGISTER_FORMATTED"], [ "@name" => (strlen($first_name . $last_name) > 0 ? $first_name . " " . $last_name : $username), "@note" => $note, "@adminUrl" => $adminUrl ])); } $mxMsg->set_type("m.text"); $response = $mxConn->send($config["register_room"], $mxMsg); if ($response) { $message = $language["SEND_MATRIX_FAIL"]; } $mx_db->setRegistrationStateVerify( ($response ? RegisterState::PendingAdminVerify : RegisterState::PendingAdminSend), $token); send_mail_pending_approval($config["homeserver"], $first_name . " " . $last_name, $email); print("" . $language["VERIFICATION_SUCEEDED"] . ""); print(""); print("

" . $language["VERIFICATION_SUCEEDED"] . "

"); print("

" . $language["VERIFICATION_SUCCESS_BODY"] . "

"); print("" . $language["JUMP_TO_HOMEPAGE"] . ""); } catch (Exception $e) { print("" . $language["VERIFICATION_FAILED"] . ""); print(""); print("

" . $language["VERIFICATION_FAILED"] . "

"); if (isset($language[$e->getMessage()])) { print("

" . $language[$e->getMessage()] . "

"); } else { print("

" . $e->getMessage() . "

"); } print("" . $language["JUMP_TO_HOMEPAGE"] . ""); } ?>