function social_profile_privacy_private_fields_list in Open Social 8.9
Same name and namespace in other branches
- 8 modules/social_features/social_profile/modules/social_profile_privacy/social_profile_privacy.module \social_profile_privacy_private_fields_list()
- 8.2 modules/social_features/social_profile/modules/social_profile_privacy/social_profile_privacy.module \social_profile_privacy_private_fields_list()
- 8.3 modules/social_features/social_profile/modules/social_profile_privacy/social_profile_privacy.module \social_profile_privacy_private_fields_list()
- 8.4 modules/social_features/social_profile/modules/social_profile_privacy/social_profile_privacy.module \social_profile_privacy_private_fields_list()
- 8.5 modules/social_features/social_profile/modules/social_profile_privacy/social_profile_privacy.module \social_profile_privacy_private_fields_list()
- 8.6 modules/social_features/social_profile/modules/social_profile_privacy/social_profile_privacy.module \social_profile_privacy_private_fields_list()
- 8.7 modules/social_features/social_profile/modules/social_profile_privacy/social_profile_privacy.module \social_profile_privacy_private_fields_list()
- 8.8 modules/social_features/social_profile/modules/social_profile_privacy/social_profile_privacy.module \social_profile_privacy_private_fields_list()
- 10.3.x modules/social_features/social_profile/modules/social_profile_privacy/social_profile_privacy.module \social_profile_privacy_private_fields_list()
- 10.0.x modules/social_features/social_profile/modules/social_profile_privacy/social_profile_privacy.module \social_profile_privacy_private_fields_list()
- 10.1.x modules/social_features/social_profile/modules/social_profile_privacy/social_profile_privacy.module \social_profile_privacy_private_fields_list()
- 10.2.x modules/social_features/social_profile/modules/social_profile_privacy/social_profile_privacy.module \social_profile_privacy_private_fields_list()
Returns fields the names that marked as hidden.
Parameters
int $uid: Identifier of a user.
Return value
array Array with the names of fields that marked as hidden.
1 call to social_profile_privacy_private_fields_list()
- social_profile_privacy_entity_field_access in modules/
social_features/ social_profile/ modules/ social_profile_privacy/ social_profile_privacy.module - Implements hook_entity_field_access().
File
- modules/
social_features/ social_profile/ modules/ social_profile_privacy/ social_profile_privacy.module, line 284 - The Social profile privacy module file.
Code
function social_profile_privacy_private_fields_list($uid) {
$fields =& drupal_static(__FUNCTION__, []);
if (isset($fields[$uid])) {
return $fields[$uid];
}
$user_data = \Drupal::service('user.data');
$values = $user_data
->get('social_profile_privacy', $uid, 'private_info');
$config = \Drupal::config('social_profile_privacy.settings');
$form_display = \Drupal::entityTypeManager()
->getStorage('entity_form_display')
->load('profile.profile.default');
if (!$form_display) {
return [];
}
$third_party_settings = $form_display
->get('third_party_settings');
$field_groups_privacy_configurable = [];
$settings_forms = social_profile_privacy_get_settings_forms();
foreach ($settings_forms as $settings_form_id => $settings) {
$field_groups_in_settings_form = $config
->get($settings_form_id . '_field_groups');
if ($field_groups_in_settings_form !== NULL) {
foreach ($field_groups_in_settings_form as $field_group_id => $field_group_value) {
if ($field_group_value != FALSE) {
$field_groups_privacy_configurable[$field_group_id] = $field_group_value;
}
}
}
}
if (isset($third_party_settings['field_group'])) {
$fields[$uid] = [];
foreach ($third_party_settings['field_group'] as $id => $data) {
if (isset($values[$id]) && empty($values[$id])) {
// Only add field if it is enabled in one of the configurations.
if (in_array($id, $field_groups_privacy_configurable)) {
$fields[$uid] = array_merge($fields[$uid], $data['children']);
}
}
}
}
return $fields[$uid];
}