function social_profile_privacy_form_social_profile_admin_settings_form_alter in Open Social 8.2
Same name and namespace in other branches
- 8.9 modules/social_features/social_profile/modules/social_profile_privacy/social_profile_privacy.module \social_profile_privacy_form_social_profile_admin_settings_form_alter()
- 8 modules/social_features/social_profile/modules/social_profile_privacy/social_profile_privacy.module \social_profile_privacy_form_social_profile_admin_settings_form_alter()
- 8.3 modules/social_features/social_profile/modules/social_profile_privacy/social_profile_privacy.module \social_profile_privacy_form_social_profile_admin_settings_form_alter()
- 8.4 modules/social_features/social_profile/modules/social_profile_privacy/social_profile_privacy.module \social_profile_privacy_form_social_profile_admin_settings_form_alter()
- 8.5 modules/social_features/social_profile/modules/social_profile_privacy/social_profile_privacy.module \social_profile_privacy_form_social_profile_admin_settings_form_alter()
- 8.6 modules/social_features/social_profile/modules/social_profile_privacy/social_profile_privacy.module \social_profile_privacy_form_social_profile_admin_settings_form_alter()
- 8.7 modules/social_features/social_profile/modules/social_profile_privacy/social_profile_privacy.module \social_profile_privacy_form_social_profile_admin_settings_form_alter()
- 8.8 modules/social_features/social_profile/modules/social_profile_privacy/social_profile_privacy.module \social_profile_privacy_form_social_profile_admin_settings_form_alter()
- 10.3.x modules/social_features/social_profile/modules/social_profile_privacy/social_profile_privacy.module \social_profile_privacy_form_social_profile_admin_settings_form_alter()
- 10.0.x modules/social_features/social_profile/modules/social_profile_privacy/social_profile_privacy.module \social_profile_privacy_form_social_profile_admin_settings_form_alter()
- 10.1.x modules/social_features/social_profile/modules/social_profile_privacy/social_profile_privacy.module \social_profile_privacy_form_social_profile_admin_settings_form_alter()
- 10.2.x modules/social_features/social_profile/modules/social_profile_privacy/social_profile_privacy.module \social_profile_privacy_form_social_profile_admin_settings_form_alter()
Implements hook_form_FORM_ID_alter().
File
- modules/
social_features/ social_profile/ modules/ social_profile_privacy/ social_profile_privacy.module, line 18 - The Social profile privacy module file.
Code
function social_profile_privacy_form_social_profile_admin_settings_form_alter(&$form, FormStateInterface $form_state, $form_id) {
$config = \Drupal::config('social_profile_privacy.settings');
$form['privacy'] += [
'#prefix' => '<div id="privacy-settings">',
'#suffix' => '</div>',
];
$settings_forms = social_profile_privacy_get_settings_forms();
foreach ($settings_forms as $settings_form_id => $settings_form_config) {
$options = social_profile_privacy_form_display_options($settings_form_config['entity_type'], $settings_form_config['bundle']);
$form_display_id = $form_state
->getValue($settings_form_id, $config
->get($settings_form_id));
$form['privacy'][$settings_form_id] = [
'#type' => 'select',
'#title' => t('Privacy settings on display of @form_name', [
'@form_name' => $settings_form_config['name'],
]),
'#description' => t('Form mode on which users will be able to hide some groups of profile fields.'),
'#options' => $options,
'#empty_option' => t('- None -'),
'#ajax' => [
'callback' => 'social_profile_privacy_admin_settings_form_ajax',
'wrapper' => 'privacy-settings',
],
'#default_value' => $form_display_id,
];
if ($form_display_id) {
$form['privacy'][$settings_form_id . '_field_groups']['groups'] = [
'#type' => 'fieldset',
'#title' => t('Field groups'),
'#description' => t('Profile field groups which users will be able to hide.'),
'#tree' => TRUE,
'#access' => !empty($form_display_id),
];
$field_group_options = social_profile_privacy_form_field_group_options();
if (!empty($field_group_options)) {
$form['privacy'][$settings_form_id . '_field_groups']['groups'][$settings_form_id . '_field_groups'] = [
'#type' => 'checkboxes',
'#options' => $field_group_options,
'#default_value' => $config
->get($settings_form_id) ? $config
->get($settings_form_id . '_field_groups') : [],
];
}
else {
$form['privacy'][$settings_form_id . '_field_groups']['groups']['empty'] = [
'#type' => 'item',
'#markup' => t("This form mode doesn't contain any field groups."),
];
}
$form['privacy'][$settings_form_id . '_disclaimer'] = [
'#type' => 'fieldset',
'#title' => t('Disclaimer'),
'#description' => t('Fieldset with this title and text will be displayed in the profile form.'),
'#tree' => TRUE,
];
$form['privacy'][$settings_form_id . '_disclaimer']['title'] = [
'#type' => 'textfield',
'#title' => t('Title'),
'#default_value' => $config
->get($settings_form_id . '_disclaimer.title'),
];
$form['privacy'][$settings_form_id . '_disclaimer']['text'] = [
'#type' => 'text_format',
'#default_value' => $config
->get($settings_form_id . '_disclaimer.text.value'),
'#format' => $config
->get($settings_form_id . '_disclaimer.text.format'),
];
}
}
$form['#submit'][] = 'social_profile_privacy_admin_settings_form_submit';
}