| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 | <?php/** * @file * Default Synonyms Extractor class that ships together with the Synonym module. */class SynonymsSynonymsExtractor extends AbstractSynonymsExtractor {  public static function fieldTypesSupported() {    return array('text', 'number_integer', 'number_float', 'number_decimal');  }  public static function synonymsExtract($items, $field, $instance, $entity, $entity_type) {    $synonyms = array();    foreach ($items as $item) {      $synonyms[] = $item['value'];    }    return $synonyms;  }  public static function processEntityFieldQuery($tag, EntityFieldQuery $query, $field, $instance) {    $query->fieldCondition($field, 'value', '%' . $tag . '%', 'LIKE');  }  public static function mergeEntityAsSynonym($items, $field, $instance, $synonym_entity, $synonym_entity_type) {    $synonym = entity_label($synonym_entity_type, $synonym_entity);    switch ($field['type']) {      case 'text':        break;      // We add synonyms for numbers only if $synonym is a number.      case 'number_integer':      case 'number_float':      case 'number_decimal':        if (!is_numeric($synonym)) {          return array();        }        break;    }    return array(array(      'value' => $synonym,    ));  }}
 |