function theme_locale_languages_overview_form

7.x locale.admin.inc theme_locale_languages_overview_form($variables)
6.x locale.inc theme_locale_languages_overview_form($form)

Returns HTML for the language overview form.

Parameters

$variables: An associative array containing:

  • form: A render element representing the form.

Related topics

2 string references to the theme hook from theme_locale_languages_overview_form()

Note: this list is generated by looking for the string for this theme hook, so it may include some references that are not actually using this theme hook.

locale_menu in drupal/modules/locale/locale.module
Implements hook_menu().
locale_theme in drupal/modules/locale/locale.module
Implements hook_theme().

File

drupal/modules/locale/locale.admin.inc, line 73
Administration functions for locale.module.

Code

function theme_locale_languages_overview_form($variables) {
  $form = $variables['form'];
  $default = language_default();
  foreach ($form['name'] as $key => $element) {
    // Do not take form control structures.
    if (is_array($element) && element_child($key)) {
      // Disable checkbox for the default language, because it cannot be disabled.
      if ($key == $default->language) {
        $form['enabled'][$key]['#attributes']['disabled'] = 'disabled';
      }

      // Add invisible labels for the checkboxes and radio buttons in the table
      // for accessibility. These changes are only required and valid when the
      // form is themed as a table, so it would be wrong to perform them in the
      // form constructor.
      $title = drupal_render($form['name'][$key]);
      $form['enabled'][$key]['#title'] = t('Enable !title', array('!title' => $title));
      $form['enabled'][$key]['#title_display'] = 'invisible';
      $form['site_default'][$key]['#title'] = t('Set !title as default', array('!title' => $title));
      $form['site_default'][$key]['#title_display'] = 'invisible';
      $rows[] = array(
        'data' => array(
          '<strong>' . $title . '</strong>',
          drupal_render($form['native'][$key]),
          check_plain($key),
          drupal_render($form['direction'][$key]),
          array(
            'data' => drupal_render($form['enabled'][$key]),
            'align' => 'center',
          ),
          drupal_render($form['site_default'][$key]),
          drupal_render($form['weight'][$key]),
          l(t('edit'), 'admin/config/regional/language/edit/' . $key) . (($key != 'en' && $key != $default->language) ? ' ' . l(t('delete'), 'admin/config/regional/language/delete/' . $key) : ''),
        ),
        'class' => array('draggable'),
      );
    }
  }
  $header = array(
    array('data' => t('English name')),
    array('data' => t('Native name')),
    array('data' => t('Code')),
    array('data' => t('Direction')),
    array('data' => t('Enabled')),
    array('data' => t('Default')),
    array('data' => t('Weight')),
    array('data' => t('Operations')),
  );
  $output = theme('table', array('header' => $header, 'rows' => $rows, 'attributes' => array('id' => 'language-order')));
  $output .= drupal_render_children($form);

  drupal_add_tabledrag('language-order', 'order', 'sibling', 'language-order-weight');

  return $output;
}