summaryrefslogtreecommitdiff
path: root/modules/locale.module
diff options
context:
space:
mode:
Diffstat (limited to 'modules/locale.module')
-rw-r--r--modules/locale.module40
1 files changed, 19 insertions, 21 deletions
diff --git a/modules/locale.module b/modules/locale.module
index 58deceb63..1f9f6115a 100644
--- a/modules/locale.module
+++ b/modules/locale.module
@@ -108,7 +108,7 @@ function locale_user($type, $edit, &$user, $category = NULL) {
$user->language = key($languages['name']);
}
$languages['name'] = array_map('check_plain', $languages['name']);
- return array(array('title' => t('Interface language settings'), 'data' => form_radios(t("Language"), 'language', $user->language, $languages['name'], t("Selecting a different locale will change the interface language of the site."))));
+ return array(array('title' => t('Interface language settings'), 'data' => $form['locale_user'] = array(type => 'radios', title => t('Language'), default_value => $user->language, options => $languages['name'], description => t('Selecting a different locale will change the interface language of the site.'))));
}
}
@@ -319,15 +319,12 @@ function locale_admin_manage_delete_screen() {
// For other locales, warn user that data loss is ahead
$languages = locale_supported_languages(FALSE, TRUE);
- $extra = form_hidden('langcode', $langcode);
- $output = theme('confirm',
+ $form['langcode'] = array(type => 'hidden', value => $langcode);
+ return confirm_form('locale_admin_manage_delete_screen', $form,
t('Are you sure you want to delete the language %name?', array('%name' => theme('placeholder', t($languages['name'][$langcode])))),
'admin/locale/language/overview',
t('Deleting a language will remove all data associated with it. This action cannot be undone.'),
- t('Delete'),
- t('Cancel'),
- $extra);
- return $output;
+ t('Delete'), t('Cancel'));
}
/**
@@ -338,31 +335,32 @@ function locale_admin_manage_add() {
$edit = &$_POST['edit'];
$isocodes = _locale_get_iso639_list();
- switch ($_POST['op']) {
- // Try to add new language
- case t('Add language'):
- // Check for duplicates
- if (db_num_rows(db_query("SELECT locale FROM {locales_meta} WHERE locale = '%s'", $edit['langcode'])) == 0) {
-
+ // Check for duplicates
+ if ($duplicate = db_num_rows(db_query("SELECT locale FROM {locales_meta} WHERE locale = '%s'", $edit['langcode'])) == 0) {
+ switch ($_POST['op']) {
+ // Try to add new language
+ case t('Add language'):
// Set language name from the available list if needed
if ($edit['langcode'] && !$edit['langname'] && isset($isocodes[$edit['langcode']])) {
_locale_add_language($edit['langcode'], $isocodes[$edit['langcode']][0]);
drupal_goto('admin/locale');
}
-
+ break;
+ case t('Add custom language'):
// Add language, if we have the details
- elseif ($edit['langcode'] && $edit['langname']) {
+ if ($edit['langcode'] && $edit['langname']) {
_locale_add_language($edit['langcode'], $edit['langname']);
drupal_goto('admin/locale');
}
-
// Seems like we have not received some data
drupal_set_message(t('The language code and the English name of the new language must be specified.'), 'error');
- }
- else {
- drupal_set_message(t('The language %language (%code) already exists.', array('%language' => theme('placeholder', check_plain($edit['langname'])), '%code' => theme('placeholder', $edit['langcode']))), 'error');
- }
- break;
+ break;
+ default:
+ break;
+ }
+ }
+ else {
+ drupal_set_message(t('The language %language (%code) already exists.', array('%language' => theme('placeholder', check_plain($edit['langname'])), '%code' => theme('placeholder', $edit['langcode']))), 'error');
}
return _locale_admin_manage_add_screen();
}