diff options
author | Evan Prodromou <evan@prodromou.name> | 2008-05-30 15:04:46 -0400 |
---|---|---|
committer | Evan Prodromou <evan@prodromou.name> | 2008-05-30 15:04:46 -0400 |
commit | 2a2992b102ebdbead08535d1a71fd9c60f979d89 (patch) | |
tree | aff0adf1ada44ff7ac0f6c955a15961782541e3c /actions | |
parent | a0928778ba38cf724513c7b2ba2e529f33025ddb (diff) |
parse the XRDS results
Apparently you have to parse the XRDS results from the discovery
result object. Who knew?
darcs-hash:20080530190446-84dde-52e5220aa5b76bc443ed20a1d0e07e509a5522f8.gz
Diffstat (limited to 'actions')
-rw-r--r-- | actions/remotesubscribe.php | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/actions/remotesubscribe.php b/actions/remotesubscribe.php index 0db58ec9c..4c7fc0ed4 100644 --- a/actions/remotesubscribe.php +++ b/actions/remotesubscribe.php @@ -85,14 +85,16 @@ class RemotesubscribeAction extends Action { return; } - if (!$yadis->xrds) { + $xrds =& Auth_Yadis_XRDS::parseXRDS($yadis->response_text); + + if (!$xrds) { $this->show_form(_t('Not a valid profile URL (no XRDS defined).')); return; } - common_debug('remotesubscribe.php: XRDS is "'.print_r($yadis->xrds,TRUE).'"'); + common_debug('remotesubscribe.php: XRDS is "'.print_r($xrds,TRUE).'"'); - $omb = $this->getOmb($yadis); + $omb = $this->getOmb($xrds); if (!$omb) { $this->show_form(_t('Not a valid profile URL (incorrect services).')); @@ -118,12 +120,12 @@ class RemotesubscribeAction extends Action { return $user; } - function getOmb($yadis) { + function getOmb($xrds) { static $endpoints = array(OMB_ENDPOINT_UPDATEPROFILE, OMB_ENDPOINT_POSTNOTICE, OAUTH_ENDPOINT_REQUEST, OAUTH_ENDPOINT_AUTHORIZE, OAUTH_ENDPOINT_ACCESS); $omb = array(); - $services = $yadis->services(); # ordered by priority + $services = $xrds->services(); # ordered by priority if (!$services) { common_debug('remotesubscribe.php: Got no services back from XRDS.'); return NULL; |