locale_uninstall

Versions
5 – 7
locale_uninstall()

Implement hook_uninstall().

Code

modules/locale/locale.install, line 92

<?php
function locale_uninstall() {
  // Delete all JavaScript translation files.
  $locale_js_directory = 'public://' . variable_get('locale_js_directory', 'languages');
  $files = db_query('SELECT language, javascript FROM {languages}');
  foreach ($files as $file) {
    if (!empty($file->javascript)) {
      file_unmanaged_delete($locale_js_directory . '/' . $file->language . '_' . $file->javascript . '.js');
    }
  }
  // Delete the JavaScript translations directory if empty.
  @rmdir($locale_js_directory);

  // Clear variables.
  variable_del('language_default');
  variable_del('language_count');
  variable_del('language_types');
  variable_del('locale_language_negotiation_url_part');
  variable_del('locale_language_negotiation_session_param');
  variable_del('language_content_type_default');
  variable_del('language_content_type_negotiation');
  variable_del('locale_cache_strings');
  variable_del('locale_js_directory');
  variable_del('javascript_parsed');

  foreach (language_types() as $type) {
    variable_del("language_negotiation_$type");
    variable_del("locale_language_providers_enabled_$type");
    variable_del("locale_language_providers_weight_$type");
  }

  foreach (node_type_get_types() as $type => $content_type) {
    $setting = variable_del("language_content_type_$type");
  }

  // Switch back to English: with a $language->language value different from 'en'
  // successive calls of t() might result in calling locale(), which in turn might
  // try to query the unexisting {locales_source} and {locales_target} tables.
  drupal_language_initialize();

}
?>
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.