You are here

function social_group_preprocess_field in Open Social 8.9

Same name and namespace in other branches
  1. 10.3.x modules/social_features/social_group/social_group.module \social_group_preprocess_field()
  2. 10.0.x modules/social_features/social_group/social_group.module \social_group_preprocess_field()
  3. 10.1.x modules/social_features/social_group/social_group.module \social_group_preprocess_field()
  4. 10.2.x modules/social_features/social_group/social_group.module \social_group_preprocess_field()

Implements hook_preprocess_field().

File

modules/social_features/social_group/social_group.module, line 2298
The Social group module.

Code

function social_group_preprocess_field(&$variables) {
  $formatter = $variables['element']['#formatter'];
  if (in_array($formatter, [
    'address_plain',
    'address_default',
  ])) {
    $entity = $variables['element']['#object'];
    if ($entity && $entity instanceof GroupInterface) {
      $social_group_settings = \Drupal::config('social_group.settings');
      $address_visibility_settings = $social_group_settings
        ->get('address_visibility_settings');
      if (isset($address_visibility_settings['street_code_private']) && !empty($address_visibility_settings['street_code_private'])) {
        if (!$entity
          ->getMember(\Drupal::currentUser())) {
          switch ($formatter) {
            case 'address_plain':
              if (isset($variables['items'][0]['content']['#address_line1'])) {
                $variables['items'][0]['content']['#address_line1'] = NULL;
              }
              if (isset($variables['items'][0]['content']['#postal_code'])) {
                $variables['items'][0]['content']['#postal_code'] = NULL;
              }
              break;
            case 'address_default':
              if (isset($variables['items'][0]['content']['address_line1']['#value'])) {
                $variables['items'][0]['content']['address_line1']['#value'] = '';
              }
              if (isset($variables['items'][0]['content']['postal_code']['#value'])) {
                $variables['items'][0]['content']['postal_code']['#value'] = '';
              }
              break;
          }
        }
      }
    }
  }
}