|  | @@ -983,29 +983,51 @@ function chado_node_sync_records($base_table, $max_sync = FALSE,
 | 
	
		
			
				|  |  |   * @param $table
 | 
	
		
			
				|  |  |   *   The name of the table that corresonds to the node type we want to clean up.
 | 
	
		
			
				|  |  |   * @param $nentries
 | 
	
		
			
				|  |  | - *   The number of entries to parse at one time (ie: the batch size).
 | 
	
		
			
				|  |  | + *   Optional. The number of entries to parse at one time (ie: the batch size).
 | 
	
		
			
				|  |  | + *   Set to zero if no limit is needed.
 | 
	
		
			
				|  |  | + * @param $linking_table
 | 
	
		
			
				|  |  | + *   Optional. The name of the linking table that maps Drupal nodes to Chado
 | 
	
		
			
				|  |  | + *   records. This is only required if the linking table name is not of the
 | 
	
		
			
				|  |  | + *   form: chado_[table] where [table] is the value provided to the $table
 | 
	
		
			
				|  |  | + *   argument.
 | 
	
		
			
				|  |  | + * @param $node_type
 | 
	
		
			
				|  |  | + *   Optional. The name of the node type for the records.  This is only
 | 
	
		
			
				|  |  | + *   required if the node type is not of the form: chado_[table] where
 | 
	
		
			
				|  |  | + *   [table] is the value provided to the $table.
 | 
	
		
			
				|  |  |   * @param $job_id
 | 
	
		
			
				|  |  | - *   This should be the job id from the Tripal jobs system.  This function
 | 
	
		
			
				|  |  | - *   will update the job status using the provided job ID.
 | 
	
		
			
				|  |  | + *   Optional. This should be the job id from the Tripal jobs system. Typically,
 | 
	
		
			
				|  |  | + *   only the Tripal jobs system will use the argument.
 | 
	
		
			
				|  |  |   *
 | 
	
		
			
				|  |  |   * @ingroup tripal_chado_node_api
 | 
	
		
			
				|  |  |   */
 | 
	
		
			
				|  |  | -function chado_cleanup_orphaned_nodes($table, $nentries = 25000, $linking_table, $node_type, $job_id = NULL) {
 | 
	
		
			
				|  |  | +function chado_cleanup_orphaned_nodes($table, $nentries = 25000, $linking_table = NULL, $node_type = NULL, $job_id = NULL) {
 | 
	
		
			
				|  |  | +  // The max number of records either as nodes or linked records.
 | 
	
		
			
				|  |  |    $count = 0;
 | 
	
		
			
				|  |  | +  // Will hold the number of nodes of this type.
 | 
	
		
			
				|  |  | +  $ncount = 0;
 | 
	
		
			
				|  |  | +  // Will hold the number of linked records.
 | 
	
		
			
				|  |  | +  $clcount = 0;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -  // Find the total number of entries in the table.
 | 
	
		
			
				|  |  | -  $dsql = "SELECT COUNT(*) FROM {node} WHERE type = :node_type";
 | 
	
		
			
				|  |  | -  $clsql= "SELECT COUNT(*) FROM {$linking_table}";
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | +  if (!$node_type) {
 | 
	
		
			
				|  |  | +    $node_type = 'chado_' . $table;
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  | +  if (!$linking_table) {
 | 
	
		
			
				|  |  | +    $linking_table = 'chado_' . $table;
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  |    // Find the number nodes of type chado_$table and find the number of entries
 | 
	
		
			
				|  |  |    // in chado_$table; keep the larger of the two numbers.
 | 
	
		
			
				|  |  | +  $dsql = "SELECT COUNT(*) FROM {node} WHERE type = :node_type";
 | 
	
		
			
				|  |  |    $ndat = db_query($dsql, array(':node_type' => $node_type));
 | 
	
		
			
				|  |  |    $temp = $ndat->fetchObject();
 | 
	
		
			
				|  |  | -  $count = $temp->count;
 | 
	
		
			
				|  |  | +  $ncount = $temp->count;
 | 
	
		
			
				|  |  | +  $clsql= "SELECT COUNT(*) FROM {" . $linking_table . "}";
 | 
	
		
			
				|  |  |    $cdat = db_query($clsql);
 | 
	
		
			
				|  |  | -  $temp = $cdat->fetchObject();
 | 
	
		
			
				|  |  | -  if (count < $temp->count) {
 | 
	
		
			
				|  |  | -    $count = $temp->count;
 | 
	
		
			
				|  |  | +  $clcount = $cdat->fetchObject();
 | 
	
		
			
				|  |  | +  if ($ncount < $clcount) {
 | 
	
		
			
				|  |  | +    $count = $clcount;
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  | +  else {
 | 
	
		
			
				|  |  | +    $count = $ncount;
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |    $transaction = db_transaction();
 |