1 views_handler_filter_user_name.inc views_handler_filter_user_name::validate_user_strings(&$form, $values)

Validate the user string. Since this can come from either the form or the exposed filter, this is abstracted out a bit so it can handle the multiple input sources.

File

core/modules/user/views/views_handler_filter_user_name.inc, line 104
Definition of views_handler_filter_user_name.

Class

views_handler_filter_user_name
Filter handler for usernames.

Code

function validate_user_strings(&$form, $values) {
  $uids = array();
  $placeholders = array();
  $args = array();
  $results = array();
  foreach ($values as $value) {
    if (strtolower($value) == 'anonymous') {
      $uids[] = 0;
    }
    else {
      $missing[strtolower($value)] = TRUE;
      $args[] = $value;
      $placeholders[] = "'%s'";
    }
  }

  if (!$args) {
    return $uids;
  }

  $result = db_query("SELECT * FROM {users} WHERE name IN (:names)", array(':names' => $args));
  foreach ($result as $account) {
    unset($missing[strtolower($account->name)]);
    $uids[] = $account->uid;
  }

  if ($missing) {
    form_error($form, format_plural(count($missing), 'Unable to find user: @users', 'Unable to find users: @users', array('@users' => implode(', ', array_keys($missing)))));
  }

  return $uids;
}