You are here

function social_profile_privacy_admin_settings_form_submit in Open Social 10.3.x

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

The submit function for social_profile_admin_settings_form().

To save configuration of fields groups available to hiding.

1 string reference to 'social_profile_privacy_admin_settings_form_submit'
social_profile_privacy_form_social_profile_admin_settings_form_alter in modules/social_features/social_profile/modules/social_profile_privacy/social_profile_privacy.module
Implements hook_form_FORM_ID_alter().

File

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

Code

function social_profile_privacy_admin_settings_form_submit($form, FormStateInterface $form_state) {
  $config = \Drupal::configFactory()
    ->getEditable('social_profile_privacy.settings');
  $config
    ->set('limit_search_and_mention', $form_state
    ->getValue('limit_search_and_mention'));
  $fields = $form_state
    ->getValue('fields');
  $config
    ->set('disclaimer', $fields['disclaimer']);
  unset($fields['disclaimer'], $fields['list']);

  // An array with fields, visibility settings that have been changed.
  $updated_fields = [];
  foreach ($fields as $field => $state) {
    if ($state !== '') {

      // Check if field settings have been changed.
      $current_value = $config
        ->get('fields.' . $field);
      if (is_null($current_value) || (int) $current_value !== (int) $state) {
        $updated_fields[] = $field;
      }
      $config
        ->set('fields.' . $field, $state);
    }
  }
  $config
    ->save();

  // We need to get Profile name fields.
  $account_name_fields = SocialProfileNameService::getProfileNameFields();

  // If at least one field setting of the Profile name has been updated we need
  // to update all profiles.
  if (array_intersect($account_name_fields, $updated_fields)) {
    SocialProfilePrivacyBatchHelper::bulkUpdateProfileNames();
  }
}