From c24f4ddfdbf00f024730c1f76e3f17e8e3999d85 Mon Sep 17 00:00:00 2001 From: Brion Vibber Date: Wed, 20 Oct 2010 16:14:32 -0700 Subject: [PATCH] Pretty up the OpenID variant of the OAuth login form a bit; change the 'Allow' button to 'Continue' so we're not confused why we get the form again after authenticating. --- actions/apioauthauthorize.php | 8 +++++--- plugins/OpenID/OpenIDPlugin.php | 10 +++++++++- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/actions/apioauthauthorize.php b/actions/apioauthauthorize.php index b603dce4a1..135c146e5f 100644 --- a/actions/apioauthauthorize.php +++ b/actions/apioauthauthorize.php @@ -347,8 +347,10 @@ class ApiOauthAuthorizeAction extends Action $this->elementEnd('li'); $this->elementEnd('ul'); + // quickie hack + $button = false; if (!common_logged_in()) { - if (Event::handle('StartOAuthLoginForm', array($this))) { + if (Event::handle('StartOAuthLoginForm', array($this, &$button))) { $this->elementStart('fieldset'); // TRANS: Fieldset legend. $this->element('legend', null, _m('LEGEND','Account')); @@ -365,7 +367,7 @@ class ApiOauthAuthorizeAction extends Action $this->elementEnd('fieldset'); } - Event::handle('EndOAuthLoginForm', array($this)); + Event::handle('EndOAuthLoginForm', array($this, &$button)); } $this->element('input', array('id' => 'cancel_submit', @@ -381,7 +383,7 @@ class ApiOauthAuthorizeAction extends Action 'name' => 'allow', 'type' => 'submit', // TRANS: Button text that when clicked will allow access to an account by an external application. - 'value' => _m('BUTTON','Allow'))); + 'value' => $button ? $button : _m('BUTTON','Allow'))); $this->elementEnd('fieldset'); $this->elementEnd('form'); diff --git a/plugins/OpenID/OpenIDPlugin.php b/plugins/OpenID/OpenIDPlugin.php index 0fa50139d7..c3dbd3068c 100644 --- a/plugins/OpenID/OpenIDPlugin.php +++ b/plugins/OpenID/OpenIDPlugin.php @@ -655,11 +655,13 @@ class OpenIDPlugin extends Plugin return true; } - function onStartOAuthLoginForm($action) + function onStartOAuthLoginForm($action, &$button) { if (common_config('site', 'openidonly')) { // Cancel the regular password login form, we won't need it. $this->showOAuthLoginForm($action); + // TRANS: button label for OAuth authorization page when needing OpenID authentication first. + $button = _m('BUTTON', 'Continue'); return false; } else { // Leave the regular password login form in place. @@ -674,6 +676,10 @@ class OpenIDPlugin extends Plugin */ protected function showOAuthLoginForm($action) { + $action->elementStart('fieldset'); + // TRANS: OpenID plugin logon form legend. + $action->element('legend', null, _m('OpenID login')); + $action->elementStart('ul', 'form_data'); $action->elementStart('li'); $provider = common_config('openid', 'trusted_provider'); @@ -699,6 +705,8 @@ class OpenIDPlugin extends Plugin } $action->elementEnd('li'); $action->elementEnd('ul'); + + $action->elementEnd('fieldset'); } /**