You are here

function dismiss_page_build in Dismiss 7

Implements hook_page_build().

Using hook_init() loads the JS files needlessly on autocomplete requests, private file requests, and other non-HTML-producing Drupal boots.

File

./dismiss.module, line 36
Main module file for Dismiss

Code

function dismiss_page_build() {

  // Add Dismiss CSS
  drupal_add_css(drupal_get_path('module', 'dismiss') . '/css/dismiss.base.css');

  // Prepare JS settings
  $dismiss_scope = variable_get('dismiss_scope', DISMISS_SCOPE_DEFAULT);
  $dismiss_inline = variable_get('dismiss_inline', DISMISS_INLINE_DEFAULT);

  // If the script needs to be inlined, pull the JS file contents and add to options.
  if ($dismiss_inline == DISMISS_INLINE_DEFAULT) {
    $dismiss_code = file_get_contents(drupal_get_path('module', 'dismiss') . '/js/dismiss.js');
    $dismiss_type = 'inline';
  }
  else {
    $dismiss_code = drupal_get_path('module', 'dismiss') . '/js/dismiss.js';
    $dismiss_type = 'file';
  }

  // Add Dismiss JS
  drupal_add_js($dismiss_code, array(
    'type' => $dismiss_type,
    'scope' => $dismiss_scope,
    'every_page' => TRUE,
  ));

  // Pass fadeout value to JS
  drupal_add_js(array(
    'dismiss' => array(
      'fadeout' => variable_get('dismiss_fadeout', DISMISS_FADEOUT_DEFAULT),
    ),
  ), 'setting');
}