You are here

function fancybox_activate in fancyBox 7

Same name and namespace in other branches
  1. 6 fancybox.module \fancybox_activate()

Include the Fancybox JS.

2 calls to fancybox_activate()
fancybox_field_formatter_view in ./fancybox.module
Implements hook_field_formatter_view().
fancybox_init in ./fancybox.module
Implementation of hook_init().

File

./fancybox.module, line 86
Provides the Fancybox jQuery plugin for displaying images, HTML content and multimedia in an elegant box.

Code

function fancybox_activate($settings = NULL) {
  static $active = FALSE;
  if (!$active) {
    if ($settings == NULL) {
      $settings = variable_get('fancybox_settings', array());
    }

    // Add Fancybox files.
    $path = libraries_get_path('fancybox') . '/' . 'fancybox' . '/';
    $files = variable_get('fancybox_files', array());

    // TODO: add easing

    //drupal_add_js($path .'jquery.easing-1.3.pack.js');
    drupal_add_css($path . $files['css']);
    drupal_add_js($path . $files['js']);

    // Check for empty settings
    if (empty($settings['options'])) {
      $settings['options'] = array();
    }
    if (empty($settings['activation']['selector'])) {
      $settings['activation'] = array();
      $settings['activation']['selector'] = '';
    }

    // prep settings for exposure (by removing empty options)
    $settings['options'] = array_filter($settings['options'], 'strlen');

    // Expose settings to the DOM.
    $exposed_settings['options'] = $settings['options'];
    $exposed_settings['selector'] = $settings['activation']['selector'];
    drupal_add_js(array(
      'fancybox' => $exposed_settings,
    ), 'setting');

    // Initialize Fancybox.
    drupal_add_js(drupal_get_path('module', 'fancybox') . '/js/fancybox.js');
    $active = TRUE;
  }
}