class DateFieldHandler in CRM Core 8.2
Same name and namespace in other branches
- 8.3 modules/crm_core_match/src/Plugin/crm_core_match/field/DateFieldHandler.php \Drupal\crm_core_match\Plugin\crm_core_match\field\DateFieldHandler
- 8 modules/crm_core_match/src/Plugin/crm_core_match/field/DateFieldHandler.php \Drupal\crm_core_match\Plugin\crm_core_match\field\DateFieldHandler
Class for evaluating date fields.
Hierarchy
- class \Drupal\crm_core_match\Plugin\crm_core_match\field\FieldHandlerBase implements ContainerFactoryPluginInterface, FieldHandlerInterface
- class \Drupal\crm_core_match\Plugin\crm_core_match\field\DateFieldHandler
Expanded class hierarchy of DateFieldHandler
File
- modules/
crm_core_match/ src/ Plugin/ crm_core_match/ field/ DateFieldHandler.php, line 10
Namespace
Drupal\crm_core_match\Plugin\crm_core_match\fieldView source
class DateFieldHandler extends FieldHandlerBase {
/**
* {@inheritdoc}
*/
public function getOperators($property = 'value') {
$operators = array(
'=' => t('Equals'),
'>=' => t('Greater than'),
'<=' => t('Less than'),
);
return $operators;
}
/**
* {@inheritdoc}
*
* @todo Update to new query API.
*/
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;
}
}