function cer_entity_settings_query_cer_presets_alter in Corresponding Entity References 7.3
Implements hook_query_TAG_alter().
File
- extensions/
cer_entity_settings/ cer_entity_settings.module, line 13
Code
function cer_entity_settings_query_cer_presets_alter(QueryAlterableInterface $query) {
$entity = $query
->getMetaData('entity');
$instance = field_info_instance($entity
->type(), 'cer_settings', $entity
->getBundle());
if ($instance) {
$IDs = array();
foreach ($entity->cer_settings as $preset) {
$IDs[] = $preset
->getIdentifier();
}
// If no presets were selected, guarantee an empty result set by selecting
// the non-existent preset ID 0.
if (empty($IDs)) {
$IDs[] = 0;
}
$query
->getMetaData('entity_field_query')
->entityCondition('entity_id', $IDs, 'IN');
if (!$entity->cer_store_settings
->value()) {
$queue =& drupal_static('cer_entity_settings_exit', array());
$queue[$entity
->type()][$entity
->getIdentifier()] = $entity;
}
}
}