Index: user_reference/user_reference.module =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/references/user_reference/user_reference.module,v retrieving revision 1.1 diff -u -p -r1.1 user_reference.module --- user_reference/user_reference.module 6 Dec 2010 21:28:17 -0000 1.1 +++ user_reference/user_reference.module 25 Jan 2011 20:24:34 -0000 @@ -79,9 +79,10 @@ function user_reference_field_settings_f '#title' => t('User status that can be referenced'), '#default_value' => is_array($settings['referenceable_status']) ? array_filter($settings['referenceable_status']) - : array(1), - '#options' => array(1 => t('Active'), 0 => t('Blocked')), + : array('active'), + '#options' => array('active' => t('Active'), 'blocked' => t('Blocked')), '#disabled' => $has_data, + '#description' => t('If any checkbox is checked, only users with that status will be referenceable. If none or both are checked, all users will be referenceable.') ); return $form; } @@ -447,7 +448,15 @@ function _user_reference_potential_refer $query->addMetaData('id', ' _user_reference_potential_references_standard'); if (is_array($field['settings']['referenceable_status'])) { - $query->condition('u.status', $field['settings']['referenceable_status']); + $allowed = array(); + foreach (array('active' => 1, 'blocked' => 0) as $name => $value) { + if ($field['settings']['referenceable_status'][$name] === $name) { + $allowed[$name] = $value; + } + } + if (!empty($allowed)) { + $query->condition('u.status', $allowed, 'IN'); + } } if (is_array($field['settings']['referenceable_roles']) && (!in_array(DRUPAL_AUTHENTICATED_RID, $field['settings']['referenceable_roles']))) {