function social_profile_form_user_form_alter in Open Social 8.3
Same name and namespace in other branches
- 8.9 modules/social_features/social_profile/social_profile.module \social_profile_form_user_form_alter()
- 8 modules/social_features/social_profile/social_profile.module \social_profile_form_user_form_alter()
- 8.2 modules/social_features/social_profile/social_profile.module \social_profile_form_user_form_alter()
- 8.4 modules/social_features/social_profile/social_profile.module \social_profile_form_user_form_alter()
- 8.5 modules/social_features/social_profile/social_profile.module \social_profile_form_user_form_alter()
- 8.6 modules/social_features/social_profile/social_profile.module \social_profile_form_user_form_alter()
- 8.7 modules/social_features/social_profile/social_profile.module \social_profile_form_user_form_alter()
- 8.8 modules/social_features/social_profile/social_profile.module \social_profile_form_user_form_alter()
- 10.3.x modules/social_features/social_profile/social_profile.module \social_profile_form_user_form_alter()
- 10.0.x modules/social_features/social_profile/social_profile.module \social_profile_form_user_form_alter()
- 10.1.x modules/social_features/social_profile/social_profile.module \social_profile_form_user_form_alter()
- 10.2.x modules/social_features/social_profile/social_profile.module \social_profile_form_user_form_alter()
Implements hook_form_FORM_ID_alter() for user_form().
File
- modules/
social_features/ social_profile/ social_profile.module, line 440 - The Social profile module.
Code
function social_profile_form_user_form_alter(&$form, FormStateInterface $form_state) {
$profile = _social_profile_get_profile_from_route();
if ($profile instanceof Profile) {
if (isset($profile->field_profile_show_email)) {
// Check what the global value is.
$global_show_email = \Drupal::config('social_profile.settings')
->get('social_profile_show_email');
// Account value.
$show_email = $profile->field_profile_show_email->value;
$form['profile_privacy'] = [
'#type' => 'fieldset',
'#title' => t('Privacy settings'),
'#tree' => TRUE,
];
$form['profile_privacy']['social_profile_show_email'] = [
'#type' => 'checkbox',
'#title' => t('Show my email on my profile'),
'#default_value' => $show_email,
'#attributes' => [
'data-switch' => TRUE,
],
];
// If global setting is set, disable the setting and give a reason why.
if ($global_show_email == TRUE) {
$form['profile_privacy']['social_profile_show_email']['#disabled'] = TRUE;
$form['profile_privacy']['social_profile_show_email']['#value'] = TRUE;
$form['profile_privacy']['social_profile_show_email']['#description'] = t('This setting is currently being controlled by a platform wide setting and cannot be changed. Please contact a sitemanager if you have questions.');
}
else {
// Submit function only when the data is actually editable.
$form['actions']['submit']['#submit'][] = '_social_profile_form_user_form_submit';
}
}
}
$form['#pre_render'][] = '_social_profile_form_pre_render';
}