summaryrefslogtreecommitdiff
path: root/actions/remotesubscribe.php
diff options
context:
space:
mode:
authorEvan Prodromou <evan@prodromou.name>2008-05-30 15:04:46 -0400
committerEvan Prodromou <evan@prodromou.name>2008-05-30 15:04:46 -0400
commit2a2992b102ebdbead08535d1a71fd9c60f979d89 (patch)
treeaff0adf1ada44ff7ac0f6c955a15961782541e3c /actions/remotesubscribe.php
parenta0928778ba38cf724513c7b2ba2e529f33025ddb (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/remotesubscribe.php')
-rw-r--r--actions/remotesubscribe.php12
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;