You are here

function social_group_invite_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_invite/social_group_invite.module \social_group_invite_preprocess_page_title()
  2. 10.0.x modules/social_features/social_group/modules/social_group_invite/social_group_invite.module \social_group_invite_preprocess_page_title()
  3. 10.1.x modules/social_features/social_group/modules/social_group_invite/social_group_invite.module \social_group_invite_preprocess_page_title()
  4. 10.2.x modules/social_features/social_group/modules/social_group_invite/social_group_invite.module \social_group_invite_preprocess_page_title()

Implements hook_preprocess_HOOK().

File

modules/social_features/social_group/modules/social_group_invite/social_group_invite.module, line 289
The Social Invite group module.

Code

function social_group_invite_preprocess_page_title(&$variables) {

  // Add count of pending invites to the page title for a group.
  if (\Drupal::routeMatch()
    ->getParameter('view_id') === 'social_group_invitations' && !empty(\Drupal::routeMatch()
    ->getParameter('group'))) {
    $group = _social_group_get_current_group();
    if (!empty($group
      ->label())) {
      $loader = \Drupal::service('ginvite.invitation_loader');
      $count = count($loader
        ->loadByProperties([
        'gid' => $group
          ->id(),
      ]));
      $title = \Drupal::translation()
        ->formatPlural($count, '1 membership invite for group: @group_name', '@count membership invites for group: @group_name', [
        '@group_name' => $group
          ->label(),
      ]);
      $variables['title'] = $title;
      $variables['#cache']['tags'][] = 'group_content_list:group:' . $group
        ->id();
      $variables['#cache']['tags'][] = 'group_content_list:plugin:group_invitation:group:' . $group
        ->id();
    }
  }

  // Add count of pending invites to the page title for a user.
  if (\Drupal::routeMatch()
    ->getParameter('view_id') === 'social_group_user_invitations' && !empty(\Drupal::routeMatch()
    ->getParameter('user'))) {
    $loader = \Drupal::service('ginvite.invitation_loader');
    $count = count($loader
      ->loadByUser());
    $translation = \Drupal::translation()
      ->formatPlural($count, '1 group invite', '@count group invites');
    $variables['title'] = $translation;
    $user = \Drupal::routeMatch()
      ->getParameter('user');
    if (is_string($user)) {
      $variables['#cache']['tags'][] = 'group_content_list:entity:' . $user;
      $variables['#cache']['tags'][] = 'group_content_list:plugin:group_invitation:entity:' . $user;
    }
  }
}