function super_login_form_alter in Super Login 7
Same name and namespace in other branches
- 8 super_login.module \super_login_form_alter()
Implementation of hook_form_alter(). *
File
- ./
super_login.module, line 50 - Creates better login pages
Code
function super_login_form_alter(&$form, &$form_state, $form_id) {
if ($form_id == 'user_login' || $form_id == 'user_pass' || $form_id == 'user_login_block') {
// Global form functions
if (variable_get('super_login_autofocus', 0)) {
$form['name']['#attributes']['autofocus'] = 'autofocus';
}
unset($form['name']['#description']);
unset($form['pass']['#description']);
$path = drupal_get_path('module', 'super_login');
if (variable_get('super_login_css', 1)) {
$form['#attached']['css'][] = $path . '/css/super-login.css';
if (variable_get('super_login_button_image', 1)) {
$form['#attached']['css'][] = $path . '/css/super-login-buttons.css';
}
}
}
switch ($form_id) {
case 'user_login':
$form['#attached']['js'][] = $path . '/js/super-login.js';
$form['title'] = array(
'#markup' => '<p class="login-title">' . t(filter_xss(variable_get('super_login_log_in_text', 'Log In'))) . '</p>',
'#weight' => -100,
);
// Bypass our forgot password overrides if the No Request New Password module is enabled
if (!module_exists('noreqnewpass')) {
$link = l(t(variable_get('super_login_forgot_pw_text', 'Forgot Password?')), 'user/password', array(
'attributes' => array(
'title' => t('Get a new password'),
),
));
$form['reset'] = array(
'#markup' => '<p class="forgot-password">' . $link . '</p>',
'#weight' => 1,
);
}
$form['capslock'] = array(
'#markup' => '<div id="capslockdiv"><p style="display: none;">' . t(filter_xss(variable_get('super_login_capslock_msg', 'Caps Lock On'))) . '</p></div>',
'#weight' => 2,
);
if (user_register_access()) {
$actions_suffix = '<div class="actions-suffix">';
$actions_suffix .= l(t(variable_get('super_login_new_account_text', 'Create new account')), 'user/register', array(
'attributes' => array(
'class' => 'super-login-register',
'title' => t('Create a new user account'),
),
));
$actions_suffix .= '</div>';
$form['actions']['#suffix'] = $actions_suffix;
}
$form['name']['#title'] = t(variable_get('super_login_login_title', 'Username or e-mail address'));
$form['name']['#size'] = 50;
$form['pass']['#size'] = 50;
// Set form placeholder text
if (variable_get('super_login_placeholder', 1)) {
$form['name']['#attributes']['title'] = $form['name']['#title'];
$form['pass']['#attributes']['title'] = $form['pass']['#title'];
$form['name']['#attributes']['placeholder'] = $form['name']['#title'];
$form['pass']['#attributes']['placeholder'] = $form['pass']['#title'];
}
// If logintoboggan is installed and email login email is enabled then skip our own email login modification
if (!(module_exists('logintoboggan') && variable_get('logintoboggan_login_with_email', 0))) {
// Ensure a valid validate array to allow login with e-mail address.
$form['#validate'] = is_array($form['#validate']) ? $form['#validate'] : array();
// LT's validation function must run first.
array_unshift($form['#validate'], 'super_login_user_login_validate');
}
if (!variable_get('super_login_autofill', 1)) {
$form['#attributes']['autocomplete'] = 'off';
$form['name']['#attributes']['autocomplete'] = 'off';
$form['pass']['#attributes']['autocomplete'] = 'off';
}
if (!variable_get('super_login_button_image', 1)) {
$form['actions']['submit']['#value'] = t(variable_get('super_login_submit_text', 'Log in'));
}
break;
case 'user_login_block':
$form['#attached']['js'][] = $path . '/js/super-login.js';
$form['capslock'] = array(
'#markup' => '<div id="capslockdiv"><p style="display: none;">' . t(filter_xss(variable_get('super_login_capslock_msg', 'Caps Lock On'))) . '</p></div>',
'#weight' => 2,
);
$form['name']['#title'] = t(variable_get('super_login_login_title', 'Username or e-mail address'));
// Set form placeholder text
if (variable_get('super_login_placeholder', 1)) {
$form['name']['#attributes']['title'] = $form['name']['#title'];
$form['pass']['#attributes']['title'] = $form['pass']['#title'];
$form['name']['#attributes']['placeholder'] = $form['name']['#title'];
$form['pass']['#attributes']['placeholder'] = $form['pass']['#title'];
}
// If logintoboggan is installed and email login email is enabled then skip our own email login modification
if (!(module_exists('logintoboggan') && variable_get('logintoboggan_login_with_email', 0))) {
// Ensure a valid validate array to allow login with e-mail address.
$form['#validate'] = is_array($form['#validate']) ? $form['#validate'] : array();
// LT's validation function must run first.
array_unshift($form['#validate'], 'super_login_user_login_validate');
}
if (!variable_get('super_login_autofill', 1)) {
$form['#attributes']['autocomplete'] = 'off';
$form['name']['#attributes']['autocomplete'] = 'off';
$form['pass']['#attributes']['autocomplete'] = 'off';
}
break;
case 'user_pass':
$form['#attached']['js'][] = $path . '/js/super-login-pw.js';
$form['title'] = array(
'#markup' => '<p class="login-title">' . t(filter_xss(variable_get('super_login_password_reset_title', 'Password Reset'))) . '</p>',
'#weight' => -100,
);
$link = l(t(variable_get('super_login_back_link', 'Back to login page')), 'user/login', array(
'attributes' => array(
'title' => variable_get('super_login_back_link', 'Go back to the login page.'),
),
));
$form['reset'] = array(
'#markup' => '<p class="back-to-login">' . $link . '</p>',
'#weight' => 1,
);
break;
}
}