locale_admin_manage_add
- Versions
- 4.6 – 5
locale_admin_manage_add()
Page handler for the language addition screen
Code
modules/locale.module, line 335
<?php
function locale_admin_manage_add() {
include_once 'includes/locale.inc';
$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) {
// 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');
}
// Add language, if we have the details
elseif ($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('You need to specify both the language code and the English name of the new language.'), 'error');
}
else {
drupal_set_message(t('The language %language (%code) is already set up.', array('%language' => '<em>'. check_plain($edit['langname']) .'</em>', '%code' => theme('placeholder', $edit['langcode']))), 'error');
}
break;
}
print theme('page', _locale_admin_manage_add_screen());
}
?>Login or register to post comments 