| 
					
				 | 
			
			
				@@ -3,7 +3,7 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 class TripalEntityCollection { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-   * The name of the bundle (i.e. content type) to which the entities belong. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   * The name of the bundles (i.e. content type) to which the entities belong. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   protected $bundles = array(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -68,7 +68,7 @@ class TripalEntityCollection { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       foreach ($this->downloaders as $class_name => $label) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         tripal_load_include_downloader_class($class_name); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         $outfile = $this->getOutfile($class_name); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        $downloader = new $class_name($this->bundle_name, $this->ids, $this->fields, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        $downloader = new $class_name($this->bundles, $this->ids, $this->fields, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             $outfile, $this->getUserID()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         $downloader->delete(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -117,6 +117,24 @@ class TripalEntityCollection { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     $this->description = $collection->description; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     $this->collection_id = $collection->collection_id; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /* Add the IDs, Fields, Bundles for this collection from the 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * collection_bundle table. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    $this->bundles = getBundles(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // If more than one bundle plop into associative array. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if (count($this->bundles) > 1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      foreach ($this->bundles as $bundle) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        $ids[$bundle] = unserialize(getEntityIDs($this->bundle)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        $fields[$bundle] = unserialize(getFields($this->bundle)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      $this->ids = $ids; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      $this->fields = $fields; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      $this->ids = unserialize(getEntityIDs($this->bundles)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      $this->fields = unserialize(getFields($this->bundles)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     // Iterate through the fields and find out what download formats are 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     // supported for this basket. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     foreach ($this->fields as $field_id) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -127,7 +145,7 @@ class TripalEntityCollection { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       $field_name = $field['field_name']; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       $field_type = $field['type']; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       $field_module = $field['module']; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      $instance = field_info_instance('TripalEntity', $field_name, $this->bundle_name); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      $instance = field_info_instance('TripalEntity', $field_name, $this->bundles); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       $downloaders = array(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       // All fields should support the Tab and CSV downloaders. 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -249,7 +267,15 @@ class TripalEntityCollection { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    *   An array of bundles. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   public function getBundles() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    return $this->bundles; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    $collection_id = $this->collection_id; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // Return the bundles from the collection_bundle table. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    $result = db_select('tripal_collection_bundle') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ->fields('tripal_collection_bundle', array('ids')) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ->condition('collection_id', $collection_id, '=') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ->execute() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ->fetchAll(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return $result; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /** 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -454,7 +480,7 @@ class TripalEntityCollection { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     $outfile = $this->getOutfile($formatter); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    $downloader = new $formatter($this->bundle_name, $this->ids, $this->fields, $outfile, $this->user->uid); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    $downloader = new $formatter($this->bundles, $this->ids, $this->fields, $outfile, $this->user->uid); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     return $downloader->getURL(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -508,8 +534,8 @@ class TripalEntityCollection { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    $downloader = new $formatter($this->bundle_name, $this->ids, $supported_fields, $outfile, $this->user->uid); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    $downloader = new $formatter($this->bundles, $this->ids, $supported_fields, $outfile, $this->user->uid); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     $downloader->write(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 |