You are here

public function DateMatchField::fieldQuery in CRM Core 7

Field query to search matches.

Parameters

object $contact: CRM Core contact entity.

object $rule: Matching rule object.

Return value

array Founded matches.

Overrides DefaultMatchingEngineFieldType::fieldQuery

File

modules/crm_core_default_matching_engine/includes/DateMatchField.inc, line 46
Implementation of DefaultMatchingEngineFieldTypeInterface for date fields.

Class

DateMatchField
Class for evaluating date fields.

Code

public function fieldQuery($contact, $rule) {
  $results = array();
  $field_item = 'value';
  $field = field_get_items('crm_core_contact', $contact, $rule->field_name);
  $needle = isset($field[0]['value']) ? $field[0]['value'] : '';
  if (!empty($needle)) {
    $query = new EntityFieldQuery();
    $query
      ->entityCondition('entity_type', 'crm_core_contact')
      ->entityCondition('bundle', $contact->type)
      ->entityCondition('entity_id', $contact->contact_id, '<>')
      ->fieldCondition($rule->field_name, $field_item, $needle, $rule->operator);
    $results = $query
      ->execute();
  }
  return isset($results['crm_core_contact']) ? array_keys($results['crm_core_contact']) : $results;
}