You are here

function social_profile_privacy_get_field_groups_for_form_state in Open Social 8.9

Same name and namespace in other branches
  1. 8 modules/social_features/social_profile/modules/social_profile_privacy/social_profile_privacy.module \social_profile_privacy_get_field_groups_for_form_state()
  2. 8.2 modules/social_features/social_profile/modules/social_profile_privacy/social_profile_privacy.module \social_profile_privacy_get_field_groups_for_form_state()
  3. 8.3 modules/social_features/social_profile/modules/social_profile_privacy/social_profile_privacy.module \social_profile_privacy_get_field_groups_for_form_state()
  4. 8.4 modules/social_features/social_profile/modules/social_profile_privacy/social_profile_privacy.module \social_profile_privacy_get_field_groups_for_form_state()
  5. 8.5 modules/social_features/social_profile/modules/social_profile_privacy/social_profile_privacy.module \social_profile_privacy_get_field_groups_for_form_state()
  6. 8.6 modules/social_features/social_profile/modules/social_profile_privacy/social_profile_privacy.module \social_profile_privacy_get_field_groups_for_form_state()
  7. 8.7 modules/social_features/social_profile/modules/social_profile_privacy/social_profile_privacy.module \social_profile_privacy_get_field_groups_for_form_state()
  8. 8.8 modules/social_features/social_profile/modules/social_profile_privacy/social_profile_privacy.module \social_profile_privacy_get_field_groups_for_form_state()

Get the list of privacy field groups enabled for the given form state.

Parameters

\Drupal\Core\Form\FormStateInterface $form_state: The form state.

\Drupal\Core\Config\ImmutableConfig $config: The config.

Return value

array|null Returns an array with the settings form id and field groups or NULL.

2 calls to social_profile_privacy_get_field_groups_for_form_state()
social_profile_privacy_form_alter in modules/social_features/social_profile/modules/social_profile_privacy/social_profile_privacy.module
Implements hook_form_alter().
social_profile_privacy_profile_form_submit in modules/social_features/social_profile/modules/social_profile_privacy/social_profile_privacy.module
Additional submit function to save settings of hidden fields.

File

modules/social_features/social_profile/modules/social_profile_privacy/social_profile_privacy.module, line 388
The Social profile privacy module file.

Code

function social_profile_privacy_get_field_groups_for_form_state(FormStateInterface $form_state, ImmutableConfig $config) {
  $storage = $form_state
    ->getStorage();
  if (isset($storage['form_display'])) {

    /** @var \Drupal\Core\Entity\Entity\EntityFormDisplay $form_display */
    $form_display = $storage['form_display'];
    $active_form_display_id = $form_display
      ->getOriginalId();
    $settings_forms = social_profile_privacy_get_settings_forms();
    foreach ($settings_forms as $settings_form_id => $settings_form) {
      if ($config
        ->get($settings_form_id) === $active_form_display_id) {
        $field_groups = $config
          ->get($settings_form_id . '_field_groups');
        if (!empty($field_groups)) {
          return [
            'settings_form_id' => $settings_form_id,
            'field_groups' => $field_groups,
          ];
        }
      }
    }
  }
  return NULL;
}