patched user module
This commit is contained in:
@@ -187,7 +187,7 @@ function user_entity_info() {
|
||||
}
|
||||
|
||||
/**
|
||||
* Entity URI callback.
|
||||
* Implements callback_entity_info_uri().
|
||||
*/
|
||||
function user_uri($user) {
|
||||
return array(
|
||||
@@ -321,7 +321,7 @@ class UserController extends DrupalDefaultEntityController {
|
||||
}
|
||||
|
||||
// Add the full file objects for user pictures if enabled.
|
||||
if (!empty($picture_fids) && variable_get('user_pictures', 1) == 1) {
|
||||
if (!empty($picture_fids) && variable_get('user_pictures', 0)) {
|
||||
$pictures = file_load_multiple($picture_fids);
|
||||
foreach ($queried_users as $account) {
|
||||
if (!empty($account->picture) && isset($pictures[$account->picture])) {
|
||||
@@ -1083,6 +1083,9 @@ function user_account_form(&$form, &$form_state) {
|
||||
'#access' => !empty($protected_values),
|
||||
'#description' => $current_pass_description,
|
||||
'#weight' => -5,
|
||||
// Do not let web browsers remember this password, since we are trying
|
||||
// to confirm that the person submitting the form actually knows the
|
||||
// current one.
|
||||
'#attributes' => array('autocomplete' => 'off'),
|
||||
);
|
||||
$form['#validate'][] = 'user_validate_current_pass';
|
||||
@@ -2192,7 +2195,7 @@ function user_login_final_validate($form, &$form_state) {
|
||||
}
|
||||
}
|
||||
else {
|
||||
form_set_error('name', t('Sorry, unrecognized username or password. <a href="@password">Have you forgotten your password?</a>', array('@password' => url('user/password'))));
|
||||
form_set_error('name', t('Sorry, unrecognized username or password. <a href="@password">Have you forgotten your password?</a>', array('@password' => url('user/password', array('query' => array('name' => $form_state['values']['name']))))));
|
||||
watchdog('user', 'Login attempt failed for %user.', array('%user' => $form_state['values']['name']));
|
||||
}
|
||||
}
|
||||
@@ -2238,7 +2241,12 @@ function user_authenticate($name, $password) {
|
||||
* Finalize the login process. Must be called when logging in a user.
|
||||
*
|
||||
* The function records a watchdog message about the new session, saves the
|
||||
* login timestamp, calls hook_user op 'login' and generates a new session. *
|
||||
* login timestamp, calls hook_user_login(), and generates a new session.
|
||||
*
|
||||
* @param array $edit
|
||||
* The array of form values submitted by the user.
|
||||
*
|
||||
* @see hook_user_login()
|
||||
*/
|
||||
function user_login_finalize(&$edit = array()) {
|
||||
global $user;
|
||||
@@ -2411,6 +2419,14 @@ function user_cancel($edit, $uid, $method) {
|
||||
array('_user_cancel', array($edit, $account, $method)),
|
||||
),
|
||||
);
|
||||
|
||||
// After cancelling account, ensure that user is logged out.
|
||||
if ($account->uid == $user->uid) {
|
||||
// Batch API stores data in the session, so use the finished operation to
|
||||
// manipulate the current user's session id.
|
||||
$batch['finished'] = '_user_cancel_session_regenerate';
|
||||
}
|
||||
|
||||
batch_set($batch);
|
||||
|
||||
// Batch processing is either handled via Form API or has to be invoked
|
||||
@@ -2453,16 +2469,29 @@ function _user_cancel($edit, $account, $method) {
|
||||
break;
|
||||
}
|
||||
|
||||
// After cancelling account, ensure that user is logged out.
|
||||
// After cancelling account, ensure that user is logged out. We can't destroy
|
||||
// their session though, as we might have information in it, and we can't
|
||||
// regenerate it because batch API uses the session ID, we will regenerate it
|
||||
// in _user_cancel_session_regenerate().
|
||||
if ($account->uid == $user->uid) {
|
||||
// Destroy the current session, and reset $user to the anonymous user.
|
||||
session_destroy();
|
||||
$user = drupal_anonymous_user();
|
||||
}
|
||||
|
||||
// Clear the cache for anonymous users.
|
||||
cache_clear_all();
|
||||
}
|
||||
|
||||
/**
|
||||
* Finished batch processing callback for cancelling a user account.
|
||||
*
|
||||
* @see user_cancel()
|
||||
*/
|
||||
function _user_cancel_session_regenerate() {
|
||||
// Regenerate the users session instead of calling session_destroy() as we
|
||||
// want to preserve any messages that might have been set.
|
||||
drupal_session_regenerate();
|
||||
}
|
||||
|
||||
/**
|
||||
* Delete a user.
|
||||
*
|
||||
@@ -3672,7 +3701,7 @@ function user_block_user_action(&$entity, $context = array()) {
|
||||
function user_form_field_ui_field_edit_form_alter(&$form, &$form_state, $form_id) {
|
||||
$instance = $form['#instance'];
|
||||
|
||||
if ($instance['entity_type'] == 'user') {
|
||||
if ($instance['entity_type'] == 'user' && !$form['#field']['locked']) {
|
||||
$form['instance']['settings']['user_register_form'] = array(
|
||||
'#type' => 'checkbox',
|
||||
'#title' => t('Display on user registration form.'),
|
||||
|
||||
Reference in New Issue
Block a user