You are here

function apachesolr_user_apachesolr_query_alter in Apachesolr User 7

Implements hook_apachesolr_query_alter().

File

./apachesolr_user.module, line 194
Indexer for the user entities for the Apachesolr module.

Code

function apachesolr_user_apachesolr_query_alter(DrupalSolrQueryInterface $query) {
  if ($query
    ->getName() == 'apachesolr') {
  }
  elseif ($query
    ->getName() == 'apachesolr_mlt') {

    // Exclude files from MLT results.
    $query
      ->addFilter('entity_type', 'user', TRUE);
  }
  if (module_exists('apachesolr_access') && user_access('access user profiles')) {
    $qs = $query
      ->getFilterSubQueries();
    $q = array_shift($qs);
    $q
      ->addFilter('access__user', TRUE);
    $subquery = apachesolr_drupal_subquery();
    $subquery
      ->addFilter('access__user', TRUE);
    $query
      ->addFilterSubQuery($q, 'OR');
  }
}