diff options
author | Evan Prodromou <evan@prodromou.name> | 2008-05-27 07:42:19 -0400 |
---|---|---|
committer | Evan Prodromou <evan@prodromou.name> | 2008-05-27 07:42:19 -0400 |
commit | 90b4873a00b0d8b4249a323fc84a7460024f491b (patch) | |
tree | 58a6783887b6b5fef653feed019aa1bc1e8b8baf /actions/userauthorization.php | |
parent | 47f030ef65d03dcb63f459a02598392fed71a8e4 (diff) |
client side of distributed subscription almost complete
darcs-hash:20080527114219-84dde-784ddf4d4650c17bc7a1e3e01219c6948dfc9b3d.gz
Diffstat (limited to 'actions/userauthorization.php')
-rw-r--r-- | actions/userauthorization.php | 56 |
1 files changed, 55 insertions, 1 deletions
diff --git a/actions/userauthorization.php b/actions/userauthorization.php index 5b8a8bdc8..cc7ec85a5 100644 --- a/actions/userauthorization.php +++ b/actions/userauthorization.php @@ -22,6 +22,60 @@ if (!defined('LACONICA')) { exit(1); } class UserauthorizationAction extends Action { function handle($args) { parent::handle($args); - common_server_error(_t('Not yet implemented.')); + + if ($_SERVER['REQUEST_METHOD'] == 'POST') { + $this->send_authorization(); + } else { + try { + $req = $this->get_request(); + $server = common_oauth_server(); + list($consumer, $token) = $server->verify_request($req); + } catch (OAuthException $e) { + $this->clear_request(); + common_server_error($e->getMessage()); + return; + } + + if (common_logged_in()) { + $this->show_form($req); + } else { + common_return_to(common_local_url('userauthorization')); + common_redirect(common_local_url('login')); + } + } + } + + function store_request($req) { + common_ensure_session(); + $_SESSION['userauthorizationrequest'] = $req; + } + + function get_request() { + common_ensure_session(); + $req = $_SESSION['userauthorizationrequest']; + if (!$req) { + # XXX: may have an uncaught exception + $req = OAuthRequest::from_request(); + $this->store_request($req); + } + return $req; + } + + function show_form($req) { + common_show_header(_t('Authorize subscription')); + + common_show_footer(); + } + + function send_authorization() { + $req = $this->get_request(); + if (!$req) { + common_user_error(_t('No authorization request!')); + return; + } + + if ($this->boolean('authorize')) { + + } } } |