diff --git a/cron.php b/cron.php index 384ce0f..d0eb444 100644 --- a/cron.php +++ b/cron.php @@ -25,7 +25,7 @@ foreach ($mx_db->query($sql) as $row) { $homeserver, $row["first_name"] . " " . $row["last_name"], $row["email"], - $row["verify_url"]); + $verify_url); if ($success) { $mx_db->setRegistrationStateById(RegisterState::PendingEmailVerify, $row["id"]); @@ -58,7 +58,7 @@ foreach ($mx_db->query($sql) as $row) { case RegisterState::PendingRegistration: // Registration got accepted but registration failed - $password = addUser($row["first_name"], $row["last_name"], $row["username"], $row["email"]); + $password = $mx_db->addUser($row["first_name"], $row["last_name"], $row["username"], $row["email"]); if ($password != NULL) { // send registration_success $res = send_mail_registration_success($homeserver, $first_name . " " . $last_name, $email, $username, $password, $howToURL); diff --git a/database.php b/database.php index 3181328..c568b2a 100644 --- a/database.php +++ b/database.php @@ -116,7 +116,7 @@ class mxDatabase function userPendingRegistrations($username) { $sql = "SELECT COUNT(*) FROM registrations WHERE username = '" . $username . "' AND NOT state = " . RegisterState::RegistrationDeclined . " LIMIT 1;"; - $res = $db->query($sql); + $res = $this->db->query($sql); if ($res->fetchColumn() > 0) { return true; } @@ -143,7 +143,7 @@ class mxDatabase * @return ["verify_token"] */ function addRegistration($first_name, $last_name, $username, $note, $email) { - if ($this->userPendingRegistrations()) { + if ($this->userPendingRegistrations($username)) { require_once "language.php"; throw new Exception($language["USERNAME_PENDING_REGISTRATION"]); } @@ -155,7 +155,7 @@ class mxDatabase $verify_token = bin2hex(random_bytes(16)); $admin_token = bin2hex(random_bytes(16)); - $db->exec('INSERT INTO registrations + $this->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.'")'); @@ -174,7 +174,7 @@ class mxDatabase function getUserForApproval($admin_token) { $sql = "SELECT COUNT(*) FROM registrations WHERE admin_token = '" . $admin_token . "'" . " AND state = " . RegisterState::PendingAdminVerify . " LIMIT 1;"; - $res = $db->query($sql); + $res = $this->db->query($sql); $first_name = NULL; $last_name = NULL; $username = NULL; $note = NULL; $email = NULL; if ($res->fetchColumn() > 0) { @@ -199,14 +199,14 @@ class mxDatabase function getUserForVerify($verify_token) { $sql = "SELECT COUNT(*) FROM registrations WHERE verify_token = '" . $verify_token . "'" . " AND state = " . RegisterState::PendingEmailVerify . " LIMIT 1;"; - $res = $db->query($sql); + $res = $this->db->query($sql); $first_name = NULL; $last_name = NULL; $username = NULL; $note = NULL; $email = NULL; if ($res->fetchColumn() > 0) { $sql = "SELECT first_name, last_name, note, email, admin_token FROM registrations " - . " WHERE verify_token = '" . $token . "'" + . " WHERE verify_token = '" . $verify_token . "'" . " AND state = " . RegisterState::PendingEmailVerify . " LIMIT 1;"; - foreach ($db->query($sql) as $row) { + foreach ($this->db->query($sql) as $row) { // will only be executed once return $row; } @@ -249,7 +249,7 @@ class mxDatabase function addUser($first_name, $last_name, $username, $email) { // generate a password with 10 characters $password = bin2hex(openssl_random_pseudo_bytes(5)); - $password_hash = password_hash($passwort, PASSWORD_BCRYPT, ["cost"=>12]); + $password_hash = password_hash($password, PASSWORD_BCRYPT, ["cost"=>12]); $sql = "INSERT INTO logins (firstname, lastname, localpart, password_hash, email) VALUES " . '("' . $first_name.'","' . $last_name . '","' . $username . '","' diff --git a/public/verify_admin.php b/public/verify_admin.php index c62fa6d..d8ac122 100644 --- a/public/verify_admin.php +++ b/public/verify_admin.php @@ -59,7 +59,7 @@ try { $mxConn = new MatrixConnection($homeserver, $access_token); // generate a password with 8 characters - $password = addUser($first_name, $last_name, $username, $email); + $password = $mx_db->addUser($first_name, $last_name, $username, $email); if ($password != NULL) { // send registration_success $res = send_mail_registration_success($homeserver, $first_name . " " . $last_name, $email, $username, $password, $howToURL);