locale_form_alter

Versions
mediamosa-21
locale_form_alter(&$form, &$form_state, $form_id)

Implements hook_form_alter().

Adds language fields to forms.

Code

modules/locale/locale.module, line 379

<?php
function locale_form_alter(&$form, &$form_state, $form_id) {
  // Only alter user forms if there is more than one language.
  if (drupal_multilingual()) {
    // Display language selector when either creating a user on the admin
    // interface or editing a user account.
    if ($form_id == 'user_register_form' || ($form_id == 'user_profile_form' && $form['#user_category'] == 'account')) {
      locale_language_selector_form($form, $form_state, $form['#user']);
    }
  }
  if (!empty($form['#node_edit_form'])) {
    if (isset($form['#node']->type) && locale_multilingual_node_type($form['#node']->type)) {
      $form['language'] = array(
        '#type' => 'select',
        '#title' => t('Language'),
        '#default_value' => (isset($form['#node']->language) ? $form['#node']->language : ''),
        '#options' => array(LANGUAGE_NONE => t('Language neutral')) + locale_language_list('name'),
      );
    }
    // Node type without language selector: assign the default for new nodes
    elseif (!isset($form['#node']->nid)) {
      $default = language_default();
      $form['language'] = array(
        '#type' => 'value',
        '#value' => $default->language
      );
    }
    $form['#submit'][] = 'locale_field_node_form_submit';
  }
}
?>