db = $db; } /** * @throws RandomException */ public function newUser($username, $password, $email){ if ($this->check_existing_user($username, $email)){ throw new RandomException("User already exists"); } $this->username = $username; $this->email = $email; $password2 = password_hash($password, PASSWORD_DEFAULT); $this->password = $password2; $this->location = ""; $this->bio = ""; $this->created = date('Y-m-d H:i:s'); $this->updated = date('Y-m-d H:i:s'); $this->verified = 0; $this->role = "user"; $this->img = ""; $this->api_key = bin2hex(random_bytes(32)); $stmt = $this->db->prepare("INSERT INTO users (username, password, email, img) VALUES (?, ?, ?, ?)"); $stmt->bind_param("ssss", $this->username, $this->password, $this->email, $this->img); $stmt->execute(); $stmt->close(); } private function check_existing_user($username, $email){ $stmt = $this->db->prepare("SELECT * FROM users WHERE username = ? OR email = ?"); $stmt->bind_param("ss", $username, $email); $stmt->execute(); $result = $stmt->get_result(); $user = $result->fetch_assoc(); $stmt->close(); return $user; } public function login(mixed $username, mixed $password) { } }