function cas_form_alter in CAS 5.4
Same name and namespace in other branches
- 5 cas.module \cas_form_alter()
- 5.3 cas.module \cas_form_alter()
- 6.3 cas.module \cas_form_alter()
- 6 cas.module \cas_form_alter()
- 6.2 cas.module \cas_form_alter()
- 7 cas.module \cas_form_alter()
implementation of hook_form_alter Overrides specific from settings based on user policy.
File
- ./
cas.module, line 969
Code
function cas_form_alter($form_id, &$form) {
switch ($form_id) {
case 'user_edit':
//make the email field hidden and force the value to the default.
if (variable_get('cas_hide_email', 0)) {
if (variable_get('cas_domain', '')) {
$form['account']['mail']['#type'] = 'hidden';
$form['account']['mail']['#value'] = $form['account']['mail']['#default_value'];
if (!$form['account']['mail']['#default_value']) {
$form['account']['mail']['#value'] = $form['account']['name']['#default_value'] . '@' . variable_get('cas_domain', '');
}
}
/*
** LDAPAuth interfacing - BEGIN
*/
if (variable_get('cas_useldap', '')) {
global $ldapauth_ldap, $user;
if ($ldap_config_name = _get_ldap_config_name($user->name)) {
_ldapauth_init($ldap_config_name);
_ldapauth_user_lookup($user->name);
$cas_ldap_email_attribute = (string) variable_get('cas_ldap_email_attribute', 'mail');
$ldap_entries = $ldapauth_ldap
->search($ldapauth_ldap
->getOption('basedn'), $ldapauth_ldap
->getOption('user_attr') . '=' . $user->name, array(
$cas_ldap_email_attribute,
));
if ($ldap_entries['count'] == 1 && isset($ldap_entries[0][$cas_ldap_email_attribute][0])) {
if (trim($ldap_entries[0][$cas_ldap_email_attribute][0]) != '') {
$form['account']['mail']['#type'] = 'hidden';
$form['account']['mail']['#value'] = $ldap_entries[0][$cas_ldap_email_attribute][0];
}
}
}
}
/*
** LDAPAuth interfacing - END
*/
}
//Remove the password fields from the form.
if (variable_get('cas_hide_password', 0)) {
unset($form['account']['pass']);
}
break;
case 'user_pass':
if (!user_access('administer users') && variable_get('cas_changePasswordURL', '') != '') {
drupal_goto(variable_get('cas_changePasswordURL', ''));
}
break;
case 'user_register':
if (!user_access('administer users') && variable_get('cas_registerURL', '') != '') {
drupal_goto(variable_get('cas_registerURL', ''));
}
break;
}
}