| 
					
				 | 
			
			
				@@ -5,6 +5,23 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 require_once "api/tripal.notice.api.inc"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+require_once "api/tripal.entities.api.inc"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+require_once "api/tripal.files.api.inc"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+require_once "api/tripal.jobs.api.inc"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+require_once "api/tripal.notice.api.inc"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+require_once "api/tripal.variables.api.inc"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+require_once "includes/TripalVocab.inc"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+require_once "includes/TripalVocabController.inc"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+require_once "includes/TripalTerm.inc"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+require_once "includes/TripalTermController.inc"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+require_once "includes/TripalEntity.inc"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+require_once "includes/TripalEntityController.inc"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+require_once "includes/TripalEntityUIController.inc"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+require_once "includes/TripalBundle.inc"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+require_once "includes/TripalBundleController.inc"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+require_once "includes/TripalBundleUIController.inc"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  * @defgroup tripal Tripal Core Module 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -15,6 +32,14 @@ require_once "api/tripal.notice.api.inc"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  * @} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * Implements hook_views_api(). 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+function tripal_views_api() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  return array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    'api' => 3, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  * Implements hook_init(). 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -154,6 +179,13 @@ function tripal_menu() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     'type' => MENU_CALLBACK, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $items['admin/structure/bio-data/term/%'] = array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    'page callback' => 'tripal_autocomplete_term', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    'page arguments' => array(6, 7), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    'access arguments' => array('administer content'), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    'type' => MENU_CALLBACK, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   return $items; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -174,9 +206,25 @@ function tripal_permission() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           be disabled once developers are accustomed to these hints.'), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       'restrict access' => TRUE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    'administer tripal data types' => array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'title' => t('Administer Tripal data types'), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'description' => t('Create and delete fields for Tripal data types, and set their permissions.'), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    'administer tripal data' => array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'title' => t('Administer Tripal data'), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'description' => t('Edit and delete all tripal data'), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * Checks access permissions for a given entity. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+function tripal_entity_access($entity) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // TODO: need to implement this function. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  return TRUE; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  * Implements hook_theme(). 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  * Registers template files/functions used by this module. 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -214,7 +262,15 @@ function tripal_theme($existing, $type, $theme, $path) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     // Theme function for the extension admin page. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     'tripal_extensions_form_tables' => array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       'render element' => 'element', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    'tripal_entity' => array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'render element' => 'elements', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'template' => 'tripal_entity', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'path' => "$path/theme/templates" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    'tripal_add_list' => array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'variables' => array('content' => NULL), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -230,19 +286,6 @@ function tripal_coder_ignore() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- * Implements hook_views_api() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- * Purpose: Essentially this hook tells drupal that there is views support for 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- *  for this module which then includes tripal_db.views.inc where all the 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- *  views integration code is 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- * @ingroup tripal_organism 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-function tripal_views_api() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  return array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    'api' => 3.0, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  * Implements hook_libraries_info(). 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -265,4 +308,385 @@ function tripal_libraries_info() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   return $libraries; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * Implements hook_admin_paths(). 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * Define administrative paths. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+function tripal_admin_paths() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  if (variable_get('node_admin_theme')) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    $paths = array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'bio-data/*/edit' => TRUE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'bio-data/*/delete' => TRUE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'bio-data/add' => TRUE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'bio-data/add/*' => TRUE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return $paths; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * Implements hook_menu_local_tasks_alter(). 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * Used to add action links to pages. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+function tripal_menu_local_tasks_alter(&$data, $router_item, $root_path) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // Add an "Add Tripal Content" action link to the Admin >> Content >> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // Biological Content page. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  if ($root_path == 'admin/content/bio-data') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    $item = menu_get_item('bio-data/add'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if ($item['access']) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      $data['actions']['output'][] = array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        '#theme' => 'menu_local_action', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        '#link' => $item, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * Implements hook_shortcut_default_set(). 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * Modify the shortcut menu to include Biological content links. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * @param object $account 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ *   The user account whose default shortcut set will be returned. If not provided, the 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ *   function will return the currently logged-in user's default shortcut set. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ *   An object representing the default shortcut set. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+function tripal_shortcut_default_set($account) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $sets = shortcut_sets(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $found = FALSE; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  foreach ($sets as $set) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if ($set->title == 'TripalDefault') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      $found = TRUE; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  if (!$found) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    $t = get_t(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // Create an initial default shortcut set. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    $shortcut_set = new stdClass(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    $shortcut_set->title = $t('TripalDefault'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    $shortcut_set->links = array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'link_path' => 'node/add', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'link_title' => $t('Add content'), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'weight' => -35, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'link_path' => 'bio-data/add', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'link_title' => 'Add Tripal Content', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'weight' => -30, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'link_path' => 'admin/content', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'link_title' => $t('Find content'), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'weight' => -25, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'link_path' => 'admin/content/bio-data', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'link_title' => 'Find Tripal Content', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'weight' => -20, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    shortcut_set_save($shortcut_set); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $sets = shortcut_sets(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  foreach ($sets as $set) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if ($set->title == 'TripalDefault') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return $set->set_name; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// http://www.bluespark.com/blog/drupal-entities-part-3-programming-hello-drupal-entity 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// http://dikini.net/31.08.2010/entities_bundles_fields_and_field_instances 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * Implement hook_entity_info(). 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+function tripal_entity_info() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $entities = array(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  //return $entities; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // The TripalVocab entity is meant to house vocabularies.  It is these 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // vocabs that are used by the TripalTerm entities.  The storage backend 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // is responsible for setting the values of this entity. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $entities['TripalVocab'] = array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // A human readable label to identify our entity. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    'label' => 'Controlled Vocabulary', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    'plural label' => 'Controlled Vocabularies', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // The entity class and controller class extend the classes provided by the 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // Entity API. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    'entity class' => 'TripalVocab', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    'controller class' => 'TripalVocabController', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // The table for this entity defined in hook_schema() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    'base table' => 'tripal_vocab', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // If fieldable == FALSE, we can't attach fields. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    'fieldable' => TRUE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // entity_keys tells the controller what database fields are used for key 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // functions. It is not required if we don't have bundles or revisions. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // Here we do not support a revision, so that entity key is omitted. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    'entity keys' => array ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'id' => 'id', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // Callback function for access to this entity. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    'access callback' => 'tripal_entity_access', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // FALSE disables caching. Caching functionality is handled by Drupal core. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    'static cache' => FALSE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // This entity doesn't support bundles. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    'bundles' => array (), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    'view modes' => array ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'full' => array ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'label' => t ('Full content'), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'custom settings' => FALSE 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'teaser' => array ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'label' => t ('Teaser'), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'custom settings' => TRUE 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // The TripalTerm entity is meant to house vocabulary terms.  It is these 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // terms that are used by the TripalEntity entities.  The storage backend 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // is responsible for setting the values of this entity. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $entities['TripalTerm'] = array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // A human readable label to identify our entity. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    'label' => 'Controlled Vocabulary Term', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    'plural label' => 'Controlled Vocabulary Terms', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // The entity class and controller class extend the classes provided by the 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // Entity API. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    'entity class' => 'TripalTerm', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    'controller class' => 'TripalTermController', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // The table for this entity defined in hook_schema() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    'base table' => 'tripal_term', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // If fieldable == FALSE, we can't attach fields. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    'fieldable' => TRUE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // entity_keys tells the controller what database fields are used for key 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // functions. It is not required if we don't have bundles or revisions. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // Here we do not support a revision, so that entity key is omitted. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    'entity keys' => array ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'id' => 'id', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // Callback function for access to this entity. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    'access callback' => 'tripal_entity_access', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // FALSE disables caching. Caching functionality is handled by Drupal core. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    'static cache' => FALSE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // This entity doesn't support bundles. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    'bundles' => array (), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    'view modes' => array ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'full' => array ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'label' => t ('Full content'), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'custom settings' => FALSE 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'teaser' => array ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'label' => t ('Teaser'), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'custom settings' => TRUE 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // The TripalEntity is used for all data. It links data from a storage 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // back-end to a TripalTerm entity. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $entities['TripalEntity'] = array ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // A human readable label to identify our entity. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    'label' => 'Tripal Content', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    'plural label' => 'Tripal Content', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // The entity class and controller class extend the classes provided by the 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // Entity API. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    'entity class' => 'TripalEntity', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    'controller class' => 'TripalEntityController', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // The table for this entity defined in hook_schema() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    'base table' => 'tripal_entity', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // Returns the uri elements of an entity. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    'uri callback' => 'tripal_vocbulary_term_uri', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // IF fieldable == FALSE, we can't attach fields. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    'fieldable' => TRUE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // entity_keys tells the controller what database fields are used for key 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // functions. It is not required if we don't have bundles or revisions. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // Here we do not support a revision, so that entity key is omitted. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    'entity keys' => array ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'id' => 'id', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'bundle' => 'bundle' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    'bundle keys' => array ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'bundle' => 'name' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // Callback function for access to this entity. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    'access callback' => 'tripal_entity_access', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // FALSE disables caching. Caching functionality is handled by Drupal core. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    'static cache' => FALSE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // Bundles are added dynamically below. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    'bundles' => array (), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    'label callback' => 'tripal_entity_label', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // The information below is used by the TripalEntityUIController 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // (which extends the EntityDefaultUIController). The admin_ui 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // key here is mean to appear on the 'Find Content' page of the 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // administrative menu. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    'admin ui' => array ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'path' => 'admin/content/bio-data', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'controller class' => 'TripalEntityUIController', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'menu wildcard' => '%TripalEntity', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'file' => 'includes/TripalEntityUIController.inc' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    'view modes' => array ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'full' => array ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'label' => t ('Full content'), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'custom settings' => FALSE 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'teaser' => array ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'label' => t ('Teaser'), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'custom settings' => TRUE 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // The TripalBundle entity is used manage the bundle types.  The 'bundle of' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // attribute links this to the TripalEntity and allows the UI provided 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // by the entity module to work for each TripalEntity bundle. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $entities['TripalBundle'] = array ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    'label' => 'Tripal Content Type', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    'entity class' => 'TripalBundle', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    'controller class' => 'TripalBundleController', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    'base table' => 'tripal_bundle', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    'fieldable' => FALSE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    'bundle of' => 'TripalEntity', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    'exportable' => FALSE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    'entity keys' => array ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'id' => 'id', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'name' => 'name', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'label' => 'label' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    'access callback' => 'tripal_bundle_access', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    'module' => 'tripal', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // Enable the entity API's admin UI. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    'admin ui' => array ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'path' => 'admin/structure/bio-data', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'controller class' => 'TripalBundleUIController', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'file' => 'includes/TripalBundleUIController.inc', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'menu wildcard' => '%TripalBundle', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  return $entities; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * Implements hook_entities_info_alter(). 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * Add in the bundles (entity types) to the TripalEntity entity. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+function tripal_entity_info_alter(&$entity_info){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  if (array_key_exists('TripalEntity', $entity_info)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // Dynamically add in the bundles. Bundles are alternative groups of fields 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // or configuration associated with an entity type .We want to dynamically 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // add the bundles to the entity. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    $bundles = db_select('tripal_bundle', 'tb') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ->fields('tb') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ->execute(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    while ($bundle = $bundles->fetchObject()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      $bundle_name = $bundle->name; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      $term_id = $bundle->term_id; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      $term = entity_load('TripalTerm', array('id' => $term_id)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      $term = reset($term); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      $label = preg_replace('/_/', ' ', ucwords($term->name)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      $entity_info['TripalEntity']['bundles'][$bundle_name] = array ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'label' => $label, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'admin' => array ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          'path' => 'admin/structure/bio-data/manage/%TripalBundle', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          'real path' => 'admin/structure/bio-data/manage/' . $bundle_name, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          'bundle argument' => 4, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          'access arguments' => array ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            'administer tripal data types' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * Menu argument loader; Load a tripal data type by string. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * This function is not meant to be used as an API function. It is only meant 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * for use in the menu to resolve the %tripal_bundle wildcard. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * @param $type 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ *   The machine-readable name of a tripal data type to load. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ *   A tripal data type array or FALSE if $type does not exist. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+function TripalBundleload($bundle_type, $reset = FALSE) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // Get the type of entity by the ID. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $bundle = db_select('tripal_bundle', 'tdt') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  ->fields('tdt') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  ->condition('name', $bundle_type) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  ->execute() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  ->fetchObject(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  if ($bundle) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    $entity = entity_load('TripalBundle', array($bundle->id), array(), $reset); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return reset($entity); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  return FALSE; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * Allows the menu system to use a wildcard to fetch the entity. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * Make sure that the wildcard you choose in the tripal_entity entity 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * definition fits the function name here. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * This function is not meant to be used as an API function. It is only mean 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * for use in the menu to resolve the %tripal_entity wildcard. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * @param $id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ *   Integer specifying the tripal_entity id. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * @param $reset 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ *   A boolean indicating that the internal cache should be reset. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ *   A fully-loaded $tripal_entity object or FALSE if it cannot be loaded. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * @see tripal_entity_load_multiple() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+function TripalEntity_load($id, $reset = FALSE) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $entity = entity_load('TripalEntity', array($id), array(), $reset); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  return reset($entity); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 |