--- a/core/modules/openid/lib/Drupal/openid/Tests/OpenIDTestBase.php +++ b/core/modules/openid/lib/Drupal/openid/Tests/OpenIDTestBase.php @@ -24,21 +24,18 @@ function setUp() { parent::setUp(); + // Login as a user that can configure blocks. + $this->block_user = $this->drupalCreateUser(array('administer blocks')); + $this->drupalLogin($this->block_user); + // Enable user login block. - db_merge('block') - ->key(array( - 'module' => 'user', - 'delta' => 'login', - 'theme' => variable_get('theme_default', 'stark'), - )) - ->fields(array( - 'status' => 1, - 'weight' => 0, - 'region' => 'sidebar_first', - 'pages' => '', - 'cache' => -1, - )) - ->execute(); + $edit = array( + 'machine_name' => 'login', + 'region' => 'sidebar_first', + ); + $this->drupalPost('admin/structure/block/manage/user_login_block/stark', $edit, t('Save block')); + + $this->drupalLogout(); // Use a different front page than login page for testing OpenID login from // the user login block. only in patch2: unchanged: --- a/core/modules/openid/openid.css +++ b/core/modules/openid/openid.css @@ -5,11 +5,11 @@ padding-left: 20px; /* LTR */ } -#block-user-login #openid-login-form { +.user-login-form #openid-login-form { display: none; } -#block-user-login .openid-link { +.user-login-form .openid-link { background-image: url("login-bg.png"); background-position: left top; /* LTR */ background-repeat: no-repeat; only in patch2: unchanged: --- a/core/modules/openid/openid.js +++ b/core/modules/openid/openid.js @@ -16,23 +16,24 @@ Drupal.behaviors.openid = { $.cookie('Drupal.visitor.openid_identifier', null); } - if ($('#block-user-login').length) { - var $login_form = $('#user-login-form'); + if ($('.user-login-form').length) { + var $login_form = $('.user-login-form'); var $openid_form = $('#openid-login-form'); // Change link text and triggers loginchange event. - $('#block-user-login .openid-link').toggle( + $('.user-login-form .openid-link').toggle( function() { $(this).html(Drupal.t('Cancel OpenID login')); - $login_form.hide(); + $('.user-login-form > div > :not(#openid-login-form)').hide(); + $('.user-login-form .item-list').show(); $openid_form.show(); clearStatus($login_form); // Move focus to OpenID input. - $('#edit-openid-identifier').focus(); + $('.form-item-openid-identifier').focus(); }, function() { $(this).html(Drupal.t('Log in using OpenID')); - $login_form.show(); + $('.user-login-form > div > :not(#openid-login-form)').show(); $openid_form.hide(); clearStatus($openid_form); } only in patch2: unchanged: --- a/core/modules/openid/openid.module +++ b/core/modules/openid/openid.module @@ -127,23 +127,26 @@ function openid_user_logout($account) { } /** - * Implements hook_block_view_MODULE_DELTA_alter(). + * Implements hook_form_FORM_ID_alter(). * - * Adds the OpenID login form to the user login block. + * Adds the OpenID login form to the user login form. * * @see user_login_block() */ -function openid_block_view_user_login_alter(&$block) { - // Only alter the block when it is non-empty, i.e. when no user is logged in. - if (!isset($block['content'])) { - return; - } +function openid_form_user_login_form_alter(&$form) { - $block['content']['openid_login_form'] = drupal_get_form('openid_login_form'); - $block['content']['openid_login_form']['openid_identifier']['#size'] = $block['content']['user_login_form']['name']['#size']; + $form['openid_login_form'] = drupal_get_form('openid_login_form'); + $form['openid_login_form']['#prefix'] = '
'; + $form['openid_login_form']['#suffix'] = '
'; + $form['openid_login_form']['openid_identifier']['#size'] = $form['name']['#size']; + + // TODO: This should not be needed, but currently user_login_form has no links. + if (!isset($form['user_links'])) { + $form['user_links'] = array('#theme' => 'item_list', '#items' => array()); + } // Put an OpenID link as a first element. - $block['content']['user_links']['#items'] = array( + $form['user_links']['#items'] = array( l(t('Log in using OpenID'), 'user/login/openid', array( 'attributes' => array( 'title' => t('Log in using OpenID.'), @@ -152,10 +155,10 @@ function openid_block_view_user_login_alter(&$block) { 'tabindex' => 0, ), )) - ) + $block['content']['user_links']['#items']; + ) + $form['user_links']['#items']; // Move links under the openid form. - $block['content']['user_links']['#weight'] = 10; + $form['user_links']['#weight'] = 10; } /**