original_string: public function url($return = null, $altRealm = null)
      {
          $useHttps = !empty($_SERVER['HTTPS']) || (!empty($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https');
          if (!is_null($return)) {
              if (!$this->validateUrl($return)) {
                  throw new Exception('The return URL must be a valid URL with a URI Scheme or http or https.');
              }
          }
          else {
              if($altRealm == null)
                  $return = ($useHttps ? 'https' : 'http') . '://' . $_SERVER['HTTP_HOST'] . $_SERVER['SCRIPT_NAME'];
              else
                  $return = $altRealm . $_SERVER['SCRIPT_NAME'];
          }
  
          $params = array(
              'openid.ns'         => 'http://specs.openid.net/auth/2.0',
              'openid.mode'       => 'checkid_setup',
              'openid.return_to'  => $return,
              'openid.realm'      => $altRealm != null ? $altRealm : (($useHttps ? 'https' : 'http') . '://' . $_SERVER['HTTP_HOST']),
              'openid.identity'   => 'http://specs.openid.net/auth/2.0/identifier_select',
              'openid.claimed_id' => 'http://specs.openid.net/auth/2.0/identifier_select',
          );
  
          return self::$openId . '?' . http_build_query($params);
      }
code: public function url($return = null, $altRealm = null)
      {
          $useHttps = !empty($_SERVER['HTTPS']) || (!empty($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https');
          if (!is_null($return)) {
              if (!$this->validateUrl($return)) {
                  throw new Exception('The return URL must be a valid URL with a URI Scheme or http or https.');
              }
          }
          else {
              if($altRealm == null)
                  $return = ($useHttps ? 'https' : 'http') . '://' . $_SERVER['HTTP_HOST'] . $_SERVER['SCRIPT_NAME'];
              else
                  $return = $altRealm . $_SERVER['SCRIPT_NAME'];
          }
  
          $params = array(
              'openid.ns'         => 'http://specs.openid.net/auth/2.0',
              'openid.mode'       => 'checkid_setup',
              'openid.return_to'  => $return,
              'openid.realm'      => $altRealm != null ? $altRealm : (($useHttps ? 'https' : 'http') . '://' . $_SERVER['HTTP_HOST']),
              'openid.identity'   => 'http://specs.openid.net/auth/2.0/identifier_select',
              'openid.claimed_id' => 'http://specs.openid.net/auth/2.0/identifier_select',
          );
  
          return self::$openId . '?' . http_build_query($params);
      }
code_tokens: public function url ( $ return = null , $ altRealm = null ) { $ useHttps = ! empty ( $ _SERVER [ 'HTTPS' ] ) || ( ! empty ( $ _SERVER [ 'HTTP_X_FORWARDED_PROTO' ] ) && $ _SERVER [ 'HTTP_X_FORWARDED_PROTO' ] == 'https' ) ; if ( ! is_null ( $ return ) ) { if ( ! $ this -> validateUrl ( $ return ) ) { throw new Exception ( 'The return URL must be a valid URL with a URI Scheme or http or https.' ) ; } } else { if ( $ altRealm == null ) $ return = ( $ useHttps ? 'https' : 'http' ) . '://' . $ _SERVER [ 'HTTP_HOST' ] . $ _SERVER [ 'SCRIPT_NAME' ] ; else $ return = $ altRealm . $ _SERVER [ 'SCRIPT_NAME' ] ; } $ params = array ( 'openid.ns' => 'http://specs.openid.net/auth/2.0' , 'openid.mode' => 'checkid_setup' , 'openid.return_to' => $ return , 'openid.realm' => $ altRealm != null ? $ altRealm : ( ( $ useHttps ? 'https' : 'http' ) . '://' . $ _SERVER [ 'HTTP_HOST' ] ) , 'openid.identity' => 'http://specs.openid.net/auth/2.0/identifier_select' , 'openid.claimed_id' => 'http://specs.openid.net/auth/2.0/identifier_select' , ) ; return self :: $ openId . '?' . http_build_query ( $ params ) ; }
docstring: Build the Steam login URL
  
  @param string $return A custom return to URL
  @return string
docstring_tokens: Build the Steam login URL