| 
					
				 | 
			
			
				@@ -293,7 +293,7 @@ class chado_linker__relationship extends TripalField { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       $subject_id = $item[$field_table . '__subject_id']; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       $object_id = $item[ $field_table . '__object_id']; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       $type_id = $item[$field_table . '__type_id']; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      $type_name = $item['type_name']; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      $type_name = isset($item['type_name']) ? $item['type_name'] : ''; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       $subject_name = $item['subject_name']; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       $object_name = $item['object_name']; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -841,37 +841,41 @@ class chado_linker__relationship extends TripalField { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   public function instanceSettingsFormValidate($form, &$form_state) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     //dpm($form);dpm($form_state); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     $settings = $form_state['values']['instance']['settings']; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     // Make sure the supplied types are valid cvterms 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     if (isset($settings['relationship_types'])) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//       $rel_types = explode(PHP_EOL, $settings['relationship_types']); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//       foreach($rel_types AS $type) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//         // Ignore empty lines 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//         if (trim($type) == '') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//           continue; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//         $term = tripal_get_cvterm(array('name' => trim($type))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//         // Don't save the form  if a term can not be found or it matches more than one cvterm 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//         if (!isset($term->cvterm_id)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//           form_set_error( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//             "instance][settings][relationships][relationship_types", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//             t("The term '@type' can not be found or matches more than one term.", array('@type' => $type)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//           ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//       } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     // Make sure child relationship types are using a valid cvterm 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     if (isset($settings['child_relationship_types'])) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//       $supertype = $settings['child_relationship_types']; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//       $term = tripal_get_cvterm(array('name' => trim($supertype))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//       if (!isset($term->cvterm_id)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//         form_set_error( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//           "instance][settings][relationships][child_relationship_types", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//           t("The term '@type' can not be found or matches more than one term.", array('@type' => $supertype)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//         ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//       } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     $settings = $form_state['values']['instance']['settings']['relationships']; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     // Make sure the supplied types are valid cvterms 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     if (isset($settings['relationship_types'])) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+       $rel_types = explode(PHP_EOL, $settings['relationship_types']); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+       foreach($rel_types AS $type) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+         // Ignore empty lines 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+         if (trim($type) == '') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+           continue; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+         $term = tripal_get_cvterm(array('name' => trim($type))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+         // Don't save the form  if a term can not be found or it matches more than one cvterm 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+         if (!isset($term->cvterm_id)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+           form_set_error( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+             "instance][settings][relationships][relationship_types", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+             t("The term '@type' can not be found or matches more than one term.", array('@type' => $type)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+           ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+       } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     // Make sure child relationship types are using a valid cvterm 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     if (isset($settings['option2_parent']) && $settings['option2_parent']) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+       $cv_id = $settings['option2_vocab']; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+       $supertype = $settings['option2_parent']; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+       $term = tripal_get_cvterm(array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+         'name' => trim($supertype), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+         'cv_id' => $cv_id
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+       )); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+       if (!isset($term->cvterm_id)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+         form_set_error( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+           "instance][settings][relationships][option2_parent", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+           t("The term '@type' is not a valid term for the vocabulary selected.", array('@type' => $supertype)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+         ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+       } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 |