Mercurial > defr > drupal > core
comparison includes/locale.inc @ 7:fff6d4c8c043 6.3
Drupal 6.3
author | Franck Deroche <webmaster@defr.org> |
---|---|
date | Tue, 23 Dec 2008 14:30:28 +0100 |
parents | c1f4ac30525a |
children | 589fb7c02327 |
comparison
equal
deleted
inserted
replaced
6:2cfdc3c92142 | 7:fff6d4c8c043 |
---|---|
1 <?php | 1 <?php |
2 // $Id: locale.inc,v 1.174 2008/01/09 21:36:13 goba Exp $ | 2 // $Id: locale.inc,v 1.174.2.1 2008/07/09 21:48:28 goba Exp $ |
3 | 3 |
4 /** | 4 /** |
5 * @file | 5 * @file |
6 * Administration functions for locale.module. | 6 * Administration functions for locale.module. |
7 */ | 7 */ |
866 * @defgroup locale-translate-delete Translation delete interface. | 866 * @defgroup locale-translate-delete Translation delete interface. |
867 * @{ | 867 * @{ |
868 */ | 868 */ |
869 | 869 |
870 /** | 870 /** |
871 * Delete a language string. | 871 * String deletion confirmation page. |
872 */ | 872 */ |
873 function locale_translate_delete($lid) { | 873 function locale_translate_delete_page($lid) { |
874 db_query('DELETE FROM {locales_source} WHERE lid = %d', $lid); | 874 if ($source = db_fetch_object(db_query('SELECT * FROM {locales_source} WHERE lid = %d', $lid))) { |
875 db_query('DELETE FROM {locales_target} WHERE lid = %d', $lid); | 875 return drupal_get_form('locale_translate_delete_form', $source); |
876 } | |
877 else { | |
878 return drupal_not_found(); | |
879 } | |
880 } | |
881 | |
882 /** | |
883 * User interface for the string deletion confirmation screen. | |
884 */ | |
885 function locale_translate_delete_form(&$form_state, $source) { | |
886 $form['lid'] = array('#type' => 'value', '#value' => $source->lid); | |
887 return confirm_form($form, t('Are you sure you want to delete the string "%source"?', array('%source' => $source->source)), 'admin/build/translate/search', t('Deleting the string will remove all translations of this string in all languages. This action cannot be undone.'), t('Delete'), t('Cancel')); | |
888 } | |
889 | |
890 /** | |
891 * Process string deletion submissions. | |
892 */ | |
893 function locale_translate_delete_form_submit($form, &$form_state) { | |
894 db_query('DELETE FROM {locales_source} WHERE lid = %d', $form_state['values']['lid']); | |
895 db_query('DELETE FROM {locales_target} WHERE lid = %d', $form_state['values']['lid']); | |
876 // Force JavaScript translation file recreation for all languages. | 896 // Force JavaScript translation file recreation for all languages. |
877 _locale_invalidate_js(); | 897 _locale_invalidate_js(); |
878 cache_clear_all('locale:', 'cache', TRUE); | 898 cache_clear_all('locale:', 'cache', TRUE); |
879 drupal_set_message(t('The string has been removed.')); | 899 drupal_set_message(t('The string has been removed.')); |
880 drupal_goto('admin/build/translate/search'); | 900 $form_state['redirect'] = 'admin/build/translate/search'; |
881 } | 901 } |
882 /** | 902 /** |
883 * @} End of "locale-translate-delete" | 903 * @} End of "locale-translate-delete" |
884 */ | 904 */ |
885 | 905 |