You are here

function social_group_request_preprocess_page_title 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_page_title()
  2. 10.0.x modules/social_features/social_group/modules/social_group_request/social_group_request.module \social_group_request_preprocess_page_title()
  3. 10.1.x modules/social_features/social_group/modules/social_group_request/social_group_request.module \social_group_request_preprocess_page_title()
  4. 10.2.x modules/social_features/social_group/modules/social_group_request/social_group_request.module \social_group_request_preprocess_page_title()

Implements hook_preprocess_page_title().

File

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

Code

function social_group_request_preprocess_page_title(&$variables) {
  if (\Drupal::routeMatch()
    ->getRouteName() !== 'view.group_pending_members.membership_requests') {
    return;
  }
  $group_id = \Drupal::routeMatch()
    ->getParameter('arg_0');
  if (!isset($group_id) || empty($group_id)) {
    return;
  }

  /** @var \Drupal\group\Entity\GroupInterface $group */
  $group = \Drupal::entityTypeManager()
    ->getStorage('group')
    ->load($group_id);
  if (!$group
    ->getGroupType()
    ->hasContentPlugin('group_membership_request')) {
    return;
  }
  $contentTypeConfigId = $group
    ->getGroupType()
    ->getContentPlugin('group_membership_request')
    ->getContentTypeConfigId();
  $requests = \Drupal::entityQuery('group_content')
    ->condition('type', $contentTypeConfigId)
    ->condition('gid', $group
    ->id())
    ->condition('grequest_status', GroupMembershipRequest::REQUEST_PENDING)
    ->count()
    ->execute();
  $title_singular = '1 membership request to group: :group_title';
  $title_multiple = '@count membership requests to group: :group_title';
  $variables['title'] = \Drupal::translation()
    ->formatPlural($requests, $title_singular, $title_multiple, [
    ':group_title' => $group
      ->label(),
  ]);
  $variables['#cache']['tags'][] = 'request-membership:' . $group
    ->id();
}