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;
}