user_pwreset_timeout.module in User Password Reset Link Timeout 7
File
user_pwreset_timeout.module
View source
<?php
function user_pwreset_timeout_form_user_admin_settings_alter(&$form, &$form_state) {
$form['password_reset'] = array(
'#type' => 'fieldset',
'#title' => t('Password reset'),
'#collapsible' => FALSE,
'#collapsed' => FALSE,
'#weight' => 1,
);
$form['password_reset']['user_password_reset_timeout'] = array(
'#type' => 'textfield',
'#title' => t('User Password Reset Link Timeout'),
'#description' => t('Set the timeout in seconds for one-time login links. The default is 86400 seconds (24 hours).'),
'#default_value' => variable_get('user_password_reset_timeout', 86400),
'#size' => 10,
'#maxlength' => 8,
);
$form['personalization']['#weight'] = 2;
$form['email_title']['#weight'] = 3;
$form['email']['#weight'] = 4;
$form['#validate'][] = 'user_pwreset_timeout_validate';
}
function user_pwreset_timeout_validate($form, &$form_state) {
if (!preg_match('/(?<=\\s|^)\\d+(?=\\s|$)/', $form_state['values']['user_password_reset_timeout']) || ($form_state['values']['user_password_reset_timeout'] < 1 || $form_state['values']['user_password_reset_timeout'] > 31536000)) {
form_set_error('user_password_reset_timeout', t('User Password Reset Link Timeout must be an integer between 1 and 31536000.'));
}
}