You are here

function social_group_request_preprocess_activity in Open Social 8.9

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

Implements hook_preprocess_activity().

File

modules/social_features/social_group/modules/social_group_request/social_group_request.module, line 290
Primary module hooks for social_group_request module.

Code

function social_group_request_preprocess_activity(array &$variables) {

  /** @var \Drupal\activity_creator\ActivityInterface $activity */
  $activity = $variables['elements']['#activity'];
  if (!$activity
    ->get('field_activity_message')
    ->isEmpty()) {

    /** @var \Drupal\message\MessageInterface $message */
    $message = $activity->field_activity_message->entity;
    if (!$message
      ->get('template')
      ->isEmpty()) {
      $message_template = $message->template->target_id;
      if ($message_template === 'request_to_join_a_group') {
        $activity_entity = $activity
          ->getRelatedEntity();
        if ($activity_entity instanceof GroupContentInterface) {
          $variables['full_url'] = Url::fromRoute('view.group_pending_members.membership_requests', [
            'arg_0' => $activity_entity
              ->getGroup()
              ->id(),
          ]);
        }
      }
      if ($message_template === 'approve_request_join_group') {
        $activity_entity = $activity
          ->getRelatedEntity();
        if ($activity_entity instanceof GroupContentInterface) {
          $variables['full_url'] = Url::fromRoute('social_group.stream', [
            'group' => $activity_entity
              ->getGroup()
              ->id(),
          ]);
        }
      }
    }
  }
}