Index: masquerade.module =================================================================== --- masquerade.module (revision 111) +++ masquerade.module (working copy) @@ -639,7 +639,12 @@ function masquerade_block_1_validate($form, &$form_state) { global $user; //unset($form); - $name = $form_state['values']['masquerade_user_field']; + if (module_exists('realname')) { + $name = preg_replace('^.* \((.*)\)^', '$1', $form_state['values']['masquerade_user_field']); + } + else { + $name = $form_state['values']['masquerade_user_field']; + } if (isset($_SESSION['masquerading'])) { form_set_error('masquerade_user_field', t('You are already masquerading. Please switch back to your account to masquerade as another user.', array('@unswitch' => url('masquerade/unswitch', array('query' => array('token' => drupal_get_token('masquerade/unswitch'))))))); } @@ -691,11 +696,29 @@ $matches[$anonymous] = $anonymous; } // Other suggestions. - $result = db_query_range("SELECT name FROM {users} WHERE LOWER(name) LIKE LOWER(:string)", 0, 10, array( - ':string' => $string . '%', - )); + if (module_exists('realname')) { + $result = db_query_range(" + SELECT u.name, rn.realname + FROM {users} u + LEFT JOIN {realname} rn ON rn.uid = u.uid + WHERE LOWER(realname) LIKE LOWER(:string)", 0, 10, array( + ':string' => '%' . $string . '%', + )); + } + else { + $result = db_query_range("SELECT name FROM {users} WHERE LOWER(name) LIKE LOWER(:string)", 0, 10, array( + ':string' => '%' . $string . '%', + )); + } + foreach ($result as $user) { - $matches[$user->name] = check_plain($user->name); + if (module_exists('realname')) { + $name = $user->realname . ' (' . $user->name . ')'; + $matches[$name] = $name; + } + else { + $matches[$user->name] = check_plain($user->name); + } } if (module_exists('devel')) { $GLOBALS['devel_shutdown'] = FALSE;