You are here

function social_profile_form_views_exposed_form_alter in Open Social 8.9

Same name and namespace in other branches
  1. 8 modules/social_features/social_profile/social_profile.module \social_profile_form_views_exposed_form_alter()
  2. 8.2 modules/social_features/social_profile/social_profile.module \social_profile_form_views_exposed_form_alter()
  3. 8.3 modules/social_features/social_profile/social_profile.module \social_profile_form_views_exposed_form_alter()
  4. 8.4 modules/social_features/social_profile/social_profile.module \social_profile_form_views_exposed_form_alter()
  5. 8.5 modules/social_features/social_profile/social_profile.module \social_profile_form_views_exposed_form_alter()
  6. 8.6 modules/social_features/social_profile/social_profile.module \social_profile_form_views_exposed_form_alter()
  7. 8.7 modules/social_features/social_profile/social_profile.module \social_profile_form_views_exposed_form_alter()
  8. 8.8 modules/social_features/social_profile/social_profile.module \social_profile_form_views_exposed_form_alter()
  9. 10.0.x modules/social_features/social_profile/social_profile.module \social_profile_form_views_exposed_form_alter()
  10. 10.1.x modules/social_features/social_profile/social_profile.module \social_profile_form_views_exposed_form_alter()

Implements hook_form_FORM_ID_alter().

File

modules/social_features/social_profile/social_profile.module, line 244
The Social profile module.

Code

function social_profile_form_views_exposed_form_alter(&$form, FormStateInterface $form_state, $form_id) {
  if ($form['#id'] === 'views-exposed-form-search-users-page') {
    if (!empty($form['profile_tag']['#options'])) {
      $form['profile_tag']['#type'] = 'checkboxes';

      // If the view is configured to preserve hierarchy we need to do a bit
      // more to make checkboxes work.
      if (is_object($form['profile_tag']['#options'][0])) {
        $options = [];

        // The #options array is an array of stdClass objects with an array in
        // the option key that has the tid as key and label as value.
        foreach ($form['profile_tag']['#options'] as $option) {
          $options[key($option->option)] = reset($option->option);
        }

        // Set the options array to the format expected for checkboxes.
        $form['profile_tag']['#options'] = $options;
      }
    }
    else {
      unset($form['profile_tag']);
    }
  }
}