You are here

function modal_page_preprocess_html in Modal 5.0.x

Same name and namespace in other branches
  1. 8.3 modal_page.module \modal_page_preprocess_html()
  2. 8 modal_page.module \modal_page_preprocess_html()
  3. 8.2 modal_page.module \modal_page_preprocess_html()
  4. 4.0.x modal_page.module \modal_page_preprocess_html()
  5. 4.1.x modal_page.module \modal_page_preprocess_html()

Implements hook_preprocess_html().

File

./modal_page.module, line 77
Main file for the Modal Page.

Code

function modal_page_preprocess_html(&$variables) {
  $modalToShow = \Drupal::service('modal_page.modals')
    ->checkModalToShow();
  if ($modalToShow) {
    $doNotShowAgain = FALSE;
    if (!empty($modalToShow['do_not_show_again'])) {
      $doNotShowAgain = $modalToShow['do_not_show_again'];
    }
    $title = $modalToShow['title'];
    $text = $modalToShow['text'];
    $delayDisplay = $modalToShow['delay_display'];
    $modalSize = $modalToShow['modal_size'];
    $button = $modalToShow['button'];
    $id = $modalToShow['id'];
    $openModalOnElementClick = $modalToShow['open_modal_on_element_click'];
    $autoOpen = $modalToShow['auto_open'];
    $closeModalEscKey = $modalToShow['close_modal_esc_key'];
    $closeModalClickingOutside = $modalToShow['close_modal_clicking_outside'];
    $variables['page_top']['slidedown_templates'] = [
      '#theme' => 'modal_page_modal',
      '#do_not_show_again' => $doNotShowAgain,
      '#title' => $title,
      '#text' => $text,
      '#delay_display' => $delayDisplay,
      '#modal_size' => $modalSize,
      '#button' => $button,
      '#id' => $id,
      '#close_modal_esc_key' => $closeModalEscKey,
      '#close_modal_clicking_outside' => $closeModalClickingOutside,
    ];
    $variables['#attached']['drupalSettings']['modal_page']['open_modal_on_element_click'] = $openModalOnElementClick;
    $variables['#attached']['drupalSettings']['modal_page']['auto_open'] = $autoOpen;
    if (isset($modalToShow['do_not_show_again']) && !empty($modalToShow['do_not_show_again'])) {
      $variables['page_top']['slidedown_templates']['#do_not_show_again'] = $modalToShow['do_not_show_again'];
    }
  }
}