locale_admin_manage

Versions
4.6 – 5
locale_admin_manage()

Page handler for the language management screen

Code

modules/locale.module, line 259

<?php
function locale_admin_manage() {
  include_once 'includes/locale.inc';
  $edit = &$_POST['edit'];

  if ($_POST['op'] == t('Save configuration')) {
    // Save changes to existing languages
    $languages = locale_supported_languages(FALSE, TRUE);
    foreach($languages['name'] as $key => $value) {
      if ($edit['sitedefault'] == $key) {
        $edit['enabled'][$key] = 1; // autoenable the default language
      }
      if ($key == 'en') {
        // Disallow name change for English locale
        db_query("UPDATE {locales_meta} SET isdefault = %d, enabled = %d WHERE locale = 'en'", ($edit['sitedefault'] == $key), $edit['enabled'][$key]);
      }
      else {
        db_query("UPDATE {locales_meta} SET name = '%s', isdefault = %d, enabled = %d WHERE locale = '%s'", $edit['name'][$key], ($edit['sitedefault'] == $key), $edit['enabled'][$key], $key);
      }
    }

    // Changing the locale settings impacts the interface:
    cache_clear_all();

    drupal_goto('admin/locale/language/overview');
  }

  print theme('page', _locale_admin_manage_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.