diff --git a/core/modules/user/lib/Drupal/user/UserStorageController.php b/core/modules/user/lib/Drupal/user/UserStorageController.php index 3f73832..bd0d9b9 100644 --- a/core/modules/user/lib/Drupal/user/UserStorageController.php +++ b/core/modules/user/lib/Drupal/user/UserStorageController.php @@ -96,7 +96,7 @@ class UserStorageController extends EntityDatabaseStorageController { $entity->pass = user_hash_password(trim($entity->pass)); // Abort if the hashing failed and returned FALSE. if (!$entity->pass) { - throw new EntityMalformedException("The entity doesn't have a password."); + throw new EntityMalformedException('The entity does not have a password.'); } } diff --git a/core/modules/user/user.module b/core/modules/user/user.module index 3340800..9ab4e38 100644 --- a/core/modules/user/user.module +++ b/core/modules/user/user.module @@ -909,32 +909,40 @@ function user_account_form_validate($form, &$form_state) { } // Cast the user ID as an integer. It might have been set to NULL, which // could lead to unexpected results. - elseif ((bool) db_select('users') - ->fields('users', array('uid')) - ->condition('uid', (int) $account->uid, '<>') - ->condition('name', db_like($form_state['values']['name']), 'LIKE') - ->range(0, 1) - ->execute() - ->fetchField()) { - form_set_error('name', t('The name %name is already taken.', array('%name' => $form_state['values']['name']))); + else { + $name_taken = (bool) db_select('users') + ->fields('users', array('uid')) + ->condition('uid', (int) $account->uid, '<>') + ->condition('name', db_like($form_state['values']['name']), 'LIKE') + ->range(0, 1) + ->execute() + ->fetchField(); + + if ($name_taken) { + form_set_error('name', t('The name %name is already taken.', array('%name' => $form_state['values']['name']))); + } } } $mail = $form_state['values']['mail']; - if (!empty($mail) && (bool) db_select('users') - ->fields('users', array('uid')) - ->condition('uid', (int) $account->uid, '<>') - ->condition('mail', db_like($mail), 'LIKE') - ->range(0, 1) - ->execute() - ->fetchField()) { - // Format error message dependent on whether the user is logged in or not. - if ($GLOBALS['user']->uid) { - form_set_error('mail', t('The e-mail address %email is already taken.', array('%email' => $mail))); - } - else { - form_set_error('mail', t('The e-mail address %email is already registered. Have you forgotten your password?', array('%email' => $mail, '@password' => url('user/password')))); + if (!empty($mail)) { + $mail_taken = (bool) db_select('users') + ->fields('users', array('uid')) + ->condition('uid', (int) $account->uid, '<>') + ->condition('mail', db_like($mail), 'LIKE') + ->range(0, 1) + ->execute() + ->fetchField(); + + if ($mail_taken) { + // Format error message dependent on whether the user is logged in or not. + if ($GLOBALS['user']->uid) { + form_set_error('mail', t('The e-mail address %email is already taken.', array('%email' => $mail))); + } + else { + form_set_error('mail', t('The e-mail address %email is already registered. Have you forgotten your password?', array('%email' => $mail, '@password' => url('user/password')))); + } } } @@ -3064,6 +3072,8 @@ function user_multiple_cancel_confirm_submit($form, &$form_state) { if ($uid == $user->uid) { $admin_form_state = $form_state; unset($admin_form_state['values']['user_cancel_confirm']); + // The $user global is not a complete user entity, so load the full + // entity. $admin_form_state['values']['_account'] = user_load($user->uid); user_cancel_confirm_form_submit(array(), $admin_form_state); }