function admin_language_form_user_profile_form_alter in Administration Language 6
Implementation of hook_form_FORM_ID_alter().
File
- ./
admin_language.module, line 186 - Makes sure all admin pages are displayed in the preferred language of the administrator.
Code
function admin_language_form_user_profile_form_alter(&$form, &$form_state) {
if (variable_get('admin_language_hide_user', 0) && !user_access('use all enabled languages')) {
$language = variable_get('admin_language_default', 'en');
// remove the admin language from the available options
unset($form['locale']['language']['#options'][$language]);
// make sure that the default value is available on the form
$default_value = $form['locale']['language']['#default_value'];
if (!isset($form['locale']['language']['#options'][$default_value])) {
$options = array_keys($form['locale']['language']['#options']);
$form['locale']['language']['#default_value'] = array_shift($options);
}
// if that leaves us with only one language, we replace the select element
// with a value element and hide the language fieldset
if (count($form['locale']['language']['#options']) == 1) {
$options = array_keys($form['locale']['language']['#options']);
$default = array_shift($options);
$form['locale']['language'] = array(
'#type' => 'value',
'#value' => $default,
);
$form['locale']['#access'] = FALSE;
}
}
}