move service-matching callbacks to library

darcs-hash:20080602175725-84dde-c8b3abaedcb8667130da2a080a09630d91969b5c.gz
This commit is contained in:
Evan Prodromou 2008-06-02 13:57:25 -04:00
parent 03677f1a81
commit 326def1965
2 changed files with 16 additions and 21 deletions

View File

@ -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();

View File

@ -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) {