I'd like to see the module assign terms with synonyms and the terms themselves. To do this, I altered the SQL:

**From**

function get_array_for_matching($vid){
  $db_result = db_query("
   SELECT t.tid, s.name 
	FROM {term_data} AS t LEFT JOIN term_synonym AS s 
	ON t.tid = s.tid
	WHERE vid = %d AND s.name IS NOT NULL
	ORDER BY s.tid", $vid);
  while ($term = db_fetch_object($db_result)){
	$synonyms[$term->tid][]=$term->name;
  }
  return $synonyms;
}

**To**

function get_array_for_matching($vid){
  $db_result = db_query("
   SELECT t.tid, t.name 
	FROM {term_data} as t
	WHERE vid = %d
	UNION
   SELECT t.tid, s.name 
	FROM {term_data} AS t LEFT JOIN term_synonym AS s 
	ON t.tid = s.tid
	WHERE vid = %d AND s.name IS NOT NULL	
	", $vid, $vid);
  while ($term = db_fetch_object($db_result)){
	$synonyms[$term->tid][]=$term->name;
  }
  return $synonyms;
}

Comments

matslats’s picture

This is now the default and only behaviour.
I didn't use this sql though, I did something less elegant, but with less code.

matslats’s picture

Status: Needs review » Closed (fixed)