From b4c737a2a5ed9bf9905c91107f94e42df36f2c44 Mon Sep 17 00:00:00 2001 From: Angie Byron Date: Thu, 22 Jan 2009 03:11:54 +0000 Subject: #287178 by justinrandell: Break up various hook_form_alter()s to hook_form_FORM_ID_alters(). --- modules/locale/locale.module | 87 ++++++++++++++++++++++---------------------- 1 file changed, 43 insertions(+), 44 deletions(-) (limited to 'modules/locale/locale.module') 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 All languages.'), + ); +} + +/** + * 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 enabled languages. 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 All languages.'), + '#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 enabled languages. 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 + ); + } } } -- cgit v1.2.3