You are here

function flag_entity_query_alter in Flag 7.3

Implements hook_entity_query_alter().

Replaces bundle condition in EntityFieldQuery on flagging entities with query condition on [name] field in [flag] table.

See also

flag_query_flagging_flag_names_alter()

File

./flag.module, line 180
The Flag module.

Code

function flag_entity_query_alter(EntityFieldQuery $query) {
  $conditions =& $query->entityConditions;

  // Alter only flagging queries with bundle conditions.
  if (isset($conditions['entity_type']) && $conditions['entity_type']['value'] == 'flagging' && isset($conditions['bundle'])) {

    // Add tag to alter query.
    $query
      ->addTag('flagging_flag_names');

    // Make value and operator of the bundle condition accessible
    // in hook_query_TAG_alter.
    $query
      ->addMetaData('flag_name_value', $conditions['bundle']['value']);
    $query
      ->addMetaData('flag_name_operator', $conditions['bundle']['operator']);
    unset($conditions['bundle']);
  }
}