public function checkUsername() {
    if (!Tilmeld::$config['email_usernames']) {
      if (empty($this->username)) {
        return ['result' => false, 'message' => 'Please specify a username.'];
      }
      if (Tilmeld::$config['max_username_length'] > 0
          && strlen($this->username) > Tilmeld::$config['max_username_length']
        ) {
        return [
          'result' => false,
          'message' => 'Usernames must not exceed '.
            Tilmeld::$config['max_username_length'].' characters.'
        ];
      }
      if (array_diff(
          str_split($this->username),
          str_split(Tilmeld::$config['valid_chars'])
      )) {
        return [
          'result' => false,
          'message' => Tilmeld::$config['valid_chars_notice']
        ];
      }
      if (!preg_match(Tilmeld::$config['valid_regex'], $this->username)) {
        return [
          'result' => false,
          'message' => Tilmeld::$config['valid_regex_notice']
        ];
      }
      $selector = ['&',
        'ilike' => [
          'username',
          str_replace(
              ['\\', '%', '_'],
              ['\\\\\\\\', '\%', '\_'],
              $this->username
          )
        ]
      ];
      if (isset($this->guid)) {
        $selector['!guid'] = $this->guid;
      }
      $test = Nymph::getEntity(
          ['class' => '\Tilmeld\Entities\User', 'skip_ac' => true],
          $selector
      );
      if (isset($test->guid)) {
        return ['result' => false, 'message' => 'That username is taken.'];
      }

      return [
        'result' => true,
        'message' => (
          isset($this->guid) ? 'Username is valid.' : 'Username is available!'
        )
      ];
    } else {
      if (empty($this->username)) {
        return ['result' => false, 'message' => 'Please specify an email.'];
      }
      if (Tilmeld::$config['max_username_length'] > 0
          && strlen($this->username) > Tilmeld::$config['max_username_length']
        ) {
        return [
          'result' => false,
          'message' => 'Emails must not exceed '.
            Tilmeld::$config['max_username_length'].' characters.'
        ];
      }

      return $this->checkEmail();
    }
  }
public function checkUsername() {
    if (!Tilmeld::$config['email_usernames']) {
      if (empty($this->username)) {
        return ['result' => false, 'message' => 'Please specify a username.'];
      }
      if (Tilmeld::$config['max_username_length'] > 0
          && strlen($this->username) > Tilmeld::$config['max_username_length']
        ) {
        return [
          'result' => false,
          'message' => 'Usernames must not exceed '.
            Tilmeld::$config['max_username_length'].' characters.'
        ];
      }
      if (array_diff(
          str_split($this->username),
          str_split(Tilmeld::$config['valid_chars'])
      )) {
        return [
          'result' => false,
          'message' => Tilmeld::$config['valid_chars_notice']
        ];
      }
      if (!preg_match(Tilmeld::$config['valid_regex'], $this->username)) {
        return [
          'result' => false,
          'message' => Tilmeld::$config['valid_regex_notice']
        ];
      }
      $selector = ['&',
        'ilike' => [
          'username',
          str_replace(
              ['\\', '%', '_'],
              ['\\\\\\\\', '\%', '\_'],
              $this->username
          )
        ]
      ];
      if (isset($this->guid)) {
        $selector['!guid'] = $this->guid;
      }
      $test = Nymph::getEntity(
          ['class' => '\Tilmeld\Entities\User', 'skip_ac' => true],
          $selector
      );
      if (isset($test->guid)) {
        return ['result' => false, 'message' => 'That username is taken.'];
      }

      return [
        'result' => true,
        'message' => (
          isset($this->guid) ? 'Username is valid.' : 'Username is available!'
        )
      ];
    } else {
      if (empty($this->username)) {
        return ['result' => false, 'message' => 'Please specify an email.'];
      }
      if (Tilmeld::$config['max_username_length'] > 0
          && strlen($this->username) > Tilmeld::$config['max_username_length']
        ) {
        return [
          'result' => false,
          'message' => 'Emails must not exceed '.
            Tilmeld::$config['max_username_length'].' characters.'
        ];
      }

      return $this->checkEmail();
    }
  }
public function checkUsername ( ) { if ( ! Tilmeld :: $ config [ 'email_usernames' ] ) { if ( empty ( $ this -> username ) ) { return [ 'result' => false , 'message' => 'Please specify a username.' ] ; } if ( Tilmeld :: $ config [ 'max_username_length' ] > 0 && strlen ( $ this -> username ) > Tilmeld :: $ config [ 'max_username_length' ] ) { return [ 'result' => false , 'message' => 'Usernames must not exceed ' . Tilmeld :: $ config [ 'max_username_length' ] . ' characters.' ] ; } if ( array_diff ( str_split ( $ this -> username ) , str_split ( Tilmeld :: $ config [ 'valid_chars' ] ) ) ) { return [ 'result' => false , 'message' => Tilmeld :: $ config [ 'valid_chars_notice' ] ] ; } if ( ! preg_match ( Tilmeld :: $ config [ 'valid_regex' ] , $ this -> username ) ) { return [ 'result' => false , 'message' => Tilmeld :: $ config [ 'valid_regex_notice' ] ] ; } $ selector = [ '&' , 'ilike' => [ 'username' , str_replace ( [ '\\' , '%' , '_' ] , [ '\\\\\\\\' , '\%' , '\_' ] , $ this -> username ) ] ] ; if ( isset ( $ this -> guid ) ) { $ selector [ '!guid' ] = $ this -> guid ; } $ test = Nymph :: getEntity ( [ 'class' => '\Tilmeld\Entities\User' , 'skip_ac' => true ] , $ selector ) ; if ( isset ( $ test -> guid ) ) { return [ 'result' => false , 'message' => 'That username is taken.' ] ; } return [ 'result' => true , 'message' => ( isset ( $ this -> guid ) ? 'Username is valid.' : 'Username is available!' ) ] ; } else { if ( empty ( $ this -> username ) ) { return [ 'result' => false , 'message' => 'Please specify an email.' ] ; } if ( Tilmeld :: $ config [ 'max_username_length' ] > 0 && strlen ( $ this -> username ) > Tilmeld :: $ config [ 'max_username_length' ] ) { return [ 'result' => false , 'message' => 'Emails must not exceed ' . Tilmeld :: $ config [ 'max_username_length' ] . ' characters.' ] ; } return $ this -> checkEmail ( ) ; } }
Check that a username is valid.

@return array An associative array with a boolean 'result' entry and a
'message' entry.
Check that a username is valid .