function _social_profile_privacy_fields_submit in Open Social 10.0.x
Same name and namespace in other branches
- 10.3.x modules/social_features/social_profile/modules/social_profile_privacy/social_profile_privacy.module \_social_profile_privacy_fields_submit()
- 10.1.x modules/social_features/social_profile/modules/social_profile_privacy/social_profile_privacy.module \_social_profile_privacy_fields_submit()
- 10.2.x modules/social_features/social_profile/modules/social_profile_privacy/social_profile_privacy.module \_social_profile_privacy_fields_submit()
Save fields visibility options for a user.
1 string reference to '_social_profile_privacy_fields_submit'
- social_profile_privacy_form_user_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 204 - The Social profile privacy module file.
Code
function _social_profile_privacy_fields_submit($form, FormStateInterface $form_state) {
/** @var \Drupal\user\UserDataInterface $user_data */
$user_data = \Drupal::service('user.data');
$uid = $form_state
->get('account_id');
$values = (array) $user_data
->get('social_profile_privacy', $uid, 'fields');
foreach ($form_state
->getValue([
'profile_privacy',
'fields',
]) as $field => $value) {
if (!$form['profile_privacy']['fields'][$field]['#disabled']) {
$values[$field] = $value;
}
}
$user_data
->set('social_profile_privacy', $uid, 'fields', $values);
$tags = [
'user:' . $uid,
];
$profiles = \Drupal::entityQuery('profile')
->condition('uid', $uid)
->execute();
if ($profiles) {
$profile = reset($profiles);
$tags[] = 'profile:' . $profile;
$tags[] = 'entity_view:profile:' . $profile;
}
\Drupal::service('cache_tags.invalidator')
->invalidateTags($tags);
}