summaryrefslogtreecommitdiff
path: root/modules/locale
diff options
context:
space:
mode:
authorAngie Byron <webchick@24967.no-reply.drupal.org>2009-01-22 03:11:54 +0000
committerAngie Byron <webchick@24967.no-reply.drupal.org>2009-01-22 03:11:54 +0000
commitb4c737a2a5ed9bf9905c91107f94e42df36f2c44 (patch)
tree8bed38a803bf4f1c8dc1e657f42abe9cc2fd952d /modules/locale
parent7ac380aa059bd901e7965445080d2fddef84f9e9 (diff)
downloadbrdo-b4c737a2a5ed9bf9905c91107f94e42df36f2c44.tar.gz
brdo-b4c737a2a5ed9bf9905c91107f94e42df36f2c44.tar.bz2
#287178 by justinrandell: Break up various hook_form_alter()s to hook_form_FORM_ID_alters().
Diffstat (limited to 'modules/locale')
-rw-r--r--modules/locale/locale.module87
1 files changed, 43 insertions, 44 deletions
diff --git a/modules/locale/locale.module b/modules/locale/locale.module
index 7fa66b38b..71c2959bd 100644
--- a/modules/locale/locale.module
+++ b/modules/locale/locale.module
@@ -254,56 +254,55 @@ function locale_language_selector_form($user) {
}
/**
- * Implementation of hook_form_alter(). Adds language fields to forms.
+ * Implementation of hook_form_FORM_ID_alter().
+ */
+function locale_form_path_admin_form_alter(&$form, &$form_state) {
+ $form['language'] = array(
+ '#type' => 'select',
+ '#title' => t('Language'),
+ '#options' => array('' => t('All languages')) + locale_language_list('name'),
+ '#default_value' => $form['language']['#value'],
+ '#weight' => -10,
+ '#description' => t('A path alias set for a specific language will always be used when displaying this page in that language, and takes precedence over path aliases set for <em>All languages</em>.'),
+ );
+}
+
+/**
+ * Implementation of hook_form_FORM_ID_alter().
*/
-function locale_form_alter(&$form, $form_state, $form_id) {
- switch ($form_id) {
+function locale_form_node_type_form_alter(&$form, &$form_state) {
+ if (isset($form['identity']['type'])) {
+ $form['workflow']['language_content_type'] = array(
+ '#type' => 'radios',
+ '#title' => t('Multilingual support'),
+ '#default_value' => variable_get('language_content_type_' . $form['#node_type']->type, 0),
+ '#options' => array(t('Disabled'), t('Enabled')),
+ '#description' => t('Enable multilingual support for this content type. If enabled, a language selection field will be added to the editing form, allowing you to select from one of the <a href="!languages">enabled languages</a>. If disabled, new posts are saved with the default language. Existing content will not be affected by changing this option.', array('!languages' => url('admin/settings/language'))),
+ );
+ }
+}
- // Language field for paths
- case 'path_admin_form':
+/**
+ * Implementation of hook_form_alter(). Adds language fields to forms.
+ */
+function locale_form_alter(&$form, &$form_state, $form_id) {
+ if (isset($form['#id']) && $form['#id'] == 'node-form') {
+ if (isset($form['#node']->type) && variable_get('language_content_type_' . $form['#node']->type, 0)) {
$form['language'] = array(
'#type' => 'select',
'#title' => t('Language'),
- '#options' => array('' => t('All languages')) + locale_language_list('name'),
- '#default_value' => $form['language']['#value'],
- '#weight' => -10,
- '#description' => t('A path alias set for a specific language will always be used when displaying this page in that language, and takes precedence over path aliases set for <em>All languages</em>.'),
+ '#default_value' => (isset($form['#node']->language) ? $form['#node']->language : ''),
+ '#options' => array('' => t('Language neutral')) + locale_language_list('name'),
);
- break;
-
- // Language setting for content types
- case 'node_type_form':
- if (isset($form['identity']['type'])) {
- $form['workflow']['language_content_type'] = array(
- '#type' => 'radios',
- '#title' => t('Multilingual support'),
- '#default_value' => variable_get('language_content_type_' . $form['#node_type']->type, 0),
- '#options' => array(t('Disabled'), t('Enabled')),
- '#description' => t('Enable multilingual support for this content type. If enabled, a language selection field will be added to the editing form, allowing you to select from one of the <a href="!languages">enabled languages</a>. If disabled, new posts are saved with the default language. Existing content will not be affected by changing this option.', array('!languages' => url('admin/settings/language'))),
- );
- }
- break;
-
- // Language field for nodes
- default:
- if (isset($form['#id']) && $form['#id'] == 'node-form') {
- if (isset($form['#node']->type) && variable_get('language_content_type_' . $form['#node']->type, 0)) {
- $form['language'] = array(
- '#type' => 'select',
- '#title' => t('Language'),
- '#default_value' => (isset($form['#node']->language) ? $form['#node']->language : ''),
- '#options' => array('' => t('Language neutral')) + locale_language_list('name'),
- );
- }
- // Node type without language selector: assign the default for new nodes
- elseif (!isset($form['#node']->nid)) {
- $default = language_default();
- $form['language'] = array(
- '#type' => 'value',
- '#value' => $default->language
- );
- }
- }
+ }
+ // Node type without language selector: assign the default for new nodes
+ elseif (!isset($form['#node']->nid)) {
+ $default = language_default();
+ $form['language'] = array(
+ '#type' => 'value',
+ '#value' => $default->language
+ );
+ }
}
}