function social_profile_fields_entity_field_access in Open Social 8.9
Same name and namespace in other branches
- 8.2 modules/social_features/social_profile/modules/social_profile_fields/social_profile_fields.module \social_profile_fields_entity_field_access()
- 8.3 modules/social_features/social_profile/modules/social_profile_fields/social_profile_fields.module \social_profile_fields_entity_field_access()
- 8.4 modules/social_features/social_profile/modules/social_profile_fields/social_profile_fields.module \social_profile_fields_entity_field_access()
- 8.5 modules/social_features/social_profile/modules/social_profile_fields/social_profile_fields.module \social_profile_fields_entity_field_access()
- 8.6 modules/social_features/social_profile/modules/social_profile_fields/social_profile_fields.module \social_profile_fields_entity_field_access()
- 8.7 modules/social_features/social_profile/modules/social_profile_fields/social_profile_fields.module \social_profile_fields_entity_field_access()
- 8.8 modules/social_features/social_profile/modules/social_profile_fields/social_profile_fields.module \social_profile_fields_entity_field_access()
- 10.3.x modules/social_features/social_profile/modules/social_profile_fields/social_profile_fields.module \social_profile_fields_entity_field_access()
- 10.0.x modules/social_features/social_profile/modules/social_profile_fields/social_profile_fields.module \social_profile_fields_entity_field_access()
- 10.1.x modules/social_features/social_profile/modules/social_profile_fields/social_profile_fields.module \social_profile_fields_entity_field_access()
- 10.2.x modules/social_features/social_profile/modules/social_profile_fields/social_profile_fields.module \social_profile_fields_entity_field_access()
Implements hook_entity_field_access().
File
- modules/
social_features/ social_profile/ modules/ social_profile_fields/ social_profile_fields.module, line 21 - The social profile fields module file.
Code
function social_profile_fields_entity_field_access($operation, FieldDefinitionInterface $field_definition, AccountInterface $account, FieldItemListInterface $items = NULL) {
// By default, we return Switzerland.
$access_result = AccessResult::neutral();
if ($field_definition
->getTargetEntityTypeId() === 'profile') {
$config = \Drupal::config('social_profile_fields.settings');
$setting_name = $field_definition
->getTargetEntityTypeId() . '_' . $field_definition
->getTargetBundle() . '_' . $field_definition
->getName();
$setting_value = $config
->get($setting_name);
if (isset($setting_value) && !$setting_value) {
// For the profile image field we have an exception. We'll fix it before
// display.
if ($setting_name === 'profile_profile_field_profile_image' && $operation === 'view') {
$access_result = AccessResult::neutral();
}
else {
$access_result = AccessResult::forbidden();
}
}
}
return $access_result;
}