Example #1
0
 /**
  * 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;
 }