User interface for the language overview screen.
function language_admin_overview_form($form, &$form_state) {
drupal_static_reset('language_list');
$languages = language_list();
$default = language_default();
$form['languages'] = array(
'#languages' => $languages,
'#language_default' => $default,
'#type' => 'table',
'#header' => array(
t('Name'),
t('Weight'),
t('Operations'),
),
'#tabledrag' => array(
array(
'order',
'sibling',
'language-order-weight',
),
),
);
foreach ($languages as $langcode => $language) {
$form['languages'][$langcode]['#attributes']['class'][] = 'draggable';
$form['languages'][$langcode]['name'] = array(
'#markup' => check_plain($language->name),
);
$form['languages'][$langcode]['weight'] = array(
'#type' => 'weight',
'#title' => t('Weight for @title', array(
'@title' => $language->name,
)),
'#title_display' => 'invisible',
'#default_value' => $language->weight,
'#attributes' => array(
'class' => array(
'language-order-weight',
),
),
'#delta' => 30,
);
$links = array();
$links['edit'] = array(
'title' => t('edit'),
'href' => 'admin/config/regional/language/edit/' . $langcode,
);
if ($langcode != $default->langcode) {
$links['delete'] = array(
'title' => t('delete'),
'href' => 'admin/config/regional/language/delete/' . $langcode,
);
}
$form['languages'][$langcode]['operations'] = array(
'#type' => 'operations',
'#links' => $links,
'#weight' => 100,
);
}
$form['actions'] = array(
'#type' => 'actions',
);
$form['actions']['submit'] = array(
'#type' => 'submit',
'#value' => t('Save configuration'),
);
return $form;
}