/** * Register a user */ public function register($username, $password, $password2, $emailAddress) { $database = new \Database(); // Test if logged in if (isset($_SESSION['userID']) and $database->doesUserExist($_SESSION['userID'])) { $this->registerMessage = ' <div class="alert alert-danger"><strong>You are already logged in.</strong></div>'; return false; } // Test if username already exists if ($database->doesUserNameExist($username)) { $this->registerMessage = '<div class="alert alert-danger"><strong>Username already exists, please choose a different one.</strong></div>'; return false; } // Test if username is too short if (strlen($username) <= 3) { $this->registerMessage = '<div class="alert alert-danger"><strong>Your username must be longer than 3 characters.</strong></div>'; return false; } // Test if passwords are the same if ($password != $password2) { $this->registerMessage = '<div class="alert alert-danger"><strong>Passwords do not match.</strong></div>'; return false; } // Test if password is too short if (strlen($password) <= 3) { $this->registerMessage = '<div class="alert alert-danger"><strong>Your password must be longer than 3 characters.</strong></div>'; return false; } // Test if email address is valid if (!filter_var($emailAddress, FILTER_VALIDATE_EMAIL)) { $this->registerMessage = '<div class="alert alert-danger"><strong>Your emailaddress is invalid.</strong></div>'; return false; } $salt = $this->generateSalt(); $hashedPassword = hashPassword($password, $salt); $id = $database->registerUser($username, $salt, $hashedPassword, $emailAddress); $this->registerMessage = '<div class="alert alert-success">Congratulations, account was successfully created.</strong></div>'; return true; }