/**
* Construct a FetchResponse object from an OpenID library
* SuccessResponse object.
*
* @param success_response: A successful id_res response object
*
* @param signed: Whether non-signed args should be processsed. If
* True (the default), only signed arguments will be processsed.
*
* @return $response A FetchResponse containing the data from the
* OpenID message
*/
function fromSuccessResponse($success_response, $signed = true)
{
$obj = new Auth_OpenID_AX_FetchResponse();
if ($signed) {
$ax_args = $success_response->getSignedNS($obj->ns_uri);
} else {
$ax_args = $success_response->message->getArgs($obj->ns_uri);
}
if ($ax_args === null || Auth_OpenID::isFailure($ax_args) || sizeof($ax_args) == 0) {
return null;
}
$result = $obj->parseExtensionArgs($ax_args);
if (Auth_OpenID_AX::isError($result)) {
#XXX log me
return null;
}
return $obj;
}