update to drupal 7.23
This commit is contained in:
@@ -5,8 +5,8 @@ version = VERSION
|
||||
core = 7.x
|
||||
hidden = TRUE
|
||||
|
||||
; Information added by drupal.org packaging script on 2013-04-03
|
||||
version = "7.22"
|
||||
; Information added by drupal.org packaging script on 2013-08-08
|
||||
version = "7.23"
|
||||
project = "drupal"
|
||||
datestamp = "1365027012"
|
||||
datestamp = "1375928238"
|
||||
|
||||
|
||||
@@ -406,7 +406,7 @@ function user_admin_settings() {
|
||||
$form['personalization']['pictures']['settings']['user_picture_style'] = array(
|
||||
'#type' => 'select',
|
||||
'#title' => t('Picture display style'),
|
||||
'#options' => image_style_options(TRUE),
|
||||
'#options' => image_style_options(TRUE, PASS_THROUGH),
|
||||
'#default_value' => variable_get('user_picture_style', ''),
|
||||
'#description' => t('The style selected will be used on display, while the original image is retained. Styles may be configured in the <a href="!url">Image styles</a> administration area.', array('!url' => url('admin/config/media/image-styles'))),
|
||||
);
|
||||
|
||||
@@ -9,8 +9,8 @@ required = TRUE
|
||||
configure = admin/config/people
|
||||
stylesheets[all][] = user.css
|
||||
|
||||
; Information added by drupal.org packaging script on 2013-04-03
|
||||
version = "7.22"
|
||||
; Information added by drupal.org packaging script on 2013-08-08
|
||||
version = "7.23"
|
||||
project = "drupal"
|
||||
datestamp = "1365027012"
|
||||
datestamp = "1375928238"
|
||||
|
||||
|
||||
@@ -535,7 +535,7 @@ function user_update_7002(&$sandbox) {
|
||||
if ($sandbox['user_from'] == $sandbox['user_count']) {
|
||||
if ($sandbox['user_not_migrated'] > 0) {
|
||||
variable_set('empty_timezone_message', 1);
|
||||
drupal_set_message('Some user time zones have been emptied and need to be set to the correct values. Use the new ' . l('time zone options', 'admin/config/regional/settings') . ' to choose whether to remind users at login to set the correct time zone.', 'warning');
|
||||
drupal_set_message(format_string('Some user time zones have been emptied and need to be set to the correct values. Use the new <a href="@config-url">time zone options</a> to choose whether to remind users at login to set the correct time zone.', array('@config-url' => url('admin/config/regional/settings'))), 'warning');
|
||||
}
|
||||
return t('Migrated user time zones');
|
||||
}
|
||||
|
||||
+44
-39
@@ -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;
|
||||
@@ -2307,26 +2315,14 @@ function user_external_login_register($name, $module) {
|
||||
*
|
||||
* @param object $account
|
||||
* An object containing the user account.
|
||||
* @param array $options
|
||||
* (optional) A keyed array of settings. Supported options are:
|
||||
* - langcode: A language code to be used when generating locale-sensitive
|
||||
* urls. If langcode is NULL the users preferred language is used.
|
||||
*
|
||||
* @return
|
||||
* A unique URL that provides a one-time log in for the user, from which
|
||||
* they can change their password.
|
||||
*/
|
||||
function user_pass_reset_url($account, $options = array()) {
|
||||
function user_pass_reset_url($account) {
|
||||
$timestamp = REQUEST_TIME;
|
||||
$url_options = array('absolute' => TRUE);
|
||||
if (isset($options['langcode'])) {
|
||||
$languages = language_list();
|
||||
$url_options['language'] = $languages[$options['langcode']];
|
||||
}
|
||||
else {
|
||||
$url_options['language'] = user_preferred_language($account);
|
||||
}
|
||||
return url("user/reset/$account->uid/$timestamp/" . user_pass_rehash($account->pass, $timestamp, $account->login), $url_options);
|
||||
return url("user/reset/$account->uid/$timestamp/" . user_pass_rehash($account->pass, $timestamp, $account->login), array('absolute' => TRUE));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -2338,10 +2334,6 @@ function user_pass_reset_url($account, $options = array()) {
|
||||
* - uid: The user uid number.
|
||||
* - pass: The hashed user password string.
|
||||
* - login: The user login name.
|
||||
* @param array $options
|
||||
* (optional) A keyed array of settings. Supported options are:
|
||||
* - langcode: A language code to be used when generating locale-sensitive
|
||||
* urls. If langcode is NULL the users preferred language is used.
|
||||
*
|
||||
* @return
|
||||
* A unique URL that may be used to confirm the cancellation of the user
|
||||
@@ -2350,17 +2342,9 @@ function user_pass_reset_url($account, $options = array()) {
|
||||
* @see user_mail_tokens()
|
||||
* @see user_cancel_confirm()
|
||||
*/
|
||||
function user_cancel_url($account, $options = array()) {
|
||||
function user_cancel_url($account) {
|
||||
$timestamp = REQUEST_TIME;
|
||||
$url_options = array('absolute' => TRUE);
|
||||
if (isset($options['langcode'])) {
|
||||
$languages = language_list();
|
||||
$url_options['language'] = $languages[$options['langcode']];
|
||||
}
|
||||
else {
|
||||
$url_options['language'] = user_preferred_language($account);
|
||||
}
|
||||
return url("user/$account->uid/cancel/confirm/$timestamp/" . user_pass_rehash($account->pass, $timestamp, $account->login), $url_options);
|
||||
return url("user/$account->uid/cancel/confirm/$timestamp/" . user_pass_rehash($account->pass, $timestamp, $account->login), array('absolute' => TRUE));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -2435,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
|
||||
@@ -2477,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.
|
||||
*
|
||||
@@ -2809,7 +2814,7 @@ Your account on [site:name] has been canceled.
|
||||
if ($replace) {
|
||||
// We do not sanitize the token replacement, since the output of this
|
||||
// replacement is intended for an e-mail message, not a web browser.
|
||||
return token_replace($text, $variables, array('langcode' => $langcode, 'callback' => 'user_mail_tokens', 'sanitize' => FALSE, 'clear' => TRUE));
|
||||
return token_replace($text, $variables, array('language' => $language, 'callback' => 'user_mail_tokens', 'sanitize' => FALSE, 'clear' => TRUE));
|
||||
}
|
||||
|
||||
return $text;
|
||||
@@ -2836,8 +2841,8 @@ Your account on [site:name] has been canceled.
|
||||
*/
|
||||
function user_mail_tokens(&$replacements, $data, $options) {
|
||||
if (isset($data['user'])) {
|
||||
$replacements['[user:one-time-login-url]'] = user_pass_reset_url($data['user'], $options);
|
||||
$replacements['[user:cancel-url]'] = user_cancel_url($data['user'], $options);
|
||||
$replacements['[user:one-time-login-url]'] = user_pass_reset_url($data['user']);
|
||||
$replacements['[user:cancel-url]'] = user_cancel_url($data['user']);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3696,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.'),
|
||||
|
||||
@@ -36,6 +36,7 @@ function user_pass() {
|
||||
'#size' => 60,
|
||||
'#maxlength' => max(USERNAME_MAX_LENGTH, EMAIL_MAX_LENGTH),
|
||||
'#required' => TRUE,
|
||||
'#default_value' => isset($_GET['name']) ? $_GET['name'] : '',
|
||||
);
|
||||
// Allow logged in users to request this also.
|
||||
if ($user->uid > 0) {
|
||||
|
||||
+212
-245
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user