You are here

function social_event_tokens in Open Social 8.9

Same name and namespace in other branches
  1. 8.4 modules/social_features/social_event/social_event.tokens.inc \social_event_tokens()
  2. 8.5 modules/social_features/social_event/social_event.tokens.inc \social_event_tokens()
  3. 8.6 modules/social_features/social_event/social_event.tokens.inc \social_event_tokens()
  4. 8.7 modules/social_features/social_event/social_event.tokens.inc \social_event_tokens()
  5. 8.8 modules/social_features/social_event/social_event.tokens.inc \social_event_tokens()
  6. 10.3.x modules/social_features/social_event/social_event.tokens.inc \social_event_tokens()
  7. 10.0.x modules/social_features/social_event/social_event.tokens.inc \social_event_tokens()
  8. 10.1.x modules/social_features/social_event/social_event.tokens.inc \social_event_tokens()
  9. 10.2.x modules/social_features/social_event/social_event.tokens.inc \social_event_tokens()

Implements hook_tokens().

File

modules/social_features/social_event/social_event.tokens.inc, line 48
Builds placeholder replacement tokens for Social Event module.

Code

function social_event_tokens($type, $tokens, array $data, array $options, BubbleableMetadata $bubbleable_metadata) {
  $replacements = [];
  if ($type === 'social_event' && !empty($data['message'])) {
    foreach ($tokens as $name => $original) {
      switch ($name) {
        case 'event_iam_organizing':
          $enrollment = $data['message']
            ->getFieldValue('field_message_related_object', 'target_id');
          if (!empty($enrollment)) {
            $link = get_link_to_event_from_enrollment($enrollment, FALSE);
            if ($link !== NULL) {
              $replacements[$original] = $link;
            }
          }
          break;
        case 'enrolled_event_url':
          $enrollment = $data['message']
            ->getFieldValue('field_message_related_object', 'target_id');
          if (!empty($enrollment)) {
            $link = get_link_to_event_from_enrollment($enrollment, TRUE);
            if ($link !== NULL) {
              $replacements[$original] = $link;
            }
          }
          break;
        case 'enrolled_user':
          $id = $data['message']
            ->getFieldValue('field_message_related_object', 'target_id');
          if (!empty($id)) {
            $enrollment_name = get_name_from_enrollment($id);
            if ($enrollment_name !== NULL) {
              $replacements[$original] = $enrollment_name;
            }
          }
          break;
      }
    }
  }
  return $replacements;
}