You are here

function social_event_max_enroll_preprocess_page_hero_data in Open Social 8.6

Same name and namespace in other branches
  1. 8.9 modules/social_features/social_event/modules/social_event_max_enroll/social_event_max_enroll.module \social_event_max_enroll_preprocess_page_hero_data()
  2. 8.5 modules/social_features/social_event/modules/social_event_max_enroll/social_event_max_enroll.module \social_event_max_enroll_preprocess_page_hero_data()
  3. 8.7 modules/social_features/social_event/modules/social_event_max_enroll/social_event_max_enroll.module \social_event_max_enroll_preprocess_page_hero_data()
  4. 8.8 modules/social_features/social_event/modules/social_event_max_enroll/social_event_max_enroll.module \social_event_max_enroll_preprocess_page_hero_data()
  5. 10.3.x modules/social_features/social_event/modules/social_event_max_enroll/social_event_max_enroll.module \social_event_max_enroll_preprocess_page_hero_data()
  6. 10.0.x modules/social_features/social_event/modules/social_event_max_enroll/social_event_max_enroll.module \social_event_max_enroll_preprocess_page_hero_data()
  7. 10.1.x modules/social_features/social_event/modules/social_event_max_enroll/social_event_max_enroll.module \social_event_max_enroll_preprocess_page_hero_data()
  8. 10.2.x modules/social_features/social_event/modules/social_event_max_enroll/social_event_max_enroll.module \social_event_max_enroll_preprocess_page_hero_data()

Override variables for the social page hero data.

File

modules/social_features/social_event/modules/social_event_max_enroll/social_event_max_enroll.module, line 142
The Social Event Max Enroll module.

Code

function social_event_max_enroll_preprocess_page_hero_data(array &$variables) {
  $event_max_enroll_service = \Drupal::service('social_event_max_enroll.service');
  $node = $variables['node'];

  // Add spots left counter to the hero block.
  if ($event_max_enroll_service
    ->isEnabled($node)) {
    $total = $event_max_enroll_service
      ->getEnrollmentsNumber($node);
    $left = $event_max_enroll_service
      ->getEnrollmentsLeft($node);

    // Get the string for how many spots are left.
    $spots_left = \Drupal::translation()
      ->formatPlural($left, '(1 spot left)', '(@count spots left)');

    // Combine and display the amount people who enrolled and the spots left
    // strings.
    $variables['title_suffix'] = \Drupal::translation()
      ->formatPlural($total, '@total person has enrolled @spots_left', '@total people have enrolled @spots_left', [
      '@total' => $total,
      '@spots_left' => $spots_left,
    ]);
  }
}