diff options
author | Angie Byron <webchick@24967.no-reply.drupal.org> | 2009-01-22 03:11:54 +0000 |
---|---|---|
committer | Angie Byron <webchick@24967.no-reply.drupal.org> | 2009-01-22 03:11:54 +0000 |
commit | b4c737a2a5ed9bf9905c91107f94e42df36f2c44 (patch) | |
tree | 8bed38a803bf4f1c8dc1e657f42abe9cc2fd952d /modules/locale | |
parent | 7ac380aa059bd901e7965445080d2fddef84f9e9 (diff) | |
download | brdo-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.module | 87 |
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 + ); + } } } |