You are here

public function views_handler_filter_user_name::value_form in Views (for Drupal 7) 7.3

Same name and namespace in other branches
  1. 6.3 modules/user/views_handler_filter_user_name.inc \views_handler_filter_user_name::value_form()
  2. 6.2 modules/user/views_handler_filter_user_name.inc \views_handler_filter_user_name::value_form()

Options form subform for setting options.

This should be overridden by all child classes and it must define $form['value'].

Overrides views_handler_filter_in_operator::value_form

See also

options_form()

File

modules/user/views_handler_filter_user_name.inc, line 23
Definition of views_handler_filter_user_name.

Class

views_handler_filter_user_name
Filter handler for usernames.

Code

public function value_form(&$form, &$form_state) {
  $values = array();
  if ($this->value) {
    $result = db_query("SELECT * FROM {users} u WHERE uid IN (:uids)", array(
      ':uids' => $this->value,
    ));
    foreach ($result as $account) {
      if ($account->uid) {
        $values[] = $account->name;
      }
      else {

        // Intentionally NOT translated.
        $values[] = 'Anonymous';
      }
    }
  }
  sort($values);
  $default_value = implode(', ', $values);
  $form['value'] = array(
    '#type' => 'textfield',
    '#title' => t('Usernames'),
    '#description' => t('Enter a comma separated list of user names.'),
    '#default_value' => $default_value,
    '#autocomplete_path' => 'admin/views/ajax/autocomplete/user',
  );
  if (!empty($form_state['exposed']) && !isset($form_state['input'][$this->options['expose']['identifier']])) {
    $form_state['input'][$this->options['expose']['identifier']] = $default_value;
  }
}