You are here

function varbase_tour_page_top in Varbase Core 8.6

Same name and namespace in other branches
  1. 8.8 modules/varbase_tour/varbase_tour.module \varbase_tour_page_top()
  2. 8.4 modules/varbase_tour/varbase_tour.module \varbase_tour_page_top()
  3. 8.5 modules/varbase_tour/varbase_tour.module \varbase_tour_page_top()
  4. 8.7 modules/varbase_tour/varbase_tour.module \varbase_tour_page_top()
  5. 9.0.x modules/varbase_tour/varbase_tour.module \varbase_tour_page_top()

Implements hook_page_top().

File

modules/varbase_tour/varbase_tour.module, line 60
Contains varbase_tour.module.

Code

function varbase_tour_page_top(array &$page_top) {

  // Given that the current user is a logged in user.
  if (\Drupal::currentUser()
    ->isAuthenticated()) {

    // And the current page is the front page.
    if (\Drupal::service('path.matcher')
      ->isFrontPage()) {
      $query_welcome = \Drupal::request()->query
        ->get('welcome');
      if (isset($query_welcome)) {
        $varbase_tour_config = \Drupal::service('config.factory')
          ->getEditable('varbase_core.general_settings');

        // When we do have "/?welcome" is in the URL address for the front page.
        if ($query_welcome != 'done') {

          // And the "welcome status" checkbox config is checked.
          $welcome_status = $varbase_tour_config
            ->get('welcome_status');
          if (isset($welcome_status) && $welcome_status == 1) {
            $page_top['welcome_modal'] = [
              '#type' => 'container',
              '#theme' => 'welcome_modal',
              '#access' => \Drupal::currentUser()
                ->isAuthenticated(),
              '#cache' => [
                'keys' => [
                  'varbase_core',
                ],
                'contexts' => [
                  'user.permissions',
                ],
              ],
            ];
          }
        }
      }
    }
  }
}