You are here

public function DateFieldHandler::match in CRM Core 8.2

Same name and namespace in other branches
  1. 8.3 modules/crm_core_match/src/Plugin/crm_core_match/field/DateFieldHandler.php \Drupal\crm_core_match\Plugin\crm_core_match\field\DateFieldHandler::match()
  2. 8 modules/crm_core_match/src/Plugin/crm_core_match/field/DateFieldHandler.php \Drupal\crm_core_match\Plugin\crm_core_match\field\DateFieldHandler::match()

@todo Update to new query API.

Overrides FieldHandlerBase::match

File

modules/crm_core_match/src/Plugin/crm_core_match/field/DateFieldHandler.php, line 30

Class

DateFieldHandler
Class for evaluating date fields.

Namespace

Drupal\crm_core_match\Plugin\crm_core_match\field

Code

public function match(ContactInterface $contact, $property = 'value') {
  $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;
}