static function fromOpenIDRequest($request)
    {
        $m = $request->message;
        $obj = new Auth_OpenID_AX_FetchRequest();
        $ax_args = $m->getArgs($obj->ns_uri);

        $result = $obj->parseExtensionArgs($ax_args);

        if (Auth_OpenID_AX::isError($result)) {
            return $result;
        }

        if ($obj->update_url) {
            // Update URL must match the openid.realm of the
            // underlying OpenID 2 message.
            $realm = $m->getArg(Auth_OpenID_OPENID_NS, 'realm',
                        $m->getArg(
                                  Auth_OpenID_OPENID_NS,
                                  'return_to'));

            if (!$realm) {
                $obj = new Auth_OpenID_AX_Error(
                  sprintf("Cannot validate update_url %s " .
                          "against absent realm", $obj->update_url));
            } else if (!Auth_OpenID_TrustRoot::match($realm,
                                                     $obj->update_url)) {
                $obj = new Auth_OpenID_AX_Error(
                  sprintf("Update URL %s failed validation against realm %s",
                          $obj->update_url, $realm));
            }
        }

        return $obj;
    }
static function fromOpenIDRequest($request)
    {
        $m = $request->message;
        $obj = new Auth_OpenID_AX_FetchRequest();
        $ax_args = $m->getArgs($obj->ns_uri);

        $result = $obj->parseExtensionArgs($ax_args);

        if (Auth_OpenID_AX::isError($result)) {
            return $result;
        }

        if ($obj->update_url) {
            // Update URL must match the openid.realm of the
            // underlying OpenID 2 message.
            $realm = $m->getArg(Auth_OpenID_OPENID_NS, 'realm',
                        $m->getArg(
                                  Auth_OpenID_OPENID_NS,
                                  'return_to'));

            if (!$realm) {
                $obj = new Auth_OpenID_AX_Error(
                  sprintf("Cannot validate update_url %s " .
                          "against absent realm", $obj->update_url));
            } else if (!Auth_OpenID_TrustRoot::match($realm,
                                                     $obj->update_url)) {
                $obj = new Auth_OpenID_AX_Error(
                  sprintf("Update URL %s failed validation against realm %s",
                          $obj->update_url, $realm));
            }
        }

        return $obj;
    }
static function fromOpenIDRequest ( $ request ) { $ m = $ request -> message ; $ obj = new Auth_OpenID_AX_FetchRequest ( ) ; $ ax_args = $ m -> getArgs ( $ obj -> ns_uri ) ; $ result = $ obj -> parseExtensionArgs ( $ ax_args ) ; if ( Auth_OpenID_AX :: isError ( $ result ) ) { return $ result ; } if ( $ obj -> update_url ) { // Update URL must match the openid.realm of the // underlying OpenID 2 message. $ realm = $ m -> getArg ( Auth_OpenID_OPENID_NS , 'realm' , $ m -> getArg ( Auth_OpenID_OPENID_NS , 'return_to' ) ) ; if ( ! $ realm ) { $ obj = new Auth_OpenID_AX_Error ( sprintf ( "Cannot validate update_url %s " . "against absent realm" , $ obj -> update_url ) ) ; } else if ( ! Auth_OpenID_TrustRoot :: match ( $ realm , $ obj -> update_url ) ) { $ obj = new Auth_OpenID_AX_Error ( sprintf ( "Update URL %s failed validation against realm %s" , $ obj -> update_url , $ realm ) ) ; } } return $ obj ; }
Extract a FetchRequest from an OpenID message

@param Auth_OpenID_Request $request The OpenID request containing the attribute fetch request

@return Auth_OpenID_AX_FetchRequest|Auth_OpenID_AX_Error
Extract a FetchRequest from an OpenID message