diff options
author | Evan Prodromou <evan@prodromou.name> | 2008-06-04 14:51:31 -0400 |
---|---|---|
committer | Evan Prodromou <evan@prodromou.name> | 2008-06-04 14:51:31 -0400 |
commit | d251e624a9885fdd5ca9a3de446071606c1ac54d (patch) | |
tree | fec9bc238eadd1b77db006a54fb2797f48299959 /lib | |
parent | d266ab8c2dd57d9562b9252c70828c8a9f9b1a93 (diff) |
full interface for userauthorization
darcs-hash:20080604185131-84dde-2ff45e07ebba18c97803ed4a99121a6244ef1158.gz
Diffstat (limited to 'lib')
-rw-r--r-- | lib/oauthstore.php | 14 | ||||
-rw-r--r-- | lib/omb.php | 12 | ||||
-rw-r--r-- | lib/util.php | 6 |
3 files changed, 28 insertions, 4 deletions
diff --git a/lib/oauthstore.php b/lib/oauthstore.php index 4ad123455..688c7477a 100644 --- a/lib/oauthstore.php +++ b/lib/oauthstore.php @@ -106,9 +106,21 @@ class LaconicaOAuthDataStore extends OAuthDataStore { $rt->state = 2; # used if (!$rt->update($orig_rt)) { return NULL; + } + # Update subscription + # XXX: mixing levels here + $sub = Subscription::staticGet('token', $rt->tok); + if (!$sub) { + return NULL; + } + $orig_sub = clone($sub); + $sub->token = $at->tok; + $sub->secret = $at->secret; + if (!$sub->update($orig_sub)) { + return NULL; } else { return new OAuthToken($at->tok, $at->secret); - } + } } } else { return NULL; diff --git a/lib/omb.php b/lib/omb.php index 19ac66ee2..7c7a21cc8 100644 --- a/lib/omb.php +++ b/lib/omb.php @@ -42,7 +42,7 @@ define('OAUTH_POST_BODY', OAUTH_NAMESPACE.'parameters/post-body'); define('OAUTH_HMAC_SHA1', OAUTH_NAMESPACE.'signature/HMAC-SHA1'); function omb_oauth_consumer() { - static $con = null; + static $con = NULL; if (!$con) { $con = new OAuthConsumer(common_root_url(), ''); } @@ -52,12 +52,20 @@ function omb_oauth_consumer() { function omb_oauth_server() { static $server = null; if (!$server) { - $server = new OAuthServer(new LaconicaOAuthDataStore()); + $server = new OAuthServer(omb_oauth_datastore()); $server->add_signature_method(omb_hmac_sha1()); } return $server; } +function omb_oauth_datastore() { + static $store = NULL; + if (!$store) { + $store = new LaconicaOAuthDataStore(); + } + return $store; +} + function omb_hmac_sha1() { static $hmac_method = NULL; if (!$hmac_method) { diff --git a/lib/util.php b/lib/util.php index de15d13de..a222f85f6 100644 --- a/lib/util.php +++ b/lib/util.php @@ -588,4 +588,8 @@ function common_log($priority, $msg) { function common_debug($msg) { common_log(LOG_DEBUG, $msg); -}
\ No newline at end of file +} + +function common_valid_http_url($url) { + return Validate::uri($url, array('allowed_schemes' => array('http', 'https'))); +} |