| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 | 
							- <?php
 
- /**
 
-  * @file
 
-  * The taxonomy specific translation functions and hook implementations.
 
-  */
 
- /**
 
-  * Returns whether the given taxonomy vocabulary has support for translations.
 
-  *
 
-  * @return bool
 
-  *   TRUE if translation is enabled, FALSE otherwise.
 
-  */
 
- function entity_translation_taxonomy_term_enabled_vocabulary($vocabulary_name) {
 
-   $info = variable_get('entity_translation_taxonomy', array());
 
-   return !empty($info[$vocabulary_name]);
 
- }
 
- /**
 
-  * Taxonomy-term-specific menu alterations.
 
-  */
 
- function entity_translation_taxonomy_term_menu_alter(&$items, $backup) {
 
-   if (isset($backup['taxonomy_term'])) {
 
-     $item = $backup['taxonomy_term'];
 
-     // Preserve the menu router item defined by other modules.
 
-     $callback['page callback'] = $item['page callback'];
 
-     $callback['file'] = $item['file'];
 
-     $callback['module'] = $item['module'];
 
-     $access_arguments = array_merge(array(2, $item['access callback']), $item['access arguments']);
 
-     $page_arguments = array_merge(array('taxonomy_term', 2, $callback), $item['page arguments']);
 
-   }
 
-   else {
 
-     $access_arguments = array(2);
 
-     $page_arguments = array('taxonomy_term', 2);
 
-   }
 
-   $items['taxonomy/term/%taxonomy_term/translate']['page callback'] = 'entity_translation_overview';
 
-   $items['taxonomy/term/%taxonomy_term/translate']['page arguments'] = $page_arguments;
 
-   $items['taxonomy/term/%taxonomy_term/translate']['access arguments'] = $access_arguments;
 
-   $items['taxonomy/term/%taxonomy_term/translate']['access callback'] = 'entity_translation_taxonomy_term_tab_access';
 
-   $items['taxonomy/term/%taxonomy_term/translate']['file'] = 'entity_translation.admin.inc';
 
-   $items['taxonomy/term/%taxonomy_term/translate']['module'] = 'entity_translation';
 
- }
 
- /**
 
-  * Taxonomy term specific access callback.
 
-  */
 
- function entity_translation_taxonomy_term_tab_access() {
 
-   $args = func_get_args();
 
-   $term = array_shift($args);
 
-   if (entity_translation_enabled('taxonomy_term', $term)) {
 
-     return entity_translation_tab_access('taxonomy_term', $term);
 
-   }
 
-   else {
 
-     $function = array_shift($args);
 
-     return $function ? call_user_func_array($function, $args) : FALSE;
 
-   }
 
- }
 
- /**
 
-  * Implements hook_form_FORM_ID_alter()
 
-  */
 
- function entity_translation_form_taxonomy_form_vocabulary_alter(&$form, &$form_state) {
 
-   if (entity_translation_enabled('taxonomy_term')) {
 
-     $name = $form_state['vocabulary']->machine_name;
 
-     if (isset($form['i18n_translation']['i18n_mode'])) {
 
-       $args = array('!url' => url('admin/config/regional/entity_translation'));
 
-       $form['i18n_translation']['i18n_mode']['#options'][I18N_MODE_ENTITY_TRANSLATION] = t('Field translation. Term fields will be translated through the <a href="!url">Entity translation</a> module.', $args);
 
-       if (entity_translation_enabled_bundle('taxonomy_term', $name)) {
 
-         $form['i18n_translation']['i18n_mode']['#default_value'] = I18N_MODE_ENTITY_TRANSLATION;
 
-       }
 
-     }
 
-     else {
 
-       $form['entity_translation_taxonomy'] = array(
 
-         '#title' => t('Enable field translation'),
 
-         '#type' => 'checkbox',
 
-         '#prefix' => '<label>' . t('Translation') . '</label>',
 
-         '#default_value' => entity_translation_enabled('taxonomy_term', $name),
 
-       );
 
-     }
 
-     $form['#submit'][] = 'entity_translation_form_taxonomy_form_vocabulary_submit';
 
-   }
 
- }
 
- /**
 
-  * Submit handler for the taxonomy vocabulary form.
 
-  */
 
- function entity_translation_form_taxonomy_form_vocabulary_submit($form, &$form_state) {
 
-   if (!empty($form_state['values']['i18n_mode']) && $form_state['values']['i18n_mode'] == I18N_MODE_ENTITY_TRANSLATION) {
 
-     $form_state['values']['entity_translation_taxonomy'] = TRUE;
 
-   }
 
-   $info = variable_get('entity_translation_taxonomy', array());
 
-   $info[$form_state['vocabulary']->machine_name] = !empty($form_state['values']['entity_translation_taxonomy']);
 
-   variable_set('entity_translation_taxonomy', $info);
 
- }
 
 
  |