diff --git a/entity_translation.module b/entity_translation.module index 7ce69bf..432e257 100644 --- a/entity_translation.module +++ b/entity_translation.module @@ -1260,7 +1260,8 @@ function entity_translation_element_translatability_clue($element) { function _entity_translation_element_add_callback(&$element, $type, $function, $prepend = TRUE) { // If handler type has not been set, add defaults from element_info(). if (!isset($element[$type])) { - $element_info = element_info($element['#type']); + $element_type = isset($element['#type']) ? $element['#type'] : 'markup'; + $element_info = element_info($element_type); $element[$type] = isset($element_info[$type]) ? $element_info[$type] : array(); } if ($prepend) { diff --git a/includes/translation.handler.inc b/includes/translation.handler.inc index d75d578..873c9f4 100644 --- a/includes/translation.handler.inc +++ b/includes/translation.handler.inc @@ -1090,13 +1090,16 @@ class EntityTranslationDefaultHandler implements EntityTranslationHandlerInterfa * user's "edit translation shared fields" permissions. */ public function entityFormSharedElements(&$element) { - static $ignored_types; + static $ignored_types, $shared_labels, $access; if (!isset($ignored_types)) { $ignored_types = array_flip(array('actions', 'value', 'hidden', 'vertical_tabs', 'token')); } - - $shared_labels = variable_get('entity_translation_shared_labels', TRUE); - $access = user_access('edit translation shared fields') || user_access("edit $this->entityType translation shared fields"); + if (!isset($shared_labels)) { + $shared_labels = variable_get('entity_translation_shared_labels', TRUE); + } + if (!isset($access)) { + $access = user_access('edit translation shared fields') || user_access("edit $this->entityType translation shared fields"); + } foreach (element_children($element) as $key) { if (!isset($element[$key]['#type'])) { @@ -1131,7 +1134,6 @@ class EntityTranslationDefaultHandler implements EntityTranslationHandlerInterfa $translations = $this->getTranslations(); $is_new = $this->isNewEntity(); $is_translation = !$is_new && !empty($form_state['entity_translation']['is_translation']); - $form_langcode = $this->getFormLanguage(); $languages = entity_translation_languages($this->entityType, $this->entity); $options = count($translations->data) > 1 || !empty($settings['exclude_language_none']) ? array() : array(LANGUAGE_NONE => t('Language neutral'));