diff --git a/stormperson/stormperson.module b/stormperson/stormperson.module index 2d53ace..25cca65 100644 --- a/stormperson/stormperson.module +++ b/stormperson/stormperson.module @@ -448,11 +448,22 @@ function stormperson_validate($node, &$form) { function stormperson_user_autocomplete($string = '') { $matches = array(); if ($string) { - $result = db_query_range("SELECT name FROM {users} WHERE name LIKE '%s%%' AND uid NOT IN (SELECT user_uid FROM {stormperson})", $string, 0, 10); - while ($user = db_fetch_object($result)) { - $matches[$user->name] = check_plain($user->name); + $query = db_select('users', 'u') + ->fields('u', array('name')) + ->condition('name', '%' . db_like($string) . '%', 'LIKE'); + + $subquery = db_select('stormperson', 'stp') + ->fields('stp', array('user_uid')) + ->addTag('node_access'); + + $query->condition('uid', $subquery, 'NOT IN'); + + $result = $query->execute(); + + foreach($result as $row) { + $matches[$row->name] = check_plain($row->name); + } } - } drupal_json($matches); }