commit 40621ee2cbb2f56934c951f88bdf1506087a263a Author: Andy Postnikov Date: Tue Oct 2 13:48:41 2012 +0700 allow hash links diff --git a/core/modules/openid/openid.js b/core/modules/openid/openid.js index e80386a..664e3ff 100644 --- a/core/modules/openid/openid.js +++ b/core/modules/openid/openid.js @@ -4,7 +4,7 @@ Drupal.behaviors.openid = { attach: function (context) { - var $forms, $login, $openid, $link, $errors; + var $login, $openid, $link, $errors; var $loginBlock = $('#block-user-login').once('openid'); function clearStatus ($form) { @@ -20,39 +20,37 @@ Drupal.behaviors.openid = { $.cookie('Drupal.visitor.openid_identifier', null); } + function toggleForms($showOpenIdForm) { + if ($showOpenIdForm) { + $login.hide(); + $openid.show(); + $link.html(Drupal.t('Cancel OpenID login')); + location.hash = '#openid-login'; + clearStatus($login); + } + else { + $login.show(); + $openid.hide(); + $link.html(Drupal.t('Log in using OpenID')); + location.hash = '#nogo'; + clearStatus($openid); + } + } + if ($loginBlock.length) { - $forms = $loginBlock.find('.user-login-form'); $errors = $('#messages').find('.error'); $login = $('#user-login-form'); $openid = $('#openid-login-form'); $link = $(Drupal.theme('openIdLink')).insertAfter($openid).find('a'); - var openidIdentifier = $.cookie('Drupal.visitor.openid_identifier'); - var showOpenId = !!openidIdentifier; - - if (showOpenId) { - $login.hide(); - } - else { - $openid.hide(); - } + var showOpenId = $.cookie('Drupal.visitor.openid_identifier') || location.hash === '#openid-login'; + toggleForms(showOpenId); // Change link text and triggers loginchange event. $link.on('click', function (e) { showOpenId = !showOpenId; - $forms.hide(); - var $showForm; - if (showOpenId) { - $link.html(Drupal.t('Cancel OpenID login')); - $showForm = $openid; - } - else { - $link.html(Drupal.t('Log in using OpenID')); - $showForm = $login; - } - $showForm.show(); - clearStatus($showForm); + toggleForms(showOpenId); }); } diff --git a/core/modules/openid/openid.module b/core/modules/openid/openid.module index 99a4fce..37bbff2 100644 --- a/core/modules/openid/openid.module +++ b/core/modules/openid/openid.module @@ -140,7 +140,6 @@ function openid_block_view_user_login_alter(&$block) { } $block['content']['openid_login_form'] = drupal_get_form('openid_login_form'); - $block['content']['openid_login_form']['#attributes']['class'][] = 'user-login-form'; $block['content']['openid_login_form']['openid_identifier']['#size'] = $block['content']['user_login_form']['name']['#size']; }