You are here

function _social_profile_form_user_form_submit 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_user_form_submit()
  2. 8.2 modules/social_features/social_profile/social_profile.module \_social_profile_form_user_form_submit()
  3. 8.3 modules/social_features/social_profile/social_profile.module \_social_profile_form_user_form_submit()
  4. 8.4 modules/social_features/social_profile/social_profile.module \_social_profile_form_user_form_submit()
  5. 8.5 modules/social_features/social_profile/social_profile.module \_social_profile_form_user_form_submit()
  6. 8.6 modules/social_features/social_profile/social_profile.module \_social_profile_form_user_form_submit()
  7. 8.7 modules/social_features/social_profile/social_profile.module \_social_profile_form_user_form_submit()
  8. 8.8 modules/social_features/social_profile/social_profile.module \_social_profile_form_user_form_submit()
  9. 10.3.x modules/social_features/social_profile/social_profile.module \_social_profile_form_user_form_submit()
  10. 10.0.x modules/social_features/social_profile/social_profile.module \_social_profile_form_user_form_submit()
  11. 10.1.x modules/social_features/social_profile/social_profile.module \_social_profile_form_user_form_submit()
  12. 10.2.x modules/social_features/social_profile/social_profile.module \_social_profile_form_user_form_submit()

Form submit for user_form.

Parameters

array $form: Commnent on a post form.

\Drupal\Core\Form\FormStateInterface $form_state: Form state interface.

1 string reference to '_social_profile_form_user_form_submit'
social_profile_form_user_form_alter in modules/social_features/social_profile/social_profile.module
Implements hook_form_FORM_ID_alter() for user_form().

File

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

Code

function _social_profile_form_user_form_submit(array $form, FormStateInterface $form_state) {
  $profile = _social_profile_get_profile_from_route();
  $profile_privacy = $form_state
    ->getValue('profile_privacy');
  if ($profile instanceof Profile) {
    if (isset($profile->field_profile_show_email)) {
      $profile->field_profile_show_email->value = $profile_privacy['social_profile_show_email'];
      $profile
        ->save();
    }
    $uid = $profile
      ->get('uid')->target_id;

    // Save language info in the user data.
    // @TODO: Move privacy settings to a separate entity.
    $user_data = \Drupal::service('user.data');
    $user_data
      ->set('social_profile_privacy', $uid, 'lang_info', $profile_privacy['social_profile_show_language']);

    // Invalidate profile cache tags.
    Cache::invalidateTags([
      'profile:' . $uid,
    ]);
  }
}