| 
					
				 | 
			
			
				@@ -318,15 +318,39 @@ function tripal_module_implements_alter(&$implementations, $hook) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  * Implements hook_field_settings_form() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 function tripal_field_settings_form($field, $instance, $has_data) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//   $form = array(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//   $field_type = $field['type']; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//   //$is_loaded = tripal_load_include_field_class($field_type); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//   tripal_load_include_field_class($field_type); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//   if (class_exists($field_type)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     $tfield = new $field_type($field, $instance); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     $form = $tfield->globalSettingsForm($field, $instance, $has_data); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//   return $form; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $field_class = $field['type']; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  if (tripal_load_include_field_class($field_type)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    $field = new $field_class($field, $instance); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return $field->settingsForm($has_data); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * Implements hook_instance_settings_form() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+function tripal_field_instance_settings_form($field, $instance) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $field_class = $field['type']; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  if (tripal_load_include_field_class($field_type)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    $field = new $field_class($field, $instance); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return $field->instanceSettingsForm(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * Validates the TripalField instance settings form. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * This function is called because the TripalField::instanceSettingsForm() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * adds it to the form element.  By default, Drupal does not provide a 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * validate hook for the instance settings form. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+function tripal_field_instance_settings_form_validate($element, &$form_state, $form) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $field = $element['#field']; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $instance = $element['#instance']; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $field_class = $field['type']; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  if (tripal_load_include_field_class($field_type)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    $field = new $field_class($field, $instance); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return $field->instanceSettingsForm(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 /** 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -351,17 +375,17 @@ function tripal_field_instance_settings_form_alter(&$form, $form_state) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   // function.  To make it work we have to add a process function. Inisde 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   // of that process function is where the form additions get added that use 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   // Ajax. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  $form['field_term'][$language->language][0]['#process'] = array('tripal_field_instance_settings_form_process'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $form['field_term'][$language->language][0]['#process'] = array('tripal_field_instance_settings_form_alter_process'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   $form['#submit'][] = 'tripal_field_instance_settings_form_submit'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- * Implements a process function for the instnace settings form. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * Implements a process function for the instance settings form. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  * See the comment in the tripal_field_instance_settings_form_alter() for 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  * more details. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-function tripal_field_instance_settings_form_process($element, &$form_state, $form) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+function tripal_field_instance_settings_form_alter_process($element, &$form_state, $form) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   $field = $form['#field']; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   $instance = $form['#instance']; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -528,7 +552,7 @@ function tripal_field_instance_settings_form_process($element, &$form_state, $fo 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  $element['#element_validate'][] = 'tripal_field_instance_settings_form_validate'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $element['#element_validate'][] = 'tripal_field_instance_settings_form_alter_validate'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   return $element; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -538,25 +562,10 @@ function tripal_field_instance_settings_form_process($element, &$form_state, $fo 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 function tripal_fields_select_term_form_ajax_callback($form, $form_state) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   return $form['field_term']; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- * Implements hook_instance_settings_form() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-function tripal_field_instance_settings_form($field, $instance) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//   $form = array(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//   $field_type = $field['type']; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//   tripal_load_include_field_class($field_type); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//   if (class_exists($field_type)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     $tfield = new $field_type($field, $instance); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     $form = $tfield->instanceSettingsForm(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//   return $form; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  * Validate our custom instance settings form fields. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-function tripal_field_instance_settings_form_validate($form, &$form_state) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  $field = $form['#field']; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  $instance = $form['#instance']; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+function tripal_field_instance_settings_form_alter_validate($form, &$form_state) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   // If the user clicked the submit button then we want set the 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   // instance settings values accordingly. 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -588,6 +597,7 @@ function tripal_field_instance_settings_form_validate($form, &$form_state) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         $form_state['values']['instance']['settings']['term_name'] = $term->name; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         $selected_term = TRUE; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         $num_selected++; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        $has_default =  TRUE; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -600,7 +610,9 @@ function tripal_field_instance_settings_form_validate($form, &$form_state) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           from the "Controlled Vocabulary Term" section below.'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if (!$has_default) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      form_set_error('term_name', 'Fields attached to this content type must be associated with a controlled vocabulary term. Please provide one.'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      form_set_error('new_name', 'Fields attached to this content type must ' . 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          'be associated with a controlled vocabulary term. Please ' . 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          'provide one below.'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -631,19 +643,19 @@ function tripal_field_widget_form_validate($element, &$form_state, $form) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  * Implements hook_field_settings_form_validate(). 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- * This is not an actual Drpual hook, but rather a Tripal created hook 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- * to alow the TripalField objects to have a globalSettingsFormValidate() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- * member function. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * This function is called because the TripalField::settingsForm() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * adds it to the form element.  By default, Drupal does not provide a 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * validate hook for the settings form. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-function tripal_field_settings_form_validate($form, &$form_state) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//   $field = $form['#field']; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//   $instance = $form['#instance']; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//   $field_type = $field['type']; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//   tripal_load_include_field_class($field_type); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//   if (class_exists($field_type)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     $tfield = new $field_type($field, $instance); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     $form = $tfield->globalSettingsFormValidate($field, $instance, $form, $form_state); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+function tripal_field_settings_form_validate($element, &$form_state, $form) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $field = $element['#field']; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $instance = $element['#instance']; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $field_class = $field['type']; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  if (tripal_load_include_field_class($field_type)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    $field = new $field_class($field, $instance); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    $field->settingsFormValidate($form, $form_state); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -651,15 +663,11 @@ function tripal_field_settings_form_validate($form, &$form_state) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  * Implements hook_field_formatter_settings_summary(). 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 function tripal_field_formatter_settings_summary($field, $instance, $view_mode) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//   $summary = ''; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//   $field_type = $field['type']; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//   tripal_load_include_field_class($field_type); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//   if (class_exists($field_type)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     $tfield = new $field_type($field, $instance); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     $form = $tfield->formatterSettingsSummary($view_mode); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//   return $summary; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $formatter_class = $field['type'] . '_formatter'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  if (tripal_load_include_field_class($formatter_class)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    $formatter = new $formatter_class($field, $instance); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return $formatter->settingsSummary($form, $form_state); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 /** 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -668,14 +676,11 @@ function tripal_field_formatter_settings_summary($field, $instance, $view_mode) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 function tripal_formatter_settings_form($field, $instance, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     $view_mode, $form, &$form_state) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//   $form = array(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//   $field_type = $field['type']; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//   tripal_load_include_field_class($field_type); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//   if (class_exists($field_type)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     $tfield = new $field_type($field, $instance); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     $form = $tfield->formatterSettingsForm($view_mode, $form, $form_state); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//   return $form; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $formatter_class = $field['type'] . '_formatter'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  if (tripal_load_include_field_class($formatter_class)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    $formatter = new $formatter_class($field, $instance); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return $formatter->settingsSummaryForm($view_mode, $form, $form_state); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -736,13 +741,11 @@ function tripal_field_widget_form_alter(&$element, &$form_state, $context) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 function tripal_field_validate($entity_type, $entity, $field, $instance, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     $langcode, $items, &$errors) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//   $field_type = $field['type']; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//   $is_loaded = tripal_load_include_field_class($field_type); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//   if ($is_loaded) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     $tfield = new $field_type($field, $instance); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     $tfield->validate($entity_type, $entity, $langcode, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//         $items, $errors); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   $field_type = $field['type']; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   if (tripal_load_include_field_class($field_type)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     $tfield = new $field_type($field, $instance); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     $tfield->validate($entity_type, $entity, $langcode,$items, $errors); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 /** 
			 |