You are here

function crm_core_user_sync_user_autocomplete in CRM Core 8.2

Same name and namespace in other branches
  1. 7 modules/crm_core_user_sync/crm_core_user_sync.admin.inc \crm_core_user_sync_user_autocomplete()

User autocomplete for user->contact relation form.

1 string reference to 'crm_core_user_sync_user_autocomplete'
crm_core_user_sync_menu in modules/crm_core_user_sync/crm_core_user_sync.module
Implements hook_menu()

File

modules/crm_core_user_sync/crm_core_user_sync.admin.inc, line 463

Code

function crm_core_user_sync_user_autocomplete($search_string) {
  $matches = array();
  $query = db_select('users', 'user');
  $on_cond = "endpoints.endpoints_entity_type = 'user' AND user.uid = endpoints.endpoints_entity_id";
  $query
    ->leftJoin('field_data_endpoints', 'endpoints', $on_cond);
  $query
    ->addField('user', 'uid');
  $query
    ->isNull('endpoints_entity_id');
  $query
    ->condition('name', $search_string . '%', 'LIKE');
  watchdog('debug', $query
    ->__toString());
  $uids = $query
    ->range(0, 20)
    ->execute()
    ->fetchCol();
  if (!empty($uids)) {
    $users = entity_load('user', $uids);
    foreach ($users as $user) {
      $matches[$user->name . " [uid:{$user->uid}]"] = $user->name;
    }
  }
  drupal_json_output($matches);
}