You are here

function tour_page_bottom in Drupal 9

Same name and namespace in other branches
  1. 8 core/modules/tour/tour.module \tour_page_bottom()

Implements hook_page_bottom().

File

core/modules/tour/tour.module, line 77
Main functions of the module.

Code

function tour_page_bottom(array &$page_bottom) {
  if (!\Drupal::currentUser()
    ->hasPermission('access tour')) {
    return;
  }

  // Load all of the items and match on route name.
  $route_match = \Drupal::routeMatch();
  $route_name = $route_match
    ->getRouteName();
  $results = \Drupal::entityQuery('tour')
    ->condition('routes.*.route_name', $route_name)
    ->execute();
  if (!empty($results) && ($tours = Tour::loadMultiple(array_keys($results)))) {
    foreach ($tours as $id => $tour) {

      // Match on params.
      if (!$tour
        ->hasMatchingRoute($route_name, $route_match
        ->getRawParameters()
        ->all())) {
        unset($tours[$id]);
      }
    }
    if (!empty($tours)) {
      $page_bottom['tour'] = \Drupal::entityTypeManager()
        ->getViewBuilder('tour')
        ->viewMultiple($tours, 'full');
    }
  }
}