public static function getSynonyms($term)
{
// query db for synonyms
$synonyms = FrontendModel::getContainer()->get('database')->getVar('SELECT synonym
FROM search_synonyms
WHERE term = ?', array((string) $term));
if (!$synonyms) {
$synonyms = (array) FrontendModel::getContainer()->get('database')->getColumn('SELECT term FROM search_synonyms
WHERE synonym LIKE ? OR synonym LIKE ? OR synonym LIKE ? OR synonym = ?', array("{$term},%", "%,{$term}", "%,{$term},%", $term));
} else {
$synonyms = explode(',', $synonyms);
}
// found any? merge with original term
if ($synonyms) {
return array_unique(array_merge(array($term), $synonyms));
}
// only original term
return array($term);
}