function _extractSupportedAssociationType($server_error)
    {
        // Any error message whose code is not 'unsupported-type'
        // should be considered a total failure.
        if (($server_error->error_code != 'unsupported-type') ||
            ($server_error->message->isOpenID1())) {
            return null;
        }

        // The server didn't like the association/session type that we
        // sent, and it sent us back a message that might tell us how
        // to handle it.

        // Extract the session_type and assoc_type from the error
        // message
        $assoc_type = $server_error->message->getArg(Auth_OpenID_OPENID_NS,
                                                     'assoc_type');

        $session_type = $server_error->message->getArg(Auth_OpenID_OPENID_NS,
                                                       'session_type');

        if (($assoc_type === null) || ($session_type === null)) {
            return null;
        } else if (!$this->negotiator->isAllowed($assoc_type,
                                                 $session_type)) {
            return null;
        } else {
          return array($assoc_type, $session_type);
        }
    }
function _extractSupportedAssociationType($server_error)
    {
        // Any error message whose code is not 'unsupported-type'
        // should be considered a total failure.
        if (($server_error->error_code != 'unsupported-type') ||
            ($server_error->message->isOpenID1())) {
            return null;
        }

        // The server didn't like the association/session type that we
        // sent, and it sent us back a message that might tell us how
        // to handle it.

        // Extract the session_type and assoc_type from the error
        // message
        $assoc_type = $server_error->message->getArg(Auth_OpenID_OPENID_NS,
                                                     'assoc_type');

        $session_type = $server_error->message->getArg(Auth_OpenID_OPENID_NS,
                                                       'session_type');

        if (($assoc_type === null) || ($session_type === null)) {
            return null;
        } else if (!$this->negotiator->isAllowed($assoc_type,
                                                 $session_type)) {
            return null;
        } else {
          return array($assoc_type, $session_type);
        }
    }
function _extractSupportedAssociationType ( $ server_error ) { // Any error message whose code is not 'unsupported-type' // should be considered a total failure. if ( ( $ server_error -> error_code != 'unsupported-type' ) || ( $ server_error -> message -> isOpenID1 ( ) ) ) { return null ; } // The server didn't like the association/session type that we // sent, and it sent us back a message that might tell us how // to handle it. // Extract the session_type and assoc_type from the error // message $ assoc_type = $ server_error -> message -> getArg ( Auth_OpenID_OPENID_NS , 'assoc_type' ) ; $ session_type = $ server_error -> message -> getArg ( Auth_OpenID_OPENID_NS , 'session_type' ) ; if ( ( $ assoc_type === null ) || ( $ session_type === null ) ) { return null ; } else if ( ! $ this -> negotiator -> isAllowed ( $ assoc_type , $ session_type ) ) { return null ; } else { return array ( $ assoc_type , $ session_type ) ; } }
Handle ServerErrors resulting from association requests.

@param  $server_error
@return array|null $result If server replied with an C{unsupported-type}
error, return a tuple of supported C{association_type},
C{session_type}.  Otherwise logs the error and returns null.
@access private
Handle ServerErrors resulting from association requests .