| 
					
				 | 
			
			
				@@ -102,4 +102,86 @@ function tripal_load_include_web_service_class($class) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   return FALSE; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * Adds a new site to the web services table. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * @param $name 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ *   Name of site to be included. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * @param $url 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ *   URL of site to be added. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * @param $version 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ *   Version of the API being used. default to 1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * @param $description 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ *    A description of the site and any additional info that  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ *    would be helpful for admins. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ *  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ *   TRUE if the site is successfully added, FALSE otherwise. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+function tripal_add_site($name, $url, $version, $description) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $check_url = NULL; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $check_name = NULL; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $write_to_db = TRUE; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // When inserting a record. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $check_url = 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    db_select('tripal_sites', 'ts') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ->fields('ts', array('id')) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ->condition('url', $url) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ->condition('version', $version) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ->execute() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ->fetchField(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $check_name = 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    db_select('tripal_sites', 'ts') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ->fields('ts', array('id')) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ->condition('name', $name) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ->execute() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ->fetchField(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  if ($check_url) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    drupal_set_message(t('The URL and version is used by another site.'), 'error'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    $write_to_db = FALSE; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  if ($check_name) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    drupal_set_message(t('The name is used by another site.'), 'error'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    $write_to_db = FALSE; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  if ($write_to_db === TRUE) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    db_insert('tripal_sites') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ->fields(array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'name' => $name, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'url' => $url, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'version' => $version, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'description' => $description 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      )) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ->execute(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    drupal_set_message(t('Tripal site \'' . $name . '\' has been added.')); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return $write_to_db; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  return $write_to_db; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * Remove a site from the web services table. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * @param $record_id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ *   ID of the record to be deleted. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ *   TRUE if the record was successfully deleted, FALSE otherwise. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+function tripal_remove_site($record_id) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  if ($record_id) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    db_delete('tripal_sites') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ->condition('id', $record_id) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ->execute(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    drupal_set_message('The Tripal site \'' . $record_id . '\' has been removed.'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return TRUE; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  return FALSE; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 |