move service-matching callbacks to library
darcs-hash:20080602175725-84dde-c8b3abaedcb8667130da2a080a09630d91969b5c.gz
This commit is contained in:
parent
03677f1a81
commit
326def1965
@ -129,7 +129,7 @@ class RemotesubscribeAction extends Action {
|
||||
|
||||
# XXX: the following code could probably be refactored to eliminate dupes
|
||||
|
||||
$oauth_service = $xrds->services(array($this, 'matchOAuth'));
|
||||
$oauth_service = $xrds->services(omb_match_service(OAUTH_DISCOVERY));
|
||||
|
||||
if (!$oauth_service) {
|
||||
return NULL;
|
||||
@ -138,7 +138,7 @@ class RemotesubscribeAction extends Action {
|
||||
$xrd = $this->getXRD($oauth_service, $xrds);
|
||||
$this->addServices($xrd, $oauth_endpoints, $omb);
|
||||
|
||||
$omb_service = $xrds->services(array($this, 'matchOMB'));
|
||||
$omb_service = $xrds->services(omb_match_service(OMB_NAMESPACE));
|
||||
|
||||
if (!$omb_service) {
|
||||
return NULL;
|
||||
@ -183,9 +183,7 @@ class RemotesubscribeAction extends Action {
|
||||
|
||||
function addServices($xrd, $types, &$omb) {
|
||||
foreach ($types as $type) {
|
||||
$filter = create_function('$s',
|
||||
'return RemotesubscribeAction::matchService($s, \''.$type.'\'');
|
||||
$matches = $xrd->services($filter);
|
||||
$matches = $xrd->services(omb_match_service($type));
|
||||
if ($matches) {
|
||||
$omb[$type] = $services[0];
|
||||
} else {
|
||||
@ -196,22 +194,6 @@ class RemotesubscribeAction extends Action {
|
||||
return true;
|
||||
}
|
||||
|
||||
function matchOAuth($service) {
|
||||
return $this->matchService($service, OAUTH_DISCOVERY);
|
||||
}
|
||||
|
||||
function matchOMB($service) {
|
||||
return $this->matchService($service, OMB_VERSION_01);
|
||||
}
|
||||
|
||||
function matchService($service, $type) {
|
||||
if ($service && $service->matchTypes(array($type))) {
|
||||
return TRUE;
|
||||
} else {
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
function request_token($omb) {
|
||||
$con = omb_oauth_consumer();
|
||||
|
||||
|
13
lib/omb.php
13
lib/omb.php
@ -61,6 +61,19 @@ function omb_hmac_sha1() {
|
||||
return $hmac_method;
|
||||
}
|
||||
|
||||
function omb_service_filter($type) {
|
||||
return create_function('$s',
|
||||
'return omb_match_service($s, \''.$type.'\'');
|
||||
}
|
||||
|
||||
function omb_match_service($service, $type) {
|
||||
if ($service && $service->matchTypes(array($type))) {
|
||||
return TRUE;
|
||||
} else {
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
function omb_service_uri($service) {
|
||||
$uris = $service->getURIs();
|
||||
if (!$uris) {
|
||||
|
Loading…
Reference in New Issue
Block a user