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
 
 

All source code and documentation on this site is released under the terms of the GNU General Public License, version 2 and later. Drupal is a registered trademark of Dries Buytaert.